Example #1
0
class User(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.String(100))
    phone = db.Column(db.String(120), unique=True)
    online = db.Column(db.Boolean)
    talks = db.relationship('Talk', secondary=talk_users_table)
    key = db.Column(db.String(36))

    def __str__(self):
        return self.phone or ''
Example #2
0
class Person(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.String(100))
    phone = db.Column(db.String(120), unique=True)
    online = db.Column(db.Boolean)
    talks = db.relationship('Talk', secondary=talk_people_table)

    def __str__(self):
        if self.online:
            return self.nickname + " (online)"
        return self.nickname + " (offline)"
Example #3
0
class User(UserMixin, db.Model):
    __tablename__ = 'user'

    id = db.Column(db.Integer,
                   primary_key=True)

    email = db.Column(db.String(80),
                      index=True,
                      unique=False,
                      nullable=False)
    
    password = db.Column(db.String(200),
                         primary_key=False,
                         unique=False,
                         nullable=False)
class Product(db.Model):
    __tablename__ = "products"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    product_id = db.Column(db.String(255), unique=True, nullable=False)
    product_name = db.Column(db.String(255), nullable=False)
    price = db.Column(db.Float, nullable=False)

    #promo_details = db.relationship('PromoDetails', secondary='product_promo')

    def __init__(self, product_id, product_name, price):
        self.product_id = product_id
        self.product_name = product_name
        self.price = price

    def __repr__(self):
        return '<Product: id: {}'.format(self.product_id)
Example #5
0
class User(db.Model, BaseModel):
    __tablename__ = 'auth_user'

    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(120), unique=True)
    password = db.Column(db.String(120))

    def __init__(self, email=None, password=None):
        if email:
            self.email = email.lower()
        if password:
            self.set_password(password)

    def set_password(self, password):
        self.password = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password, password)
class Promo(db.Model):

    __tablename__ = "promos"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    promo_code = db.Column(db.String(255), nullable=False, unique=True)
    # Conditional Promo
    is_flat = db.Column(db.Boolean, nullable=False, default=True)
    # percentage(True) or amount(False)
    discount_type = db.Column(db.Boolean, nullable=False, default=True)
    amount = db.Column(db.Float, nullable=False, default=0)
    least_amount = db.Column(db.Float, nullable=False, default=0)
    valid = db.Column(db.Boolean, nullable=False, default=True)

    #promo_details = db.relationship('PromoDetails', secondary='promo_relations')

    def __init__(self, promo_code, is_flat, discount_type, amount,
                 least_amount):
        self.promo_code = promo_code
        self.is_flat = is_flat
        self.discount_type = discount_type
        self.amount = amount
        self.least_amount = least_amount
Example #7
0
class Talk(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(120))
    date_start = db.Column(db.DateTime)
    users = db.relationship('User', secondary=talk_users_table)
    # messages = db.relationship('Message', secondary=talk_messages_table)
    admin_id = db.Column(db.Integer(), db.ForeignKey(User.id))
    is_group = db.Column(db.Boolean)
    messages = db.relationship('Message', backref='talk', lazy='dynamic')

    def __str__(self):
        # TODO: Retornar o nome do grupo ou o nome do outro integrante da conversa.
        return self.name

    def _is_group_admin(self, id, group):
        """
            Verifica se o usuário é admin do grupo
        :param user:
        :param group:
        :return: Retorna o objeto do grupo quando verdadeiro
            retorna False quando o usário nao é admin do grupo.
        """
        return True