示例#1
0
class UserModel(db.Model):
    __tablename__ = "users"

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80))
    password = db.Column(db.String(80))

    # parser = reqparse.RequestParser()
    # parser.add_argument(
    #     "username", type=str, required=True, help="This field cannot be left blank!"
    # )

    def __init__(self, username, password):
        self.username = username
        self.password = password

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

    @classmethod
    def find_by_id(cls, _id):
        return cls.query.filter_by(id=_id)

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()
示例#2
0
class ItemModel(db.Model):
    __tablename__ = "items"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))
    price = db.Column(db.Float(precision=2))
    store_id = db.Column(db.Integer, db.ForeignKey('stores.id'))
    store = db.relationship('StoreModel')

    def __init__(self, name, price, store_id):
        self.name = name
        self.price = price
        self.store_id = store_id

    def json(self):
        return {"name": self.name, "price": self.price}

    @classmethod
    def find_by_name(cls, name):
        return cls.query.filter_by(name=name).first()

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

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()
示例#3
0
class StoreModel(db.Model):
    __tablename__ = "stores"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80))
    items = db.relationship('ItemModel', lazy='dynamic')

    def __init__(self, name):
        self.name = name

    def json(self):
        return {
            'name': self.name,
            'items': [item.json() for item in self.items.all()]
        }

    @classmethod
    def find_by_name(cls, name):
        return cls.query.filter_by(name=name).first()

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

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()
示例#4
0
class User(db.Model):

    __tablename__ = "user"

    id = db.Column(db.String, primary_key=True, default=uuid.uuid4())
    username = db.Column(db.String(64), index=True, unique=True, nullable=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password = db.Column(db.String(128))

    def __repr__(self):
        return f'<User {self.username}>'

    def __init__(self, email, password, username):
        self.username = username
        self.email = email
        self.password = bcrypt.generate_password_hash(password).decode()

    def password_is_valid(self, password):
        return bcrypt.check_password_hash(self.password, password)

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

    @staticmethod
    def find_all():
        return User.query.order_by(User.email).all()

    @staticmethod
    def find_by_email(email: str):
        return User.query.filter_by(email=email).first()
示例#5
0
class ControlUsuario(db.Model):
    __tablename__ = "control_usuario "
    id = db.Column('id', db.Integer, primary_key=True)
    id_usu = db.Column('id_usu', db.Integer)
    admin = db.Column('admin', db.Boolean)
    modulo = db.Column('modulo', db.Integer)
    usuario_id_usu = db.Column('usuario_id_usu', db.Integer,
                               db.ForeignKey('usuario.id_usu'))

    usuario = db.relationship('Usuario', foreign_keys=usuario_id_usu)
示例#6
0
class Post(db.Model):
    __tablename__ = 'post'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(50), nullable=False)
    content = db.Column(db.Text(), nullable=False)

    def __repr__(self):
        return f'Post(id={self.id}, title={self.title!r}, content={self.content!r})'

    def __str__(self):
        return f'Post {self.title}'
示例#7
0
class ToDo(db.Model):
    id = db.Column(db.Integer, nullable=False, primary_key=True)
    task = db.Column(db.String(16), nullable=False, unique=False)
    description = db.Column(db.String(20), nullable=True, unique=False)
    activate = db.Column(db.Boolean,
                         nullable=False,
                         unique=False,
                         default=True,
                         server_default="true")

    def __init__(self, task, description):
        super().__init__()
        self.task = task
        self.description = description
示例#8
0
class Empresa(db.Model):
    __tablename__ = "empresa"
    empresa = db.Column('empresa', db.Integer, primary_key=True)
    nome = db.Column('nome', db.Unicode)
    cnpj = db.Column('cnpj', db.Integer)
    endereco = db.Column('endereco', db.Unicode)
    telefone = db.Column('telefone', db.Unicode)
    cidade = db.Column('cidade', db.Unicode)
    uf = db.Column('uf', db.Unicode)
    email = db.Column('email', db.Unicode)
    responsavel = db.Column('responsavel', db.Unicode)
示例#9
0
class Wish(Base):
    id = Column(Integer, primary_key=True, autoincrement=True)
    user_id = Column(Integer, nullable=False)
    isbn = Column(String(15), nullable=False)
    launched = db.Column(db.Boolean, default=False)

    @classmethod
    def get_user_wishes(cls, uid):
        return Wish.query.filter_by(user_id=uid,
                                    launched=False,
                                    is_deleted=False).order_by(
                                        desc(Wish.create_time)).all()

    @classmethod
    def get_gift_counts(cls, isbns: List):
        counts = db.session.query(func.count(Gift.isbn), Gift.isbn) \
            .filter(Gift.launched == False, Gift.isbn.in_(isbns), Gift.is_deleted == False) \
            .group_by(Gift.isbn).all()
        count_list = [{
            'count': count[0],
            'isbn': count[1]
        } for count in counts]
        return count_list

    @property
    def book(self):
        yushu_boook = YuShuBook()
        yushu_boook.search_by_isbn(self.isbn)
        return yushu_boook.first
示例#10
0
class Usuario(db.Model):
    __tablename__ = "usuario"
    id_usu = db.Column('id_usu', db.Integer, primary_key=True)
    usu = db.Column('usu', db.Unicode, unique=True)
    senha = db.Column('senha', db.Unicode)
    nome = db.Column('nome', db.Unicode, unique=True)
    email = db.Column('email', db.Unicode, unique=True)
    empresa = db.Column('empresa', db.Integer)
    empresa_empresa = db.Column('empresa_empresa', db.Integer,
                                db.ForeignKey('empresa.empresa'))

    empresa = db.relationship('Empresa', foreign_keys=empresa_empresa)
示例#11
0
class CommunicationGateway(db.Model):
    id = db.Column(db.Integer, nullable=False, primary_key=True)
    target_user_id = db.Column(db.Integer, nullable=False)
    params_hash = db.Column(JSON, nullable=False)
    type = db.Column(db.String(10), nullable=False)
    endpoint_type = db.Column(db.String(30), nullable=True)
    request_status = db.Column(db.String(20), nullable=False)

    def __init__(self,
                 target_user_id,
                 params_hash,
                 type,
                 request_status,
                 endpoint_type=None):
        self.target_user_id = target_user_id
        self.params_hash = params_hash
        self.type = type
        self.request_status = request_status
        self.endpoint_type = endpoint_type
示例#12
0
class Post(db.Model):
    __tablename__ = 'post'
    title = db.Column(db.Integer, primary_key=True)
    tile = db.Column(db.String(50), nullable=False)
    content = db.Column(db.Text, nullable=False)