from kontor.extensions import db from sqlalchemy.sql import func class User(db.Model): # __table__ = db.metadata.tables["publisher"] __tablename__ = "user" __table_args__ = {'extend_existing': True} id = db.Column(db.String, primary_key=True) created_date = db.Column(db.DateTime(timezone=True), server_default=func.now()) last_modified_date = db.Column(db.DateTime(timezone=True), server_default=func.now()) version = db.Column(db.Integer) enabled = db.Column(db.SmallInteger) email = db.Column(db.String) first_name = db.Column(db.String) last_name = db.Column(db.String) user_name = db.Column(db.String) password = db.Column(db.String) token = db.Column(db.String) token_expired = db.Column(db.SmallInteger) def is_token_valid(self): return self.review == 'b\x01' def is_user_enabled(self): return self.should_download == 'b\x01' class Role(db.Model): __tablename__ = "role" __table_args__ = {'extend_existing': True} id = db.Column(db.String, primary_key=True) created_date = db.Column(db.DateTime(timezone=True), server_default=func.now()) last_modified_date = db.Column(db.DateTime(timezone=True), server_default=func.now()) version = db.Column(db.Integer) name = db.Column(db.String) class AuthorizationMatrix(db.Model): __tablename__ = "authorization_matrix" __table_args__ = {'extend_existing': True} id = db.Column(db.String, primary_key=True) created_date = db.Column(db.DateTime(timezone=True), server_default=func.now()) last_modified_date = db.Column(db.DateTime(timezone=True), server_default=func.now()) version = db.Column(db.Integer) role_id = db.Column(db.String, db.ForeignKey("role.id")) user_id = db.Column(db.String, db.ForeignKey("user.id"))