class CustomerEmail(Model): __tablename__ = 'entity_emails' entity_id = Column(UUIDType(binary=False), nullable=False) email = Column(String) verified = Column(Boolean, default=False) default = Column(Boolean, default=False)
class ProductWishListPriority(Model): __tablename__ = 'product_wish_list_priority' product_id = Column(UUIDType(binary=False), ForeignKey('products.id'), nullable=False) count = Column(Integer, default=0)
class Customer(UserMixin, Model): __tablename__ = "customer" username = Column(String, unique=True) first_name = Column(String(30)) last_name = Column(String(50)) email = Column(String(50), unique=True, nullable=False) profile_image = Column(String) gender = Column(Boolean, default=0) verified = Column(Boolean, default=False) is_active = Column(Boolean, default=False) password = Column(String(128)) address = relationship('CustomerAddress') phone_number = Column(String) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) @hybrid_property def avatar(self): return 'uploads/customers/{}'.format(self.profile_image) def __repr__(self): return f'Customer: {self.id}'
class Attribute(Model): __tablename__ = 'attributes' name = Column(JSONB) description = Column(JSONB) status = Column(ENUM('active', 'inactive', name='attribute_status')) values = relationship('AttributeValue')
class LandingPage(Model): __tablename__ = 'landing_pages' title = Column(String) slug = Column(String) meta_keyword = Column(String) meta_description = Column(String) meta_title = Column(String) h1 = Column(String) content = Column(String) country_id = Column(UUIDType(binary=False), ForeignKey('countries.id')) country = relationship('Country') language_id = Column(UUIDType(binary=False), ForeignKey('languages.id')) language = relationship('Language') status = Column(default_statuses) tags = relationship('Tag', secondary='landing_tags', backref='tags') # products = relationship('Product', secondary='product_landing_priority', backref='landing_pages') products = relationship("Product", secondary="product_landing_priority") def __repr__(self): return f'LandingPage: {self.id}' @hybrid_property def image(self): return Media.query.filter_by(entity_id=str(self.id)).first()
class DriverDeposit(Model): __tablename__ = "driver_deposit" driver_id = Column(UUIDType(binary=False), ForeignKey('drivers.id')) amount = Column(Float(10)) def __repr__(self): return f'DriverDeposit: {self.id}'
class Registration(Model): ___tablename__ = 'registrations' phone_number = Column(String) code = Column(String) step = Column(String) def __repr__(self): return f'Registration: {self.id}'
class Color(Model): __tablename__ = "color" name = Column(String(20)) is_active = Column(Boolean, default=0) def __repr__(self): return f'Color: {self.id}'
class CelebrityTag(Model): __tablename__ = 'celebrity_tags' name = Column(JSONB) status = Column(default_statuses) def __repr__(self): return f'CelebrityTag: {self.id}'
class OrderPayment(Model): __tablename__ = 'order_payments' order_id = Column(UUIDType(binary=False), ForeignKey('order.id'), nullable=False) payment_details = Column(JSONB) status = Column(order_payment_status)
class SampleModel(Model): __tablename__ = "sample_table" foo = Column(String) bar = Column(Integer) def __repr__(self): return "SampleModel: {id}".format(id=self.id)
class Country(Model): __tablename__ = 'countries' name = Column(String) code = Column(String) status = Column(default_statuses) def __repr__(self): return f'Country: {self.id}'
class CarMake(Model): __tablename__ = "car_makes" name = Column(String) key = Column(String) country = Column(String) def __repr__(self): return f'CarMake: {self.id}'
class Language(Model): __tablename__ = 'languages' name = Column(String) code = Column(String) status = Column(default_statuses) def __repr__(self): return f'Language: {self.id}'
class Currency(Model): __tablename__ = 'currencies' name = Column(String) code = Column(String) status = Column(ENUM('active', 'inactive', name='status')) def __repr__(self): return f'Currency: {self.id}'
class HelpCategory(Model): __tablename__ = 'help_categories' name = Column(JSONB) status = Column(ENUM('active', 'inactive', name='help_category_status')) articles = relationship('HelpArticle', backref='category') def __repr__(self): return f'HelpCategory: {self.id}'
class LandingTag(Model): __tablename__ = 'landing_tags' landing_id = Column(UUIDType(binary=False), ForeignKey('landing_pages.id'), nullable=False) tag_id = Column(UUIDType(binary=False), ForeignKey('tags.id'), nullable=False)
class ProductExtraProduct(Model): __tablename__ = 'product_extra_tags' tag_id = Column(UUIDType(binary=False), ForeignKey('tags.id'), nullable=False) extra_product_id = Column(UUIDType(binary=False), ForeignKey('products.id'), nullable=False)
class HomeBoxTag(Model): __tablename__ = 'home_box_tags' box_id = Column(UUIDType(binary=False), ForeignKey('home_boxes.id'), nullable=False) tag_id = Column(UUIDType(binary=False), ForeignKey('tags.id'), nullable=False)
class HomeBoxLanding(Model): __tablename__ = 'home_box_landings' box_id = Column(UUIDType(binary=False), ForeignKey('home_boxes.id'), nullable=False) landing_id = Column(UUIDType(binary=False), ForeignKey('landing_pages.id'), nullable=False)
class CountryLanguage(Model): __tablename__ = 'country_languages' country_id = Column(UUIDType(binary=False), ForeignKey('countries.id'), nullable=False) language_id = Column(UUIDType(binary=False), ForeignKey('languages.id'), nullable=False)
class ReceiverAdressPriority(Model): __tablename__ = 'receiver_address_priority' address_id = Column(UUIDType(binary=False), ForeignKey('addresses.id'), nullable=False) receiver_id = Column(UUIDType(binary=False), ForeignKey('receivers.id'), nullable=False)
class ProductSimilarPriority(Model): __tablename__ = 'product_similar_priority' product_id = Column(UUIDType(binary=False), ForeignKey('products.id'), nullable=False) similar_product_id = Column(UUIDType(binary=False), ForeignKey('products.id'), nullable=False) count = Column(Integer, default=0)
class ProductType(Model): __tablename__ = 'product_types' name = Column(JSONB) description = Column(JSONB) status = Column(ENUM('active', 'inactive', name='product_type_status'), nullable=False) def __repr__(self): return f'Tag: {self.id}'
class Contact(Model): __tablename__ = 'contacts' full_name = Column(String) email = Column(String) subject = Column(String) message = Column(String) def __repr__(self): return f'Contact: {self.id}'
class ProductAttributePriority(Model): __tablename__ = 'product_attribute_priority' product_id = Column(UUIDType(binary=False), ForeignKey('products.id'), nullable=False) attribute_value_id = Column(UUIDType(binary=False), ForeignKey('attribute_values.id'), nullable=False) count = Column(Integer, default=0)
class WishList(Model): __tablaname__ = 'wish_list' customer_id = Column(UUIDType(binary=False), ForeignKey('customer.id')) session_id = Column(String) product_id = Column(UUIDType(binary=False), ForeignKey('products.id'), nullable=False) def __repr__(self): return f'WishList {self.id}'
class Tag(Model): __tablename__ = 'tags' name = Column(JSONB) description = Column(JSONB) meta_description = Column(String, nullable=True) meta_keyword = Column(String, nullable=True) status = Column(default_statuses) def __repr__(self): return f'Tag: {self.id}'
class CarTrim(Model): __tablename__ = 'car_trims' model_id = Column(UUIDType(binary=False), ForeignKey('car_models.id'), nullable=False) name = Column(String) key = Column(Integer) def __repr__(self): return f'CarTrim: {self.id}'
class HelpArticle(Model): __tablename__ = 'help_articles' name = Column(JSONB) content = Column(JSONB) category_id = Column(UUIDType(binary=False), ForeignKey('help_categories.id'), nullable=False) status = Column(ENUM('active', 'inactive', name='help_status')) def __repr__(self): return f'HelpArticle: {self.id}'