Untitled
unknown
python
a year ago
4.3 kB
5
Indexable
from pydantic import BaseModel from typing import List, Optional from datetime import datetime # MenuItem models class MenuItemBase(BaseModel): product_id: int name: str taxonomy_id: int country_id: int brand_id: int base_price: float start_date: str end_date: str isBundle: bool = False isBundleVariant: bool = False isVariant: bool = False class MenuItemCreate(MenuItemBase): pass class MenuItemUpdate(BaseModel): product_id: Optional[int] = None name: Optional[str] = None taxonomy_id: Optional[int] = None country_id: Optional[int] = None brand_id: Optional[int] = None base_price: Optional[float] = None start_date: Optional[str] = None end_date: Optional[str] = None isBundle: Optional[bool] = None isBundleVariant: Optional[bool] = None isVariant: Optional[bool] = None class MenuItem(MenuItemBase): id: int class Config: orm_mode = True # Product models class ProductBase(BaseModel): name: str class ProductCreate(ProductBase): pass class ProductUpdate(BaseModel): name: Optional[str] = None class Product(ProductBase): id: int class Config: orm_mode = True # Pricing models class PricingModelBase(BaseModel): name: str brand_id: int country_id: int selected: bool = False class PricingModelCreate(PricingModelBase): pass class PricingModelUpdate(BaseModel): name: Optional[str] = None brand_id: Optional[int] = None country_id: Optional[int] = None selected: Optional[bool] = None class PricingModel(PricingModelBase): id: int class Config: orm_mode = True # VariantOption models class VariantOptionBase(BaseModel): menu_item_id: int name: str variant_attrib: str variant_value: str class VariantOptionCreate(VariantOptionBase): pass class VariantOptionUpdate(BaseModel): menu_item_id: Optional[int] = None name: Optional[str] = None variant_attrib: Optional[str] = None variant_value: Optional[str] = None class VariantOption(VariantOptionBase): id: int class Config: orm_mode = True # MenuItemPrice models class MenuItemPriceBase(BaseModel): menu_item_id: int channel_id: int store_type_id: int daypart_id: int weekpart_id: int publish_price: float base_price: float class MenuItemPriceCreate(MenuItemPriceBase): pass class MenuItemPriceUpdate(BaseModel): menu_item_id: Optional[int] = None channel_id: Optional[int] = None store_type_id: Optional[int] = None daypart_id: Optional[int] = None weekpart_id: Optional[int] = None publish_price: Optional[float] = None base_price: Optional[float] = None job_id: Optional[int] = None user_id: Optional[int] = None approved: Optional[bool] = None approved_by: Optional[int] = None approved_at: Optional[datetime] = None published: Optional[bool] = None published_by: Optional[int] = None published_at: Optional[datetime] = None class MenuItemPrice(MenuItemPriceBase): id: int created_at: datetime updated_at: datetime job_id: Optional[int] = None user_id: Optional[int] = None approved: Optional[bool] = None approved_by: Optional[int] = None approved_at: Optional[datetime] = None published: Optional[bool] = None published_by: Optional[int] = None published_at: Optional[datetime] = None class Config: orm_mode = True # Job models class JobBase(BaseModel): job_name: str status: str class JobCreate(JobBase): pass class JobUpdate(BaseModel): job_name: Optional[str] = None status: Optional[str] = None class Job(JobBase): id: int created_at: datetime class Config: orm_mode = True # User models class UserBase(BaseModel): username: str email: str class UserCreate(UserBase): pass class UserUpdate(BaseModel): username: Optional[str] = None email: Optional[str] = None class User(UserBase): id: int created_at: datetime class Config: orm_mode = True
Editor is loading...
Leave a Comment