"""Pydantic schemas for API and validation.""" from pydantic import BaseModel, ConfigDict class UserBase(BaseModel): full_name: str username: str | None = None first_name: str | None = None last_name: str | None = None class UserCreate(UserBase): telegram_user_id: int class UserInDb(UserBase): id: int telegram_user_id: int model_config = ConfigDict(from_attributes=True) class DutyBase(BaseModel): user_id: int start_at: str # ISO 8601 end_at: str # ISO 8601 class DutyCreate(DutyBase): pass class DutyInDb(DutyBase): id: int model_config = ConfigDict(from_attributes=True) class DutyWithUser(DutyInDb): """Duty with full_name for calendar display.""" full_name: str model_config = ConfigDict(from_attributes=True)