feat(archive): RET-06-API Aufbewahrungsfristen-Konfigurations-Backend

Board-Entscheidung: Backend-API zuerst, echtes Next.js-Frontend als
separates Folgeticket - vermeidet Pseudo-Frontend-Protokoll.
internal/retentionapi: 4 Endpunkte (anlegen/aendern, deaktivieren,
liste, vorschau), Vorschau nutzt dieselbe ListExpiringObjects-Funktion
wie RET-02s periodischer Job (keine Doppel-Implementierung).
RequireRole ist AUSDRUECKLICH kein RBAC-02-Ersatz, sondern ein
dokumentiertes Provisorium (Header-Check) - RBAC-02 ist reiner
Core-interner Go-Code ohne HTTP-Schnittstelle fuer andere Module,
derselbe Befund wie FDN-03/FDN-09. Provisorium real getestet inkl.
Negativfall (403 ohne/mit falscher Rolle). retention_class_rules um
active-Flag erweitert (deaktivieren ohne Historienverlust). Real auf
131 deployed und per curl end-to-end verifiziert.
This commit is contained in:
sysops
2026-08-30 02:09:37 +02:00
parent 2c9a7482b6
commit 21278f1405
11 changed files with 644 additions and 3 deletions
@@ -0,0 +1 @@
ALTER TABLE retention_class_rules DROP COLUMN IF EXISTS active;
@@ -0,0 +1,4 @@
-- RET-06-API: Aufbewahrungsklassen lassen sich deaktivieren, ohne ihre
-- Historie (bereits erfolgte Zuordnungen/Berechnungen) zu verlieren -
-- kein DELETE, nur ein Sichtbarkeits-/Anwendbarkeits-Flag.
ALTER TABLE retention_class_rules ADD COLUMN IF NOT EXISTS active BOOLEAN NOT NULL DEFAULT true;