barker/barker/barker/schemas/modifier.py

34 lines
743 B
Python

import uuid
from typing import Optional
from decimal import Decimal
from pydantic import BaseModel, Field
from barker.schemas import to_camel
from barker.schemas.modifier_category import ModifierCategoryLink
class ModifierIn(BaseModel):
name: str = Field(..., min_length=1)
show_in_bill: bool
price: Decimal = Field(ge=0, multiple_of=0.01, default=0)
is_active: bool
modifier_category: ModifierCategoryLink
class Config:
fields = {"id_": "id"}
anystr_strip_whitespace = True
alias_generator = to_camel
class Modifier(ModifierIn):
id_: uuid.UUID
class ModifierLink(BaseModel):
id_: uuid.UUID = Field(...)
name: Optional[str]
class Config:
fields = {"id_": "id"}