36 lines
893 B
Python
36 lines
893 B
Python
"""Feeding-related request and response models."""
|
|
|
|
from datetime import datetime
|
|
from pydantic import BaseModel, Field
|
|
|
|
from baby_monitor.models.enums import FeedingType
|
|
|
|
|
|
class CreateFeedingRequest(BaseModel):
|
|
"""Request model for creating a feeding log."""
|
|
|
|
child_id: int = Field(..., gt=0)
|
|
start_time: datetime
|
|
end_time: datetime | None = None
|
|
feeding_type: FeedingType
|
|
|
|
|
|
class UpdateFeedingRequest(BaseModel):
|
|
"""Request model for updating a feeding log."""
|
|
|
|
start_time: datetime | None = None
|
|
end_time: datetime | None = None
|
|
feeding_type: FeedingType | None = None
|
|
|
|
|
|
class FeedingResponse(BaseModel):
|
|
"""Response model for feeding log data."""
|
|
|
|
id: int
|
|
child_id: int
|
|
start_time: datetime
|
|
end_time: datetime | None
|
|
feeding_type: str
|
|
created_at: datetime
|
|
child_name: str | None = None # Optional, populated when needed
|