"""Person response schemas.""" from __future__ import annotations from datetime import date, datetime from pydantic import BaseModel from app.schemas.common import ArtworkOut class PersonSummaryOut(BaseModel): id: str type: str = "person" name: str known_for_department: str | None = None profile_path: str | None = None popularity: float | None = None class FilmographyCreditOut(BaseModel): id: str media_id: str media_type: str title: str department: str job: str | None = None character: str | None = None release_date: date | None = None poster_path: str | None = None class PersonDetailOut(BaseModel): id: str type: str = "person" name: str aliases: list[str] = [] biography: str | None = None birthday: date | None = None deathday: date | None = None birthplace: str | None = None gender: str | None = None known_for_department: str | None = None popularity: float | None = None profile_images: list[ArtworkOut] = [] external_ids: dict[str, str] = {} created_at: datetime updated_at: datetime class PersonCreditsOut(BaseModel): id: str cast: list[FilmographyCreditOut] = [] crew: list[FilmographyCreditOut] = []