Exemplo n.º 1
0
class Role(db.Model, RoleMixin):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(80), unique=True)
    description = db.Column(db.String(255))

    def __repr__(self):
        return f"<Role: {self.name}>"

    def __str__(self):
        return f"{self.name}"
Exemplo n.º 2
0
class Reviews(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey("users.id"))
    title = db.Column(db.String(50))
    body = db.Column(db.Text)
    star_rating = db.Column(db.Integer)
    product_id = db.Column(db.Integer, db.ForeignKey("product.id"))
Exemplo n.º 3
0
class Coupon(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    discount_type = db.Column(db.String(3))
    discount = db.Column(db.DECIMAL, nullable=False)
    experiation_date = db.Column(db.DateTime, nullable=False)

    users = db.relationship('Users', secondary=user_coupons, backref='coupon')
Exemplo n.º 4
0
class Discount(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    discount_type = db.Column(db.String(3))
    discount = db.Column(db.DECIMAL, nullable=False)
    experiation_date = db.Column(db.DateTime, nullable=False)

    products = db.relationship('Product',
                               secondary=product_discounts,
                               backref='discount')
Exemplo n.º 5
0
class Users(db.Model, UserMixin):

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    last_login_at = db.Column(db.DateTime())
    current_login_at = db.Column(db.DateTime())
    last_login_ip = db.Column(db.String(100))
    current_login_ip = db.Column(db.String(100))
    login_count = db.Column(db.Integer)
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    roles = db.relationship('Role', secondary=roles_users,
            backref=db.backref('users', lazy='dynamic'))
    profile_picture = db.Column(db.String(20))
    
    
    def __repr__(self):
        return f"<User: {self.username} - {self.email}>"

    def __str__(self):
        return f"{self.username} - {self.email}"

    def get_cart(self):
        for purchase in self.purchases:
            if purchase.is_checkout == True:
                return purchase
        return None
Exemplo n.º 6
0
class Purchase(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer(), db.ForeignKey('users.id'))
    purchase_date = db.Column(db.DateTime(), default=datetime.utcnow)
    payment_confirmation = db.Column(db.String(40))
    items = db.relationship("PurchaseItem", backref="purchase")
    is_checkout = db.Column(db.Boolean(), default=False)

    user = db.relationship("Users", backref="purchases")

    def to_dict(self):
        items = [item.to_dict() for item in self.items]
        return {'items': items}

    def __repr__(self):
        return f"<Purchase ({self.id}) - Total: {self.calc_total()}>"

    def __str__(self):
        return f"({self.id}) - Total: {self.calc_total()}"

    def calc_total(self):
        return sum([item.calc_total() for item in self.items])