kevos-attire/backend/models.py

69 lines
2.3 KiB
Python

from config import db
from uuid import uuid4
class Contact(db.Model):
id = db.Column(db.Integer, primary_key=True)
first_name = db.Column(db.String(80), unique=False, nullable=False)
last_name = db.Column(db.String(80), unique=False, nullable=False)
email = db.Column(db.String(120), unique=False, nullable=False)
def to_json(self):
return {
"id": self.id,
"firstName":self.first_name,
"lastName":self.last_name,
"email": self.email,
}
def get_uuid():
return uuid4().hex
class User(db.Model):
__tablename__ = "users"
id = db.Column(db.String(32), primary_key=True, unique=True, default=get_uuid)
email = db.Column(db.String(345), unique=True)
password = db.Column(db.Text, nullable=False)
class Orders(db.Model):
__tablename__ ="orders"
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), unique=False, nullable=False)
order = db.Column(db.String(345), unique=False, nullable=False)
def to_json(self):
return {
"id": self.id,
"email":self.email,
"order":self.order,
}
class Products(db.Model):
__tablename__ = "products"
id = db.Column(db.String(32), primary_key=True, unique=True, default=get_uuid)
name = db.Column(db.String(345), default='New Shirt')
image = db.Column(db.String(34), nullable=False)
description = db.Column(db.String(345), default='Basic T-Shirt')
price = db.Column(db.Integer, default=25)
category = db.Column(db.String(345), default='New Shirt')
sale = db.Column(db.Boolean, default=False)
sale_price = db.Column(db.Integer, default=18)
def to_json(self):
return {
"id": self.id,
"name": self.name,
"image": self.image,
"description": self.description,
"price": self.price,
"category": self.category,
"sale": self.sale,
"sale_price": self.sale_price,
}
# class Category(db.Model):
# __tablename__ = "categories"
# id = db.Column(db.String(32), primary_key=True, unique=True, default=get_uuid)
# name = db.Column(db.String(345), default='New Shirt')
# number = db.Column(db.Integer)
# sale = db.Column(db.Boolean, default=False)