import uuid from typing import Optional, List from decimal import Decimal from pydantic import BaseModel, Field from barker.schemas import to_camel from barker.schemas.product import ProductLink class MenuCategoryIn(BaseModel): name: str = Field(..., min_length=1) discount_limit: Decimal = Field(ge=0, multiple_of=0.0001, default=0, le=1) is_active: bool class Config: fields = {"id_": "id"} anystr_strip_whitespace = True alias_generator = to_camel class MenuCategory(MenuCategoryIn): id_: uuid.UUID is_fixture: bool sort_order: int class Config: fields = {"id_": "id"} anystr_strip_whitespace = True alias_generator = to_camel class MenuCategoryLink(BaseModel): id_: uuid.UUID = Field(...) products: Optional[List[ProductLink]] class Config: fields = {"id_": "id"}