2026-09-04 17:34:03 -05:00
|
|
|
"""Company response schemas."""
|
|
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
from datetime import datetime
|
|
|
|
|
|
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
2026-09-05 19:08:14 -05:00
|
|
|
from app.schemas.common import CompanyBriefOut
|
2026-09-05 09:34:31 -05:00
|
|
|
from app.schemas.movie import MovieSummaryOut
|
|
|
|
|
from app.schemas.tv import SeriesSummaryOut
|
|
|
|
|
|
2026-09-04 17:34:03 -05:00
|
|
|
|
|
|
|
|
class CompanyDetailOut(BaseModel):
|
|
|
|
|
id: str
|
|
|
|
|
type: str = "company"
|
|
|
|
|
name: str
|
|
|
|
|
company_type: str
|
|
|
|
|
description: str | None = None
|
|
|
|
|
country: str | None = None
|
|
|
|
|
headquarters: str | None = None
|
|
|
|
|
homepage: str | None = None
|
|
|
|
|
logo_path: str | None = None
|
|
|
|
|
parent_company_id: str | None = None
|
|
|
|
|
external_ids: dict[str, str] = {}
|
|
|
|
|
|
2026-09-05 09:34:31 -05:00
|
|
|
movies: list[MovieSummaryOut] = []
|
|
|
|
|
series: list[SeriesSummaryOut] = []
|
|
|
|
|
|
2026-09-04 17:34:03 -05:00
|
|
|
created_at: datetime
|
|
|
|
|
updated_at: datetime
|
2026-09-05 19:08:14 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class CompanyListOut(BaseModel):
|
|
|
|
|
page: int
|
|
|
|
|
page_size: int
|
|
|
|
|
total_results: int
|
|
|
|
|
total_pages: int
|
|
|
|
|
results: list[CompanyBriefOut] = []
|