Пример #1
0
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),
        }
Пример #3
0
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)
        }
Пример #4
0
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,
        }
Пример #5
0
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,
        }