Spaces:
Paused
Paused
| 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 |