Каждый кандидат внешней базы метаданных (TMDB/TVDB/TVMaze) теперь несёт URL на страницу элемента — при ревью можно кликнуть и проверить матч. URL формируется клиентом провайдера при поиске, сохраняется в БД (metadata_candidate.url) и отображается ссылкой в веб-интерфейсе. Co-Authored-By: Claude <noreply@anthropic.com>
25 lines
2.0 KiB
Markdown
25 lines
2.0 KiB
Markdown
## Why
|
|
|
|
При ревью человек видит кандидатов из внешних баз (TMDB/TVDB/TVMaze/IMDb), но не может быстро перейти на сайт базы и проверить, тот ли фильм/сериал был найден. Нужно добавить кликабельные ссылки на внешние сайты — чтобы за пару секунд убедиться в правильности матча, не копируя id вручную и не открывая поиск.
|
|
|
|
## What Changes
|
|
|
|
- Генерация URL внешнего сайта для каждого кандидата (TMDB, TVDB, IMDb, TVMaze) на основе провайдера и id
|
|
- Сохранение URL в `metadata_candidate` (новая колонка `url`)
|
|
- Отображение ссылки в таблице кандидатов на странице ревью (веб-UI)
|
|
- Ссылка открывается в новой вкладке (`target="_blank"`)
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
<!-- None — изменение затрагивает только существующие потоки, новый capability не создаётся. -->
|
|
|
|
### Modified Capabilities
|
|
- `recognition`: кандидаты внешних баз (`Candidate`) теперь несут URL для перехода на сайт-источник; URL сохраняется в БД и отображается в интерфейсе ревью
|
|
|
|
## Impact
|
|
|
|
- **БД**: миграция `0004_candidate_url.sql` — добавляет колонку `url TEXT` в `metadata_candidate`
|
|
- **Код**: `metadata.Candidate` (+ поле `URL`), клиенты TMDB/TVDB/TVMaze (заполнение URL при Search), `store.MetadataCandidate` (+ поле `URL`), HTTP API `candidateView` (+ поле `URL`), шаблон `review.html` (колонка со ссылкой)
|
|
- **API/транспорт**: внутреннее изменение, внешний API не затрагивается
|