예제 #1
0
class Buyer(db.Model):
    # purchaser info
    __tablename__ = 'order_purchaser'
    id = db.Column(db.Integer, primary_key=True)
    purchaser = db.Column(db.String(255),unique=True)
    contact = db.Column(db.String(255),unique=True)

    def __repr__(self):
        return '<Purchaser name:%r contact:%r>' % (self.purchaser,self.contact)
예제 #2
0
class User(db.Model):  # pylint: disable=too-few-public-methods
    """
    Abstract model for users
    """

    __abstract__ = True
    user_id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(50), nullable=False)
    last_name = db.Column(db.String(50), nullable=False)
예제 #3
0
class UserPhoneModel(db.Model):
    __tablename__ = 'user_phone'

    id = db.Column(db.Integer, primary_key=True)
    phone_number = db.Column(db.String(128))
    is_confirmed = db.Column(db.Boolean, default=False, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    user = db.relationship('UserModel')
예제 #4
0
class Creator(db.Model):
    # creator info
    __tablename__ = 'stock_creator'
    id = db.Column(db.Integer, primary_key=True)
    creator = db.Column(db.String(255), unique=True)
    contact = db.Column(db.String(255), unique=True)

    def __repr__(self):
        return '<Creator name:%r contact:%r>' % (self.creator, self.contact)
예제 #5
0
class UserEmailModel(db.Model):
    __tablename__ = 'user_email'

    id = db.Column(db.Integer, primary_key=True)
    email_address = db.Column(db.String(128))
    is_confirmed = db.Column(db.Boolean, default=False, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    user = db.relationship('UserModel')
예제 #6
0
class StockMoney(db.Model):
    # stock money
    _tablename_ = 'stock_money'
    id = db.Column(db.Integer, primary_key=True)
    price = db.Column(db.Integer, unique=True)
    num = db.Column(db.Integer, unique=True)
    total = db.Column(db.Integer, unique=True)

    def __repr__(self):
        return '<Money id:%r price:%r num:%r>' % (self.id, self.price,
                                                  self.num)
예제 #7
0
class OrderMoney(db.Model):
    # order money
    _tablename_ = 'order_money'
    id = db.Column(db.Integer,primary_key=True)
    purchasePrice = db.Column(db.Integer, unique=True)
    soldPrice = db.Column(db.Integer, unique=True)
    postPrice = db.Column(db.Integer, unique=True)
    profit = db.Column(db.Integer, unique=True)

    def __repr__(self):
        return '<Money id:%r profit%r>' % (self.id,self.profit)
예제 #8
0
class RevokedTokenModel(db.Model):
    __tablename__ = 'revoked_tokens'
    __table_args__ = {"extend_existing": True}
    id = db.Column(db.Integer, primary_key=True)
    jti = db.Column(db.String(120))

    def add(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def is_jti_blacklisted(cls, jti):
        query = cls.query.filter_by(jti=jti).first()
        return bool(query)
예제 #9
0
class AuthModel(db.Model):
    __tablename__ = 'adam_auth'
    __table_agrs__ = {"extend_eisting": True}  # 如果表已经被创建过,需要加这个参数提供扩展
    auth_id = db.Column(db.Integer,
                        primary_key=True,
                        autoincrement=True,
                        info='id')
    project_id = db.Column(db.Integer, nullable=False, info="所属项目")
    user_id = db.Column(db.Integer, nullable=False, info="赋权用户")

    def save_to_db(self):
        '''创建实例,调用save_to_db保存数据'''
        db.session.add(self)
        db.session.commit()
예제 #10
0
class Order(db.Model):
    # order info
    __tablename__ = 'order_info'
    id = db.Column(db.Integer,primary_key=True)
    userId = db.Column(db.Integer, unique=True)
    dateTime = db.Column(db.DateTime, unique=True)
    productType = db.Column(db.String(255),unique=True)
    productName = db.Column(db.String(255),unique=True)
    productDescription = db.Column(db.String(255),unique=True)
    platform = db.Column(db.String(255),unique=True)
    stockId = db.Column(db.Integer, unique=True)
    note = db.Column(db.String(255),unique=True)
    isActive = db.Column(db.Integer,unique=True)

    def __repr__(self):
        return '<Order id:%r name:%r sku:%r>' % (self.id,self.productName,self.productDescription)
예제 #11
0
class UserModel(db.Model):
    __tablename__ = 'users'
    __table_agrs__ = {"extend_eisting": True}  # 如果表已经被创建过,需要加这个参数提供扩展
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(120),
                         unique=True,
                         nullable=False,
                         info="用户名")
    password = db.Column(db.String(120), nullable=False, info="密码")

    def save_to_db(self):
        '''创建实例,调用save_to_db保存数据'''
        db.session.add(self)
        db.session.commit()

    @classmethod
    def find_by_username(cls, username):
        '''调用类方法,按username查询用户信息'''
        return cls.query.filter_by(username=username).first()

    @classmethod
    def return_all(cls):
        '''返回所有的用户'''
        def to_json(x):
            return {'username': x.username, 'password': x.password}

        return {
            "user": list(map(lambda x: to_json(x), UserModel.query.all()))
        }  # 直接用to_json

    @classmethod
    def delete_all(cls):
        try:
            num_rows_delete = db.session.query(cls)
            db.session.commit()
            return {'message': f"{num_rows_delete} row(s) deleted"}
        except:
            return {'message': "Someting went wrong"}

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

    @staticmethod
    def verify_hash(password, hash):
        return sha256.verify(password, hash)
예제 #12
0
class Patient(User):  # pylint: disable=too-few-public-methods
    """
    Model for patients
    """

    __tablename__ = "patient"
    social_worker_id = db.Column(db.Integer,
                                 db.ForeignKey('social_worker.user_id'))
예제 #13
0
class User:
    """采样快照头"""
    __tablename__ = "user"
    user_id = db.Column(db.BigInteger, primary_key=True, nullable=False)  # 主键
    user_name = db.Column(db.String, nullable=False)  # 用户名
    user_salary = db.Column(DOUBLE, nullable=True)  # 用户薪水

    def to_json(self):
        return {
            "userId": self.user_id,
            "userName": self.user_name,
            "userSalary": json.dumps(self.user_salary, cls=DecimalEncoder)
        }

    def __init__(self, user_id, user_name, user_salary):
        self.user_id = user_id
        self.user_name = user_name
        self.user_salary = user_salary
예제 #14
0
class ProjectModel(db.Model):
    __tablename__ = 'adam_project'
    __table_agrs__ = {"extend_eisting": True}  # 如果表已经被创建过,需要加这个参数提供扩展
    project_id = db.Column(db.Integer,
                           primary_key=True,
                           autoincrement=True,
                           info='项目id')
    project_name = db.Column(db.String(120), nullable=False, info="项目名称")
    project_v = db.Column(db.String(30), nullable=False, info="项目版本")
    project_desc = db.Column(db.String(500), nullable=False, info="项目描述")
    user_id = db.Column(db.Integer, nullable=False, info="所属用户")
    create_time = db.Column(db.DateTime,
                            default=datetime.datetime.now,
                            nullable=False,
                            info="项目创建时间")
    updata_time = db.Column(db.DateTime,
                            default=datetime.datetime.now,
                            onupdate=datetime.datetime.now,
                            nullable=False,
                            info="项目更新时间")
    project_state = db.Column(db.Integer,
                              nullable=False,
                              default=0,
                              info="项目状态0进行中1项目暂停2项目结束")
    delete_sign = db.Column(db.Integer,
                            nullable=False,
                            default=0,
                            info="项目删除标志")

    def save_to_db(self):
        '''创建实例,调用save_to_db保存数据'''
        db.session.add(self)
        db.session.commit()

    @classmethod
    def find_by_project_name(cls, project_name):
        '''调用类方法,按username查询用户信息'''
        return cls.query.filter(
            cls.project_name.like("%" + project_name +
                                  "%") if project_name is not None else "").all
예제 #15
0
class MoneyDetail(db.Model):
    # money detail
    _tablename_ = 'money_detail'
    id = db.Column(db.Integer, primary_key=True)
    dateTime = db.Column(db.DateTime, unique=True)
    typeId = db.Column(db.Integer, unique=True)
    # 订单为0,库存为1
    moneyType = db.Column(db.Integer, unique=True)
    productName = db.Column(db.String, unique=True)
    productType = db.Column(db.String, unique=True)
    money = db.Column(db.Integer, unique=True)

    def __repr__(self):
        return '<Money id:%r type: %r money:%r>' % (self.id, self.moneyType,
                                                    self.money)
예제 #16
0
class HostModel(db.Model):
    __tablename__ = 'adam_host'
    __table_agrs__ = {"extend_eisting": True}  # 如果表已经被创建过,需要加这个参数提供扩展
    host_id = db.Column(db.Integer,
                        primary_key=True,
                        autoincrement=True,
                        info='主机id')
    project_id = db.Column(db.Integer, nullable=False, info="所属项目id")
    host_name = db.Column(db.String(120), nullable=False, info="名称")
    host_addr = db.Column(db.String(120), nullable=False, info="域名")
    host_desc = db.Column(db.String(500), info="描述")
    user_id = db.Column(db.Integer, nullable=False, info="所属用户")
    delete_sign = db.Column(db.Integer,
                            nullable=False,
                            default=0,
                            info="主机删除标志")

    def save_to_db(self):
        '''创建实例,调用save_to_db保存数据'''
        id = db.session.add(self)
        db.session.commit()
        return id
예제 #17
0
class UserModel(db.Model):
    __tablename__ = 'user'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(128))
    is_active = db.Column(db.Boolean, default=True, nullable=False)