Session 3: Radarr/Sonarr/Lidarr clients with add-on-search

Adds internal/arr with a shared HTTP layer and per-service clients that
look up candidates and POST the chosen one back with monitored=true and
search-on-add enabled. Lidarr requires metadata_profile_id, now part of
ArrConfig and validated when lidarr is set.
This commit is contained in:
prosolis
2026-05-24 20:22:50 -07:00
parent 5c7d21e574
commit 206b378d93
9 changed files with 537 additions and 1 deletions

View File

@@ -26,7 +26,7 @@ Rewriting Bellhop from a Python FastAPI web portal into a Go-based Matrix comman
- Threaded reply helper for command responses
- Drop Pete-specific bits: image upload, reaction handler, story formatting
- [ ] **Session 3 — *arr clients** (`internal/arr/`)
- [x] **Session 3 — *arr clients** (`internal/arr/`)
- One file per service or a single generic client (TBD in session)
- `Search(term) → []Result` and `Add(result) → error`
- Radarr: `/api/v3/movie/lookup` + POST `/api/v3/movie`