fix: nettoyer les available_downloads orphelins lors de la détection

Supprime les entrées available_downloads dont le series_name ne
correspond plus à aucune série existante dans books, au début de
chaque job de détection de téléchargements.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-28 08:53:08 +01:00
parent 0555cb85b1
commit a398225fa6

View File

@@ -446,6 +446,22 @@ pub(crate) async fn process_download_detection(
.await
.map_err(|e| e.to_string())?;
// Clean up available_downloads for series that no longer exist in books
sqlx::query(
r#"
DELETE FROM available_downloads
WHERE library_id = $1
AND series_name NOT IN (
SELECT DISTINCT COALESCE(NULLIF(series, ''), 'unclassified')
FROM books WHERE library_id = $1
)
"#,
)
.bind(library_id)
.execute(pool)
.await
.map_err(|e| e.to_string())?;
let total = all_series.len() as i32;
sqlx::query("UPDATE index_jobs SET total_files = $2 WHERE id = $1")
.bind(job_id)