Miguel Palhas
8478c0f8a9
feat(db): store poster, backdrop and rating on titles
...
§9.6 keeps rich detail out of the database except for the three fields
pure-SQL views need. Adds poster_path, backdrop_path and vote_average to
movies and series, written by the daily metadata refresh in both lanes
and filled at add time from the TMDB response the create flows already
fetch.
2026-08-23 22:12:05 +01:00
Miguel Palhas
26dd0dc5d3
Merge #153 : placeholder for empty episode titles
...
Closes #153
2026-08-23 20:58:09 +01:00
Miguel Palhas
e9a5095557
feat(api): reject empty episode titles
2026-08-23 20:55:30 +01:00
Miguel Palhas
06a68372e6
feat(api): expose series and season on episodes
2026-08-23 20:44:28 +01:00
Miguel Palhas
468f31f0b0
Merge #141 : expose seasons.vanished on the API
...
Closes #141
2026-08-23 20:31:13 +01:00
Miguel Palhas
571ec42e92
feat(api): expose seasons.vanished ( #141 )
...
Season objects from the series endpoints now carry the conflict flag
#137 writes, the way episodes already do.
2026-08-23 20:27:34 +01:00
Miguel Palhas
e335a1be73
style(api): drop needless raw string hashes
2026-08-23 20:13:54 +01:00
Miguel Palhas
d8316ae0c8
feat(api): series files keyed by episode id
2026-08-23 18:41:36 +01:00
Miguel Palhas
695f1882be
Merge #128 : series delete unlinks its files
...
Closes #128
2026-08-23 18:25:56 +01:00
Miguel Palhas
b0f56f59aa
fix(api): delete series files and media_files rows
2026-08-23 18:23:41 +01:00
Miguel Palhas
50b68e24b6
api: derive status from episode season numbers
...
with_status drops its seasons slice for the same reason as
derive_series_status; tv_by_series no longer loads seasons at all.
Offline query data regenerated.
2026-08-23 18:18:26 +01:00
Miguel Palhas
34ccbeeb5a
feat(api): expose vanished flag on episodes
2026-08-23 18:01:41 +01:00
Miguel Palhas
28e7dd9a20
Merge #119 : seasons.tracked governs episode intent
...
Closes #119
2026-08-23 16:54:47 +01:00
Miguel Palhas
7632140ef2
fix(api): hoist test helper above statements
2026-08-23 16:52:13 +01:00
Miguel Palhas
fa3b5226e7
feat(api): season tracked toggle marks revealed episodes
2026-08-23 16:50:45 +01:00
Miguel Palhas
75bf6fb14e
feat(api): season search, deck and grab endpoints
2026-08-23 16:49:42 +01:00
Miguel Palhas
93ccea2de0
fix(api): specials stay out of episode counters
2026-08-23 16:40:38 +01:00
Miguel Palhas
fc93d27f7e
Merge #120 : series.tvdb_id and tvsearch by ID
...
Closes #120
2026-08-23 16:35:34 +01:00
Miguel Palhas
a5706cf1b4
feat(tv): search indexers by series tvdb id
2026-08-23 16:32:28 +01:00
Miguel Palhas
3bd613ec63
feat(core): derived status ignores season 0
2026-08-23 16:32:13 +01:00
Miguel Palhas
8f8431eed0
fix(api): rescore release decks at read time
...
GET .../releases returned the stored score column, frozen at
search time. Policy tuning never reached an existing deck. Recompute
from parsed/size/seeders against the current policy and re-sort by
bucket then score; the stored column stays for the daemon's grab-time
winner pick.
Closes #114
2026-08-23 12:25:04 +01:00
naps62-yolo
f38fb1277b
Library views with derived status ( #83 )
ci / web (push) Successful in 33s
ci / rust (push) Successful in 1m29s
e2e / e2e (push) Successful in 1m12s
2026-08-22 23:33:05 +01:00
naps62-yolo
d3cea8693b
feat(api): series, season and episode endpoints ( #81 )
ci / web (push) Successful in 26s
e2e / e2e (push) Successful in 47s
ci / rust (push) Successful in 2m39s
2026-08-22 23:02:34 +01:00