internal/moduleadapter: Registrierungs-API + Rueckruf-Ausloeser fuer DMS/Mail, bewusst NUR Archives eigene Seite - keine Modul-Empfaenger- Implementierung (Nutzervorgabe: Interface zuerst festlegen, damit DMS/Mail spaeter nicht gegen ein sich noch aenderndes Interface bauen). Register ist ON-CONFLICT-DO-NOTHING (erneute Registrierung aendert nie bestehende callback_url), NotifyDestruction echter HTTP-POST mit festem DestructionNotice-Vertrag. Idempotenz sowohl auf Go- als auch HTTP- Ebene bewiesen, Rueckruf gegen echten Testendpunkt verifiziert.
15 lines
697 B
SQL
15 lines
697 B
SQL
-- RET-05: Modul-Adapter-Schnittstelle. Ein Modul (DMS, Mail, ...)
|
|
-- registriert je Objekttyp EINE Rueckruf-Adresse fuer Loeschbestaetigung
|
|
-- - Archive kennt danach nur noch module_name/object_type/callback_url,
|
|
-- keine Modul-Interna. Mandantenfaehig durch Modell C (physisch
|
|
-- isolierte Tenant-DB, TEN-01) - kein tenant_id-Feld noetig, dieselbe
|
|
-- Begruendung wie RET-01s retention_objects.
|
|
CREATE TABLE IF NOT EXISTS module_registrations (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
module_name TEXT NOT NULL,
|
|
object_type TEXT NOT NULL,
|
|
callback_url TEXT NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
UNIQUE (module_name, object_type)
|
|
);
|