Initial Aurora Core 0.1 implementation
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

Production-grade media metadata backend per docs/aurora-core-spec.md:
Aurora-owned UUIDv7 identity system, normalized movie/TV/people/credits
schema, provider abstraction with a TMDb adapter, an idempotent async
ingestion pipeline (normalize -> match -> upsert -> provenance), a
Postgres FTS/trigram search layer, a stateless FastAPI v1 API with
Redis caching/rate-limiting, arq workers, dev/prod Docker Compose
topologies, unit + integration + load tests, CI, and architecture/
database/API/ERD documentation.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
NixReaper
2026-09-04 17:34:03 -05:00
co-authored by Claude Sonnet 5
commit c20df1c503
111 changed files with 10041 additions and 0 deletions
+75
View File
@@ -0,0 +1,75 @@
"""SQLAlchemy models.
Import every model module here so `Base.metadata` is fully populated for
Alembic autogeneration and `Base.metadata.create_all()` (used only in
tests) regardless of which module happens to trigger the import first.
"""
from app.models.artwork import Artwork
from app.models.base import Base
from app.models.collection import Collection, CollectionMovie, CollectionRelation, CollectionSeries
from app.models.company import Company, MovieCompany, SeriesCompany
from app.models.credit import Credit
from app.models.external_id import ExternalID
from app.models.genre import Genre, MovieGenre, SeriesGenre
from app.models.keyword import Keyword, MovieKeyword, SeriesKeyword
from app.models.language_country import Certification, Country, Language
from app.models.movie import (
Movie,
MovieAlternateTitle,
MovieProductionCountry,
MovieRecommendation,
MovieSpokenLanguage,
ReleaseDate,
)
from app.models.person import Person
from app.models.provider import IngestionJob, Provider, ProviderRecord
from app.models.tv import (
Episode,
Season,
Series,
SeriesAlternateTitle,
SeriesProductionCountry,
SeriesSpokenLanguage,
)
from app.models.video import Video
__all__ = [
"Base",
"Artwork",
"Collection",
"CollectionMovie",
"CollectionSeries",
"CollectionRelation",
"Company",
"MovieCompany",
"SeriesCompany",
"Credit",
"ExternalID",
"Genre",
"MovieGenre",
"SeriesGenre",
"Keyword",
"MovieKeyword",
"SeriesKeyword",
"Language",
"Country",
"Certification",
"Movie",
"MovieAlternateTitle",
"MovieSpokenLanguage",
"MovieProductionCountry",
"ReleaseDate",
"MovieRecommendation",
"Person",
"Provider",
"ProviderRecord",
"IngestionJob",
"Series",
"SeriesAlternateTitle",
"SeriesSpokenLanguage",
"SeriesProductionCountry",
"Season",
"Episode",
"Video",
]