Add movies/series filmography to company detail
CI / lint (push) Canceled after 0s
CI / typecheck (push) Canceled after 0s
CI / unit-tests (push) Canceled after 0s
CI / integration-tests (push) Canceled after 0s
CI / container-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s

GET /companies/{id} showed only the company's own info. Adds movies
and series lists (any role: production, distribution, network),
ordered by release/first-air date, read straight off the existing
movie_companies/series_companies junction rows -- no separate sync
needed since those only ever exist as a side effect of ingesting the
movie or series itself.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
NixReaper
2026-09-05 09:34:31 -05:00
co-authored by Claude Sonnet 5
parent 606d2532c4
commit 6956bf7406
6 changed files with 144 additions and 2 deletions
+7
View File
@@ -160,6 +160,13 @@ member movies purely by external-id lookup, the same never-fabricate-a-stub
rule `recommendations` follows, so a franchise fills in as more of its
movies get ingested rather than all at once.
Company detail also carries `movies` and `series` lists — everything that
company is credited on (any role: production, distribution, network),
ordered by release/first-air date. No never-fabricate-a-stub caveat here:
a `MovieCompany`/`SeriesCompany` row is only ever created as a side effect
of actually ingesting that movie or series, so there's no separate
"company's known filmography" TMDb ever needs linking after the fact.
## Administrative (section 17: "separately protected")
Require header `X-API-Key: <one of AURORA_ADMIN_API_KEYS>`. Never exposed to
+6 -1
View File
@@ -57,7 +57,12 @@ else carries `job`. Series-level "Creator" credits and episode
A single `companies` table serves production companies, studios, networks,
and distributors, distinguished by `company_type` (section 8) — a TV network
and a movie studio have the same shape (name, logo, country, parent
company), so a separate `Network` entity would just duplicate columns.
company), so a separate `Network` entity would just duplicate columns. A
company's own filmography (`GET /api/v1/companies/{id}`'s `movies`/`series`
lists) is read straight off `movie_companies`/`series_companies` — no
separate sync step, since those rows only ever exist as a side effect of
ingesting the movie or series itself (`app/repositories/company_repository.py`).
`collections` (franchises) are first-class, with their own artwork and
`collection_relations` for shared-universe links between collections
(section 9). A collection starts as a bare name-only stub the first time