Add movie/series ratings and watchlist

Builds on the accounts foundation: PUT/DELETE a rating (0.5-10.0) or a
watchlist entry on any movie or series, all scoped to the bearer token's
own user, plus GET /account/ratings|watchlist/{movies,series} to list
them back. Both are polymorphic entity_type/entity_id tables, same shape
as watch_provider_offerings and trending_entries, so movie and series
share one repository/router each rather than duplicating per type.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
NixReaper
2026-09-06 10:47:41 -05:00
co-authored by Claude Sonnet 5
parent a38c2074a6
commit 0ab31a314c
20 changed files with 1043 additions and 6 deletions
+4
View File
@@ -24,6 +24,7 @@ from app.models.movie import (
)
from app.models.person import Person
from app.models.provider import IngestionJob, Provider, ProviderRecord
from app.models.rating import Rating
from app.models.trending import TrendingEntry
from app.models.tv import (
Episode,
@@ -36,6 +37,7 @@ from app.models.tv import (
from app.models.user import User
from app.models.video import Video
from app.models.watch_provider import WatchProvider, WatchProviderOffering
from app.models.watchlist import WatchlistEntry
__all__ = [
"Base",
@@ -79,4 +81,6 @@ __all__ = [
"WatchProviderOffering",
"TrendingEntry",
"User",
"Rating",
"WatchlistEntry",
]