Desk-Back2 / app /models /menu.py
Fred808's picture
Upload 77 files
5111c4b verified
Raw History Blame Contribute Delete
1.25 kB
from pydantic import BaseModel, Field
from typing import Optional, List
from decimal import Decimal
from enum import Enum
class CategoryType(str, Enum):
SOUPS = "soups" # For Egusi, Efo riro, Ogbono, etc.
SWALLOW = "swallow" # For Pounded yam, Amala, Eba, etc.
RICE_DISHES = "rice_dishes" # For Jollof rice, Fried rice, Native rice
PROTEINS = "proteins" # For Suya, Asun, Grilled fish, etc.
SMALL_CHOPS = "small_chops" # For Puff puff, Samosa, Spring rolls
PEPPER_SOUP = "pepper_soup" # For various pepper soup varieties
SIDES = "sides" # For Plantains, Moin moin, etc.
DRINKS = "drinks" # For Nigerian drinks and beverages
class Category(BaseModel):
id: Optional[int] = None
name: str
type: CategoryType
description: Optional[str] = None
class MenuItem(BaseModel):
id: Optional[int] = None
name: str
description: Optional[str] = None
price: Decimal = Field(..., gt=0)
category_id: int
image_url: Optional[str] = None
is_available: bool = True
allergens: Optional[List[str]] = None
preparation_time: Optional[int] = None # in minutes
calories: Optional[int] = None