Files
Aurora-Core/app/models/enums.py
T
NixReaperandClaude Sonnet 5 c20df1c503
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
Initial Aurora Core 0.1 implementation
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]>
2026-09-04 17:34:03 -05:00

85 lines
1.9 KiB
Python

"""Shared enumerations used across Aurora Core models."""
from __future__ import annotations
import enum
class MovieStatus(enum.StrEnum):
RUMORED = "rumored"
PLANNED = "planned"
IN_PRODUCTION = "in_production"
POST_PRODUCTION = "post_production"
RELEASED = "released"
CANCELED = "canceled"
class SeriesStatus(enum.StrEnum):
PLANNED = "planned"
PILOT = "pilot"
IN_PRODUCTION = "in_production"
RETURNING_SERIES = "returning_series"
ENDED = "ended"
CANCELED = "canceled"
class ArtworkType(enum.StrEnum):
POSTER = "poster"
BACKDROP = "backdrop"
LOGO = "logo"
PROFILE = "profile"
STILL = "still"
BANNER = "banner"
THUMBNAIL = "thumbnail"
class VideoType(enum.StrEnum):
TRAILER = "trailer"
TEASER = "teaser"
CLIP = "clip"
FEATURETTE = "featurette"
BEHIND_THE_SCENES = "behind_the_scenes"
INTERVIEW = "interview"
OTHER = "other"
class CompanyType(enum.StrEnum):
PRODUCTION_COMPANY = "production_company"
NETWORK = "network"
STUDIO = "studio"
DISTRIBUTOR = "distributor"
class EntityType(enum.StrEnum):
"""Kinds of entity that polymorphic tables (credits, artwork, videos,
external IDs, release dates, provider records) can attach to."""
MOVIE = "movie"
SERIES = "series"
SEASON = "season"
EPISODE = "episode"
PERSON = "person"
COMPANY = "company"
COLLECTION = "collection"
class IngestionJobStatus(enum.StrEnum):
PENDING = "pending"
RUNNING = "running"
SUCCEEDED = "succeeded"
FAILED = "failed"
RETRYING = "retrying"
class MatchConfidence(enum.StrEnum):
"""How confident the entity matcher was when linking a provider record
to an Aurora entity. Anything below HIGH should be reviewable rather
than silently merged — see docs/architecture.md."""
EXACT = "exact"
HIGH = "high"
MEDIUM = "medium"
LOW = "low"
AMBIGUOUS = "ambiguous"
NEW = "new"