import uuid from datetime import datetime from pydantic import BaseModel, ConfigDict from app.models.enums import PersonPrivacy class PersonCreate(BaseModel): given: str | None = None surname: str | None = None gender: str | None = None is_living: bool | None = None privacy: PersonPrivacy = PersonPrivacy.inherit notes: str | None = None class PersonUpdate(BaseModel): # Person fields + the primary name's parts; only sent fields are changed. given: str | None = None surname: str | None = None gender: str | None = None is_living: bool | None = None privacy: PersonPrivacy | None = None notes: str | None = None class PersonRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: uuid.UUID tree_id: uuid.UUID primary_name: str | None = None gender: str | None is_living: bool | None privacy: PersonPrivacy created_at: datetime