class Pending_register(db.Model, TimestampMixin): __tablename__ = 'pending_registers' def __init__(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) username = db.Column(db.String(20), primary_key=True) email = db.Column(db.String(100), nullable=False, unique=True) fullname = db.Column(db.String(100), nullable=False) password = db.Column(db.String(256)) def to_dict(self): return { 'username': self.username, 'email': self.email, 'fullname': self.fullname, 'password': self.password, 'created_at': self.created_at, } def to_display_dict(self): return { 'username': self.username, 'email': self.email, 'fullname': self.fullname, }
class Notification(db.Model, TimestampMixin): __tablename__ = 'notifications' def __init__(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) viewed = db.Column(db.Boolean, nullable=False) owner = db.Column(db.Integer, nullable=False) file_id = db.Column(db.String(512), nullable=False) def to_dict(self): from file_management.repositories.files import utils from file_management.repositories.user import find_one_by_user_id file = utils.get_file(self.file_id) if not file: return None owner = find_one_by_user_id(self.owner) return { 'id': self.id, 'viewed': self.viewed, 'file_id': self.file_id, 'file_title': file.get('file_title'), 'file_type': file.get('file_type'), 'owner': { 'id': self.owner, 'avatar_url': owner.avatar_url, 'fullname': owner.fullname }, 'created_at': datetime.timestamp(self.created_at), }
class User(db.Model, TimestampMixin): """ Contains information of users table """ __tablename__ = 'users' def __init__(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) id = db.Column(db.Integer, primary_key=True, autoincrement=True) username = db.Column(db.String(20), nullable=False, unique=True) email = db.Column(db.String(100), nullable=False, unique=True) fullname = db.Column(db.String(100), nullable=False) password = db.Column(db.String(256)) avatar_url = db.Column(db.String(256), default=link.DEFAULT_AVATAR) is_active = db.Column(db.Boolean, nullable=False, default=True) is_admin = db.Column(db.Boolean, nullable=False, default=False) last_login = db.Column(db.TIMESTAMP, nullable=False, default=datetime.datetime.now) un_block_at = db.Column(db.TIMESTAMP, nullable=True) def to_dict(self): return { 'id': self.id, 'username': self.username, 'email': self.email, 'fullname': self.fullname, 'avatarUrl': self.avatar_url, 'isAdmin': self.is_admin, 'isActive': self.is_active, 'password': self.password, } def to_display_dict(self): return { 'user_id': self.id, 'username': self.username, 'email': self.email, 'fullname': self.fullname, 'avatar_url': self.avatar_url, 'is_admin': self.is_admin, 'is_active': self.is_active, 'created_at': datetime.datetime.timestamp(self.created_at), 'updated_at': datetime.datetime.timestamp(self.updated_at) }
class Log(db.Model, TimestampMixin): __tablename__ = 'logs' def __init__(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) id = db.Column(db.Integer, primary_key=True, autoincrement=True) folder_id = db.Column(db.Integer, nullable=False) message = db.Column(db.String(512), nullable=False) def to_dict(self): return { 'id': self.id, 'file_id': self.user_id, 'created_at': self.created_at, 'message': self.message, }
class Password(db.Model, TimestampMixin): __tablename__ = 'passwords' def __init__(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, nullable=False) password = db.Column(db.String(256), nullable=False) def to_dict(self): return { 'id': self.id, 'user_id': self.user_id, 'created_at': self.created_at, 'password': self.password, }
class Notification(db.Model, TimestampMixin): __tablename__ = 'notifications' def __init__(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) id = db.Column(db.Integer, primary_key=True, autoincrement=True) db.column user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) message = db.Column(db.String(512), nullable=False) def to_dict(self): return { 'id': self.id, 'user_id': self.user_id, 'created_at': self.created_at, 'message': self.message, }