Hygiene R140: Datei-Loesch-Helfer konsolidieren + DB-vor-Datei

Pentester-Hygiene zu a6b1dac:

1) Konsolidierung: neuer utils/fileCleanup.ts mit deleteFileAbsolute
   (absoluter Pfad, z.B. Multer-Temp) + deleteUploadByRelativePath
   (in DB gespeicherter /uploads/-Pfad). Ersetzt die 3x kopierten
   deleteFileIfExists/cleanupFile in creditNote-, upload- und
   customer-Service.

2) Reihenfolge: In deleteCreditNote/updateCreditNote erst die DB-
   Operation, DANN die Datei loeschen. Schlaegt der DB-Schritt fehl,
   bleibt die Datei erhalten (kein ins-Leere-zeigender Zustand).

Verifiziert: Update -> pdfPath null + alte Datei weg; Delete -> gibt
geloeschte Row zurueck (Audit) + Datei weg. Kein Regression.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-08 22:57:40 +02:00
co-authored by Claude Opus 4.8
parent c29ffd7bea
commit 3e2d9395a7
5 changed files with 75 additions and 69 deletions
+6
View File
@@ -143,6 +143,12 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
- **Datei-Cleanup (R138-Hinweis):** Beim Löschen einer Gutschrift werden
PDF + Beleg von der Platte entfernt; beim Bearbeiten (pdfPath wird
geleert) wird das alte PDF gelöscht → keine verwaisten Dateien mehr.
- **Hygiene R140:** Datei-Lösch-Helfer in `utils/fileCleanup.ts`
konsolidiert (`deleteFileAbsolute` + `deleteUploadByRelativePath`),
ersetzt die vorher 3× kopierten `deleteFileIfExists`/`cleanupFile`
(creditNote-, upload-, customer-Service). Reihenfolge umgestellt:
erst DB-Delete/-Update, DANN Datei löschen (schlägt DB fehl, bleibt
die Datei). Verifiziert.
- [~] **🧾 Gutschriftsverwaltung (Subventionen am Vertrag) Phase 1: Backend** (2026-08-06)
- Use-Case: zu einem Vertrag kann eine Subvention gewährt werden **Geld**