Ejemplo n.º 1
0
class TokenBlacklist(db.Model):
    __tablename__ = 'token_blacklist'

    id = db.Column(db.Integer, primary_key=True)
    jti = db.Column(db.String(36), nullable=False, unique=True)
    token_type = db.Column(db.String(10), nullable=False)
    revoked = db.Column(db.Boolean, nullable=False)
    expires = db.Column(db.DateTime, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False)

    def __repr__(self):
        return '<TokenBlacklist {}>'.format(self.user_id)
Ejemplo n.º 2
0
class User(db.Model):
    """Basic user model
    """
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(80), unique=True, nullable=False)
    password = db.Column(db.String(255), nullable=False)
    active = db.Column(db.Boolean, default=True)

    def __init__(self, **kwargs):
        super(User, self).__init__(**kwargs)
        self.password = pwd_context.hash(self.password)

    def __repr__(self):
        return "<User %s>" % self.username
Ejemplo n.º 3
0
class JsonWebToken(BaseModel):

    jti = db.Column(db.String(36), nullable=False)
    token_type = db.Column(db.Integer, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    blacklisted = db.Column(db.Boolean, nullable=False, default=False)
    expires = db.Column(db.DateTime, nullable=False)
Ejemplo n.º 4
0
Archivo: acl.py Proyecto: 13052020/cmdb
class Permission(Model):
    __tablename__ = "acl_permissions"

    name = db.Column(db.String(64), nullable=False)
    resource_type_id = db.Column(db.Integer, db.ForeignKey("acl_resource_types.id"))

    app_id = db.Column(db.Integer, db.ForeignKey("acl_apps.id"))
Ejemplo n.º 5
0
Archivo: acl.py Proyecto: 13052020/cmdb
class Resource(Model):
    __tablename__ = "acl_resources"

    name = db.Column(db.String(128), nullable=False)
    resource_type_id = db.Column(db.Integer, db.ForeignKey("acl_resource_types.id"))

    app_id = db.Column(db.Integer, db.ForeignKey("acl_apps.id"))
Ejemplo n.º 6
0
Archivo: acl.py Proyecto: 13052020/cmdb
class ResourceGroup(Model):
    __tablename__ = "acl_resource_groups"

    name = db.Column(db.String(64), index=True, nullable=False)
    resource_type_id = db.Column(db.Integer, db.ForeignKey("acl_resource_types.id"))

    app_id = db.Column(db.Integer, db.ForeignKey('acl_apps.id'))
Ejemplo n.º 7
0
class Project(db.Model):
    """
    This model holds information about a project and its admin
    """
    __tablename__ = "project"

    id = db.Column(db.Integer, primary_key=True)
    project_name = db.Column(
        db.String(80),
        nullable=False,
    )
    project_description = db.Column(db.String(128), default='Image labelling')
    admin_id = db.Column(db.Integer,
                         db.ForeignKey('user.id',
                                       ondelete="cascade",
                                       onupdate="cascade"),
                         nullable=False)
    labels = db.relationship('Label',
                             backref='project',
                             lazy=True,
                             cascade="all, save-update, delete",
                             passive_deletes=True)
    images = db.relationship('Image',
                             backref='project',
                             lazy=True,
                             cascade="all, save-update, delete",
                             passive_deletes=True)
    models = db.relationship('MLClassifier',
                             backref='project',
                             lazy=True,
                             cascade="all, save-update, delete",
                             passive_deletes=True)

    def __init__(self, project_name, project_description, admin_id):
        """
        Initializes the project instance
        """
        self.project_name = project_name
        self.project_description = project_description
        self.admin_id = admin_id

    def __repr__(self):
        """
        Returns the object reprensentation
        """
        return "<Project(project_name='%s', project_id='%s', project_description='%s')>" % (
            self.project_name, self.id, self.project_description)