Store series.tvdb_id and use tvsearch by ID #120

Closed
opened 2026-08-23 15:55:55 +01:00 by naps62-yolo · 0 comments
Owner

DESIGN.md §6.1 addresses TV as t=tvsearch&tvdbid=…&season=&ep=.
arr-indexer's TvTarget already carries tvdb_id, and every caller passes
None — see crates/arr-api/src/search.rs:368, which says so in a comment.
Every TV search today is a text query against the series title.

  • Migration adds series.tvdb_id, nullable and unique when present.
  • arr-meta gains a lookup for TMDB's /tv/{id}/external_ids, which returns
    tvdb_id. Series creation populates it; #121 backfills it on refresh for
    series added before this lands.
  • The API and the daemon pass it through to TvTarget. When it is null, or when
    the indexer's recorded t=caps says it has no ID-based search, fall back to
    the current text query rather than skipping the indexer.
  • Expose it on the series API responses.

A wiremock fixture for external_ids and a test that an indexer without ID
search still gets a text query.

DESIGN.md §6.1 addresses TV as `t=tvsearch&tvdbid=…&season=&ep=`. `arr-indexer`'s `TvTarget` already carries `tvdb_id`, and every caller passes `None` — see `crates/arr-api/src/search.rs:368`, which says so in a comment. Every TV search today is a text query against the series title. - Migration adds `series.tvdb_id`, nullable and unique when present. - `arr-meta` gains a lookup for TMDB's `/tv/{id}/external_ids`, which returns `tvdb_id`. Series creation populates it; #121 backfills it on refresh for series added before this lands. - The API and the daemon pass it through to `TvTarget`. When it is null, or when the indexer's recorded `t=caps` says it has no ID-based search, fall back to the current text query rather than skipping the indexer. - Expose it on the series API responses. A `wiremock` fixture for `external_ids` and a test that an indexer without ID search still gets a text query.
naps62-yolo added the area/metadifficulty/easyphase/6-tvtype/feature labels 2026-08-23 15:55:55 +01:00
naps62-yolo added this to the TV tracking milestone 2026-08-23 15:58:35 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#120