from __future__ import annotations from typing import Literal, Optional from pydantic import BaseModel class LocationCreate(BaseModel): name: str kind: Literal["bed", "container", "ground"] = "bed" size_note: Optional[str] = None sun_note: Optional[str] = None notes: Optional[str] = None class LocationUpdate(BaseModel): name: Optional[str] = None kind: Optional[Literal["bed", "container", "ground"]] = None size_note: Optional[str] = None sun_note: Optional[str] = None notes: Optional[str] = None class LocationOut(BaseModel): id: int name: str kind: str size_note: Optional[str] sun_note: Optional[str] notes: Optional[str] created_at: str updated_at: str