30 lines
595 B
Python
30 lines
595 B
Python
from typing import Annotated
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from fooder.model.base import ObjModelMixin
|
|
from fooder.model.entry import EntryModel
|
|
|
|
MealOrder = Annotated[int, Field(ge=0)]
|
|
|
|
|
|
class MealModel(ObjModelMixin, BaseModel):
|
|
name: str
|
|
order: MealOrder
|
|
diary_id: int
|
|
protein: float
|
|
carb: float
|
|
fat: float
|
|
fiber: float
|
|
calories: float
|
|
entries: list[EntryModel]
|
|
|
|
|
|
class MealCreateModel(BaseModel):
|
|
name: str
|
|
order: MealOrder | None = None
|
|
|
|
|
|
class MealUpdateModel(BaseModel):
|
|
name: str | None = None
|
|
order: MealOrder | None = None
|