feat: add series status, improve providers & e2e tests

- Add series status concept (ongoing/ended/hiatus/cancelled/upcoming)
  with normalization across all providers
- Add status field to series_metadata table (migration 0033)
- AniList: use chapters as fallback for volume count on ongoing series,
  add books_message when both volumes and chapters are null
- Bedetheque: extract description from meta tag, genres, parution status,
  origin/language; rewrite book parsing with itemprop microdata for
  clean ISBN, dates, page counts, covers; filter placeholder authors
- Add comprehensive e2e provider tests with field coverage reporting
- Wire status into EditSeriesForm, MetadataSearchModal, and series page

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-18 16:10:45 +01:00
parent 51ef2fa725
commit 52b9b0e00e
10 changed files with 566 additions and 156 deletions

View File

@@ -516,6 +516,7 @@ export type SeriesMetadataDto = {
publishers: string[];
start_year: number | null;
total_volumes: number | null;
status: string | null;
book_author: string | null;
book_language: string | null;
locked_fields: Record<string, boolean>;
@@ -657,6 +658,7 @@ export type SyncReport = {
books: BookSyncReport[];
books_matched: number;
books_unmatched: number;
books_message?: string;
};
export type MissingBooksDto = {