profile and other stuff

This commit is contained in:
2019-08-14 16:38:03 +02:00
parent 859a5d880a
commit 9ab0d43f43
16 changed files with 297 additions and 624 deletions

View File

@@ -83,6 +83,7 @@ class User(UserMixin, db.Model):
registered_on = db.Column(db.DateTime, nullable=False, default=datetime.utcnow())
external_user = db.Column(db.Boolean, default=False)
last_seen = db.Column(db.DateTime, default=datetime.utcnow())
last_time_modified = db.Column(db.DateTime, default=datetime.utcnow())
jwt_exp_delta_seconds = db.Column(db.Integer, nullable=True)
acquainted = db.relationship('User',
secondary=acquaintances,
@@ -264,6 +265,8 @@ class User(UserMixin, db.Model):
:param password:
:return:
"""
if self.password is None:
return False
return sha256_crypt.verify(password, self.password)
def get_id(self):
@@ -375,7 +378,7 @@ class User(UserMixin, db.Model):
sort_keys=True, indent=4)
def __repr__(self):
return '<User %r>' % self.nickname
return '<User %r>' % self.email
class BlacklistToken(db.Model):
@@ -395,6 +398,10 @@ class BlacklistToken(db.Model):
def __repr__(self):
return '<id: token: {}'.format(self.token)
@staticmethod
def get_by_token(jwt_id):
return BlacklistToken.query.filter(BlacklistToken.token == jwt_id).first()
@staticmethod
def check_blacklist(auth_token):
"""
@@ -457,6 +464,20 @@ class Permission(db.Model):
back_populates='permissions')
@event.listens_for(User.__table__, 'after_create')
def insert_initial_users(*args, **kwargs):
for u in app.config.get("USERS", []):
db.session.add(User(**u))
db.session.commit()
@event.listens_for(Group.__table__, 'after_create')
def insert_initial_groups(*args, **kwargs):
for g in app.config.get("GROUPS", []):
db.session.add(Group(**g))
db.session.commit()
@event.listens_for(Permission.__table__, 'after_create')
def insert_initial_permissions(*args, **kwargs):
for p in app.config.get("PERMISSIONS", []):