From 2f8566307b42734dd12cb8b884b622045f11cb08 Mon Sep 17 00:00:00 2001 From: Kundencenter Date: Mon, 28 Sep 2026 11:34:59 +0200 Subject: [PATCH] fix(worker): handle invoice.issued event in discord.notify MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The invoices module started enqueueing invoice.issued notifications but the worker's discord.notify handler had no case for it, causing the job to exhaust retries and land in needs_review (surfaced on the dashboard as "Aufträge mit Fehlern / Prüfbedarf"). Co-Authored-By: Claude Sonnet 5 --- apps/worker/src/jobs.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/worker/src/jobs.ts b/apps/worker/src/jobs.ts index e7b32f2..33e38d9 100644 --- a/apps/worker/src/jobs.ts +++ b/apps/worker/src/jobs.ts @@ -13,7 +13,8 @@ const handlers: Record = { : p.event === 'backup.stale' ? `⚠ Kein aktuelles Backup: ${p.detail ?? ''}`.trim() : p.event === 'restoretest.failed' ? `⚠ Wiederherstellungstest fehlgeschlagen: ${p.detail ?? ''}`.trim() : p.event === 'ticket.created' ? `🎫 Neues Ticket ${p.number}: ${p.subject ?? ''}`.trim() - : p.event === 'ticket.message' ? `🎫 Neue Nachricht zu Ticket ${p.number}` : null; // keine personenbezogenen Daten + : p.event === 'ticket.message' ? `🎫 Neue Nachricht zu Ticket ${p.number}` + : p.event === 'invoice.issued' ? `🧾 Rechnung ${p.number} ausgestellt (${(Number(p.gross ?? 0) / 100).toLocaleString('de-DE', { style: 'currency', currency: 'EUR' })})` : null; // keine personenbezogenen Daten if (!text) throw new Error(`Unbekanntes Ereignis: ${p.event}`); const r = await notifyAdmin(text); if (r === 'skipped') return 'übersprungen: Discord nicht konfiguriert';