fix(paperless): Anpassung an Paperless-NGX 3.4 (API v10)
Build and Push Multi-Platform Images / build-and-push (push) Successful in 31s
Build and Push Multi-Platform Images / build-and-push (push) Successful in 31s
- Task-Status: getTask() normalisiert die paginierte v10-Antwort (status klein, result_data, related_document_ids). Bisher wurde jede Task als „nicht gefunden“ gelöscht, ohne Nachbearbeitung. - Checksummen: Paperless ≥ 3.0 nutzt SHA-256 statt MD5. Duplikatprüfung umgestellt; Migration verbreitert Attachments.Checksum und berechnet Bestandswerte per SHA2() neu. - Custom-Field-Suche über custom_field_query, der alte Filter wurde von Paperless ignoriert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
33457c19c2
commit
4f34855c12
10 files changed
+218
-40
No files matched your search
@@ -307,8 +307,9 @@ export class EmailImportService {
|
||||
const copied = await sliced.copyPages(pdfDoc, indices);
|
||||
copied.forEach((p) => sliced.addPage(p));
|
||||
|
||||
// Paperless ≥ 3.0 vergleicht SHA-256-Checksummen
|
||||
const checksum = crypto
|
||||
.createHash('md5')
|
||||
.createHash('sha256')
|
||||
.update(Buffer.from(await sliced.save()))
|
||||
.digest('hex');
|
||||
return this.paperlessService.checksumExists(checksum);
|
||||
@@ -787,14 +788,17 @@ export class EmailImportService {
|
||||
try {
|
||||
const taskStatus =
|
||||
await this.paperlessService.getTask(paperlessTaskId);
|
||||
// Paperless returns { results: [ ... ] } for filtered tasks
|
||||
const statusObj = taskStatus.results
|
||||
? taskStatus.results[0]
|
||||
: Array.isArray(taskStatus)
|
||||
? taskStatus[0]
|
||||
: taskStatus;
|
||||
if (statusObj && statusObj.related_document) {
|
||||
docId = statusObj.related_document;
|
||||
if (taskStatus?.documentId) {
|
||||
docId = taskStatus.documentId;
|
||||
break;
|
||||
}
|
||||
if (
|
||||
taskStatus?.status === 'FAILURE' ||
|
||||
taskStatus?.status === 'REVOKED'
|
||||
) {
|
||||
this.logger.warn(
|
||||
`Paperless-Task ${paperlessTaskId} fehlgeschlagen: ${taskStatus.message ?? 'keine Meldung'}`,
|
||||
);
|
||||
break;
|
||||
}
|
||||
} catch (e) {}
|
||||
|
||||
Reference in new issue
Block a user