barker/barker/barker/schemas/menu_category.py

41 lines
881 B
Python

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"}