BE: 7-Tage-Cleanup abgeschlossener DeletionRequests im Maintenance-Container #146

Closed
opened 2026-06-30 19:44:30 +02:00 by niboer · 0 comments
Owner

Aufgabe

Abgeschlossene DeletionRequests (status = "completed") sollen 7 Tage nach der Verarbeitung automatisch aus der Datenbank entfernt werden.

Akzeptanzkriterien

  • Neue Datei backend/src/maintenance/cleanup-deletion-requests.ts mit Funktion cleanupCompletedDeletionRequests()
    • Prisma-Query: DELETE FROM deletionRequests WHERE status = 'completed' AND processedAt < NOW() - INTERVAL '7 days'
    • Gibt Anzahl geloeschter Datensaetze zurueck
    • Loggt die Anzahl via console.log
  • Einbindung in backend/src/maintenance/index.ts
    • Import + Aufruf zusammen mit bestehenden Maintenance-Tasks
    • Lauft im 24h-Takt (bestehender BACKUP_FREQUENCY: 24)
  • Kein neuer Timer/Cron noetig — der bestehende Maintenance-Container-Zyklus reicht
  • Tests: backend/src/__tests__/maintenance.test.ts (oder in bestehender Testdatei)
    • Mock-Prisma: prueft korrekte DELETE-WHERE-Klausel (status = completed, processedAt < 7 Tage)

Umsetzungshinweise

  • Das maintenance/index.ts-Skript lauft bereits im Docker-Container als separater Process
  • Prisma-Zugriff via ../lib/prisma.js analog zu anderen Modulen
  • SQL NOW() - INTERVAL '7 days' oder via JS: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000)

Commit

feat(backend): 7-Tage-Cleanup abgeschlossener DeletionRequests im Maintenance-Container

Body:

refs #<nr>

Aktuell: Abgeschlossene Loeschantraege bleiben unbegrenzt in der DB.
Neu: cleanupCompletedDeletionRequests() im maintenance/index.js, loescht Requests mit status=completed aelter als 7 Tage. Lauft im 24h-Zyklus des bestehenden Maintenance-Containers.

Testlauf vor Commit: npm test && npx tsc --noEmit im Backend.

## Aufgabe Abgeschlossene DeletionRequests (status = "completed") sollen 7 Tage nach der Verarbeitung automatisch aus der Datenbank entfernt werden. ## Akzeptanzkriterien - [ ] Neue Datei `backend/src/maintenance/cleanup-deletion-requests.ts` mit Funktion `cleanupCompletedDeletionRequests()` - Prisma-Query: `DELETE FROM deletionRequests WHERE status = 'completed' AND processedAt < NOW() - INTERVAL '7 days'` - Gibt Anzahl geloeschter Datensaetze zurueck - Loggt die Anzahl via `console.log` - [ ] Einbindung in `backend/src/maintenance/index.ts` - Import + Aufruf zusammen mit bestehenden Maintenance-Tasks - Lauft im 24h-Takt (bestehender `BACKUP_FREQUENCY: 24`) - [ ] Kein neuer Timer/Cron noetig — der bestehende Maintenance-Container-Zyklus reicht - [ ] Tests: `backend/src/__tests__/maintenance.test.ts` (oder in bestehender Testdatei) - Mock-Prisma: prueft korrekte DELETE-WHERE-Klausel (status = completed, processedAt < 7 Tage) ## Umsetzungshinweise - Das `maintenance/index.ts`-Skript lauft bereits im Docker-Container als separater Process - Prisma-Zugriff via `../lib/prisma.js` analog zu anderen Modulen - SQL `NOW() - INTERVAL '7 days'` oder via JS: `new Date(Date.now() - 7 * 24 * 60 * 60 * 1000)` ## Commit ``` feat(backend): 7-Tage-Cleanup abgeschlossener DeletionRequests im Maintenance-Container ``` Body: ``` refs #<nr> Aktuell: Abgeschlossene Loeschantraege bleiben unbegrenzt in der DB. Neu: cleanupCompletedDeletionRequests() im maintenance/index.js, loescht Requests mit status=completed aelter als 7 Tage. Lauft im 24h-Zyklus des bestehenden Maintenance-Containers. ``` Testlauf vor Commit: `npm test && npx tsc --noEmit` im Backend.
Sign in to join this conversation.
No description provided.