goon/app/models
jtrzupek bcee5851e9 feat(api): per-device saved searches (keyword favorites)
User-report (mobilism): scenes are often poorly titled, so saved keyword queries are a useful extra retrieval strategy. New saved_searches table (device-scoped via X-Device-Id, unique per device+query, 50/device cap) + GET/POST/DELETE /saved-searches. Migration 0024. Verified CRUD on prod: add trims+dedups idempotently, empty rejected 422, delete idempotent.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 13:52:18 +02:00
..
__init__.py feat(api): per-device saved searches (keyword favorites) 2026-06-16 13:52:18 +02:00
base.py Initial commit 2026-05-20 10:10:22 +02:00
blacklist.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
bug_report.py feat(bug-reports): two-way replies (device-scoped) + admin reply endpoint 2026-06-12 11:35:44 +02:00
external_record.py Initial commit 2026-05-20 10:10:22 +02:00
favorite_movie.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
favorite_performer.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
favorite_scene.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
favorite_studio.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
ingest_run.py Initial commit 2026-05-20 10:10:22 +02:00
merge_candidate.py Initial commit 2026-05-20 10:10:22 +02:00
movie.py Initial commit 2026-05-20 10:10:22 +02:00
movie_playback_source.py Initial commit 2026-05-20 10:10:22 +02:00
performer.py perf(taxonomy): denormalize scene_count for tags/performers/studios 2026-05-31 17:53:48 +02:00
play_progress.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
playback_source.py Initial commit 2026-05-20 10:10:22 +02:00
saved_search.py feat(api): per-device saved searches (keyword favorites) 2026-06-16 13:52:18 +02:00
scene.py Initial commit 2026-05-20 10:10:22 +02:00
source.py Initial commit 2026-05-20 10:10:22 +02:00
studio.py perf(taxonomy): denormalize scene_count for tags/performers/studios 2026-05-31 17:53:48 +02:00
tag.py perf(taxonomy): denormalize scene_count for tags/performers/studios 2026-05-31 17:53:48 +02:00