Freigabe → main: Mobile UI, Webhook, IMAP, Zahlung-Workflow und weitere Features #5

Merged
bjoernpoettker merged 16 commits from Freigabe into main 2026-07-14 07:44:32 +00:00
Showing only changes of commit b77a283ab2 - Show all commits
@@ -66,19 +66,12 @@ export class PaperlessProcessorService {
/** /**
* Verarbeitet ein einzelnes Dokument anhand seiner ID die ereignisgesteuerte * Verarbeitet ein einzelnes Dokument anhand seiner ID die ereignisgesteuerte
* Variante des früheren Cron-Jobs (vom Paperless-Webhook aufgerufen). Es wird * Variante des früheren Cron-Jobs (vom Paperless-Webhook aufgerufen). Es wird
* nur verarbeitet, wenn das Dokument den Tag "paperlessmanager" trägt. * jedes gemeldete Dokument verarbeitet, unabhängig vom Tag "paperlessmanager".
*/ */
async processDocumentById( async processDocumentById(
documentId: number, documentId: number,
): Promise<{ processed: boolean; reason?: string }> { ): Promise<{ processed: boolean; reason?: string }> {
const doc = await this.paperlessService.getDocument(documentId); const doc = await this.paperlessService.getDocument(documentId);
const tags: number[] = doc.tags || [];
if (!tags.includes(PAPERLESSMANAGER_TAG_ID)) {
this.logger.log(
`Dokument ${documentId} ohne Tag "paperlessmanager" (ID ${PAPERLESSMANAGER_TAG_ID}) übersprungen.`,
);
return { processed: false, reason: 'tag-missing' };
}
const customFields = await this.paperlessService.getCustomFields(); const customFields = await this.paperlessService.getCustomFields();
const validFieldIds = new Set<number>(customFields.map((f: any) => f.id)); const validFieldIds = new Set<number>(customFields.map((f: any) => f.id));