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