mirror of
https://github.com/myronblair/kino-app
synced 2026-07-27 21:18:43 -05:00
Wire Requests approval into Radarr/Sonarr with live download status
Admin can now Approve a pending request as Movie or TV, which looks up the title via Radarr/Sonarr's own lookup API, adds the best match with search-on-add enabled, and tracks the resulting radarr_id/sonarr_id on the request. A live status line (searching/queued/downloading/downloaded, polled every 15s) shows next to each approved request.
This commit is contained in:
+10
-1
@@ -191,6 +191,10 @@ class RequestUpdate(BaseModel):
|
||||
status: str
|
||||
|
||||
|
||||
class RequestApprove(BaseModel):
|
||||
content_type: str # "movie" | "tv"
|
||||
|
||||
|
||||
class MovieRequest(BaseModel):
|
||||
model_config = ConfigDict(extra="ignore")
|
||||
id: str = Field(default_factory=lambda: str(uuid.uuid4()))
|
||||
@@ -199,7 +203,12 @@ class MovieRequest(BaseModel):
|
||||
title: str
|
||||
year: Optional[int] = None
|
||||
notes: str = ""
|
||||
status: str = "pending"
|
||||
status: str = "pending" # pending | approved | fulfilled | rejected
|
||||
content_type: Optional[str] = None # movie | tv, set once approved
|
||||
radarr_id: Optional[int] = None
|
||||
sonarr_id: Optional[int] = None
|
||||
matched_title: Optional[str] = None
|
||||
matched_year: Optional[int] = None
|
||||
created_at: str = Field(default_factory=_now_iso)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user