"""Diaper change-related request and response models.""" from datetime import datetime from pydantic import BaseModel, Field from baby_monitor.models.enums import ( PeeAmount, PeeColor, PoopAmount, PoopColor, ) class CreateDiaperChangeRequest(BaseModel): """Request model for creating a diaper change log.""" child_id: int = Field(..., gt=0) change_time: datetime poop_amount: PoopAmount | None = None poop_color: PoopColor | None = None pee_amount: PeeAmount | None = None pee_color: PeeColor | None = None class UpdateDiaperChangeRequest(BaseModel): """Request model for updating a diaper change log.""" change_time: datetime | None = None poop_amount: PoopAmount | None = None poop_color: PoopColor | None = None pee_amount: PeeAmount | None = None pee_color: PeeColor | None = None class DiaperChangeResponse(BaseModel): """Response model for diaper change log data.""" id: int child_id: int change_time: datetime poop_amount: str | None poop_color: str | None pee_amount: str | None pee_color: str | None created_at: datetime child_name: str | None = None # Optional, populated when needed