Esempio n. 1
0
class UserModel(BaseMixin, db.Model):
    """ User Model for storing user details """
    __tablename__ = 'users'

    username = db.Column(db.String(120), unique=True, nullable=False)
    password = db.Column(db.String(120), nullable=False)
    access = db.Column(db.Integer)

    def is_admin(self):
        return self.access == ACCESS['admin']

    def allowed(self, access_level):
        return self.access >= access_level

    @staticmethod
    def generate_hash(password):
        return sha256.hash(password)

    @staticmethod
    def verify_hash(password, hash):
        return sha256.verify(password, hash)

    @classmethod
    def find_by_username(cls, username):
        return cls.query.filter_by(username=username).first()

    def __repr__(self):
        return "<User '{}'>".format(self.username)
Esempio n. 2
0
class BrandModel(UserMixin, db.Model):
    """ Brand Model for sorting Brand details """

    __tablename__ = 'brands'

    name = db.Column(db.String(120), unique=True, nullable=False)
    description = db.Column(db.String(120))
    website = db.Column(db.String(120))
    products = db.relationship('ProductModel', backref='brand')

    def __repr__(self):
        return "<Brand '{}'>".format(self.name)
Esempio n. 3
0
class TokenBlacklist(db.Model):

    jti = db.Column(db.String(36), nullable=False)
    token_type = db.Column(db.String(10), nullable=False)
    user_identity = db.Column(db.String(50), nullable=False)
    revoked = db.Column(db.Boolean, nullable=False)
    expires = db.Column(db.DateTime, nullable=False)

    def to_dict(self):
        return {
            'token_id': self.id,
            'jti': self.jti,
            'token_type': self.token_type,
            'user_identity': self.user_identity,
            'revoked': self.revoked,
            'expires': self.expires
        }
class Project(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False, unique=True)
    description = db.Column(db.String(200), nullable=False)
    completed = db.Column(db.Boolean)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user_stories = db.Column(db.String(100))
    actions = db.relationship('Action', backref='project')
Esempio n. 5
0
class ProductModel(UserMixin, db.Model):

    """ Product Model for storing product details """

    __tablename__ = 'products'

    name = db.Column(db.String(120), unique=True, nullable=False)
    partNumber = db.Column(db.String(120))
    status = db.Column(db.Boolean)
    weight = db.Column(db.Float)
    url = db.Column(db.String(120))
    description = db.Column(db.String(120))

    brand_id = db.Column(db.Integer, db.ForeignKey('brands.id'))

    def __repr__(self):
        return "<Product '{}'>".format(self.name)
class Action(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    project_id = db.Column(db.Integer, db.ForeignKey('project.id'))
    description = db.Column(db.String(200), nullable=False)
    note = db.Column(db.String(250), nullable=False)
class User(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    password = db.Column(db.String(100), nullable=False)
    projects = db.relationship('Project', backref='author')