feat(api): digest de scan avec fichiers incomplets en cas d'échec

Un fichier dont l'ingestion échoue est enregistré en entrée incomplète
(métadonnées minimales) plutôt que d'interrompre le scan; le digest du
job liste les échecs avec exemples tronqués.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Git Agent
2026-08-23 16:23:57 +02:00
parent c26169bcf2
commit f3c6da2889
2 changed files with 92 additions and 7 deletions

View File

@ -0,0 +1,20 @@
import { describe, expect, it } from "vitest";
import { scanDigest } from "./scanner.service.js";
describe("scan digest", () => {
it("reports incomplete files without exposing huge traces", () => {
const detail = scanDigest(
19,
0,
[
{ filePath: "/library/broken.cbr", error: "x".repeat(300) },
{ filePath: "/library/broken.epub", error: "Invalid EPUB" }
]
);
expect(detail).toContain("Scanned 19 file(s)");
expect(detail).toContain("2 incomplete file(s)");
expect(detail).toContain("broken.cbr");
expect(detail.length).toBeLessThan(380);
});
});