class Internal(DB.Model): """Scheme versions""" uid = DB.Column(UUID, primary_key=True, default=uuid.uuid4) db_version = DB.Column(DB.Integer, nullable=False) rights_version = DB.Column(DB.Integer, nullable=False) updated_at = DB.Column(DB.DateTime())
class Rights(DB.Model): """Access rights""" name = DB.Column(DB.String(50), primary_key=True) group = DB.Column(DB.String(50), nullable=False) permission = DB.Column(DB.String(50), nullable=False) description = DB.Column(DB.String(255), nullable=False)
class User(DB.Model): """User data model""" __tablename__ = 'users' id = DB.Column(DB.Integer, primary_key=True) # pylint: disable=invalid-name steam_id = DB.Column(DB.String(50), nullable=False, unique=True) created_at = DB.Column(DB.DateTime())
class Rights(DB.Model): """Access rights""" uid = DB.Column(UUID, primary_key=True, default=uuid.uuid4) name = DB.Column(DB.String(50), nullable=False, unique=True) group = DB.Column(DB.String(50), nullable=False) permission = DB.Column(DB.String(50), nullable=False) description = DB.Column(DB.String(255), nullable=False)
class BaseModel: """ This class is BaseModel and used by all model object in our app""" id = sa.Column(sa.Integer, primary_key=True) create_at = sa.Column(sa.DateTime, server_default=sql.func.now()) update_at = sa.Column(sa.DateTime, onupdate=sql.func.now()) deleted = sa.Column(sa.Boolean, default=False) delete_at = sa.Column(sa.DateTime) def __init__(self, *args, **kwargs): super(BaseModel, self).__init__(*args, **kwargs) for data in args: for key in data: if isinstance(data[key], dict): setattr(self, key, data[key]) def from_request(self, *args): """Parsing data from request json """ for data in args: for key in data: if isinstance(data[key], dict): setattr(self, key, data[key]) def save(self): """Method to save object to database""" sa.session.add(self) sa.session.commit() def delete(self): """Method to delete object In this method just add flag deleted to data. Not remove data from database """ self.deleted = True self.delete_at = datetime.now() self.save() def restore(self): """Method to restore object In this method just set flag deleted to false to restore object. """ self.deleted = False self.delete_at = None self.save() def remove(self): """Method to remove object permanently from database""" sa.session.delete(self) sa.session.commit()
class Token(DB.Model): """Token data model""" uid = DB.Column(UUID, primary_key=True, default=uuid.uuid4) token_type = DB.Column(DB.Integer, nullable=False) created_at = DB.Column(DB.DateTime(), nullable=False) valid_until = DB.Column(DB.DateTime(), nullable=False) is_active = DB.Column(DB.Boolean(), nullable=False, server_default='1') user_uid = DB.Column(UUID, DB.ForeignKey('user.uid'), nullable=False) note = DB.Column(DB.String(20), nullable=False, server_default='') user = DB.relationship('User', back_populates='tokens', lazy='select')
class Player(DB.Model): """User data model""" uid = DB.Column(UUID, primary_key=True, default=uuid.uuid4) user_uid = DB.Column(UUID, DB.ForeignKey('user.uid'), nullable=False) steam_id = DB.Column(DB.Integer, nullable=False) name = DB.Column(DB.String(50), nullable=False, unique=True) avatar = DB.Column(DB.String(300), nullable=False, unique=True) avatar_medium = DB.Column(DB.String(300), nullable=False, unique=True) avatar_full = DB.Column(DB.String(300), nullable=False, unique=True) user = DB.relationship('User', back_populates='players', lazy='select')
class User(DB.Model): """User data model""" uid = DB.Column(UUID, primary_key=True, default=uuid.uuid4) email = DB.Column(DB.String(255), nullable=False, unique=True) password = DB.Column(DB.String(255), nullable=False, server_default='') confirmed_at = DB.Column(DB.DateTime()) gdpr_version = DB.Column(DB.Integer, nullable=False) is_active = DB.Column(DB.Boolean(), nullable=False, server_default='0')
class RoleRights(DB.Model): """Connection roles <--> rights""" uid = DB.Column(UUID, primary_key=True, default=uuid.uuid4) role = DB.Column(DB.String(50), nullable=False) rights = DB.Column(DB.String(50), nullable=False)
class Role(DB.Model): """User Roles""" name = DB.Column(DB.String(50), primary_key=True)
class User(DB.Model): user_id = DB.Column(DB.String(40), primary_key=True) first_name = DB.Column(DB.String(100)) last_name = DB.Column(DB.String(100))
class RoleRight(DB.Model): """Connection roles <--> rights""" uid = DB.Column(UUID, primary_key=True, default=uuid.uuid4) role_uid = DB.Column(UUID, nullable=False, unique=True) right_uid = DB.Column(UUID, nullable=False, unique=True)
class UserRole(DB.Model): """User Roles""" uid = DB.Column(UUID, primary_key=True, default=uuid.uuid4) name = DB.Column(DB.String(50), nullable=False, unique=True)