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:
co-authored by
Claude Sonnet 5
parent
a38c2074a6
commit
0ab31a314c
@@ -0,0 +1,21 @@
|
||||
"""Request/response schemas for the authenticated user's own ratings and
|
||||
watchlist (section 17, additive)."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class RatingIn(BaseModel):
|
||||
# 0.5-10.0 in practice (TMDb's own scale), enforced as a continuous
|
||||
# range rather than an enum of 0.5 steps -- not worth the extra
|
||||
# validation for a value nothing downstream treats as discrete.
|
||||
value: float = Field(ge=0.5, le=10.0)
|
||||
|
||||
|
||||
class RatingOut(BaseModel):
|
||||
value: float
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
Reference in New Issue
Block a user