- cmd/notifyprefs-api: startet internal/notifyprefs.Handler (CFG-04), hinter auth.RequireAuth mit demselben JWT-Secret wie IAM-16 - reines Wiring, kein Diff an internal/notifyprefs/ (verifiziert) - real deployed auf 131, cross-service-Session real bewiesen: Login gegen account-api, dasselbe Cookie gegen notifyprefs-api verwendet -> echtes Setzen und Lesen einer Praeferenz, ohne Cookie -> 401 - nutzt dieselbe nexarch_registry-DB wie CFG-05, Grants bereits vorhanden Pruefungen siehe docs/CFG-06-PRUEFPROTOKOLL.md
2.6 KiB
2.6 KiB
CFG-06 – Prüfprotokoll: Benachrichtigungs-Einstellungen-Dienst starten (CFG-04 als laufender Dienst)
Voraussetzung CFG-04, IAM-16 – beide bereits Fertig, hier UNVERÄNDERT.
Reines Wiring, keine neue Logik
git diff --stat internal/notifyprefs/ liefert KEINEN Diff.
cmd/notifyprefs-api/main.go setzt ausschließlich bestehende
Konstruktoren zusammen, jeder Endpunkt hinter auth.RequireAuth mit
demselben JWT-Secret wie IAM-16 (account-api) — dritter Baustein der
Core-GUI mit bewiesener Cross-Service-Session-Gültigkeit nach RBAC-07.
Umsetzung
cmd/notifyprefs-api/main.go–GET/POST /notifications/preferences,GET /notifications/preferences/tenant, alle hinterauth.RequireAuth.deploy/systemd/nexarch-notifyprefs-api.service.tmpl.
Prüfungen
| # | Prüfung | Ergebnis |
|---|---|---|
| 1 | Dienst startet und bleibt stabil (systemctl status aktiv) | bestanden – real auf 131: nexarch-notifyprefs-api.service aktiv |
| 2 | Realer Aufruf mit gültigem IAM-16-Session-Cookie setzt/liest eine echte Präferenz, ohne Cookie 401 | bestanden – real per curl: ohne Cookie → 401; mit dem bei account-api ausgestellten Cookie: POST /notifications/preferences (Kanal email für invoice_ready deaktiviert) → 200, anschließendes GET liefert exakt diese Zeile zurück, korrekt dem einloggten Nutzer und Tenant (acme) zugeordnet |
| 3 | Code-Review: keine Änderung an internal/notifyprefs/ selbst, nur main.go+systemd neu | bestanden – git diff --stat internal/notifyprefs/ liefert leeren Diff |
Echte Verdrahtung auf 192.168.1.131
notifyprefs-apigebaut nach/opt/nexarch-core/bin/,/etc/nexarch/notifyprefs-api.env(0600,NEXARCH_NOTIFYPREFS_JWT_SECRETidentisch zuNEXARCH_ACCOUNT_JWT_SECRET), Dienst installiert/aktiviert.- Nutzt dieselbe
nexarch_registry-DB/Tabellen (notification_preferences) wie CFG-05 — Grants dort bereits aus CFG-05 vorhanden, keine neue Grant-Lücke gefunden. - End-zu-Ende-Beweis: Testnutzer angelegt, Login gegen
account-api, dasselbe Cookie gegennotifyprefs-apiverwendet → echtes Setzen und Lesen einer Präferenz. Testdaten anschließend entfernt.
Build/Test-Ergebnis (192.168.1.131)
go build ./... -> clean
go vet ./... -> clean
golangci-lint run ./cmd/notifyprefs-api/... -> 0 issues
Gesamtergebnis
Bestanden. CFG-04 ist jetzt ein real laufender, über systemd verwalteter Dienst, cross-service authentifiziert über dieselbe IAM-16-Session wie RBAC-07 — dritter erfolgreich real geprüfter Auth-geschützter Baustein der Core-GUI.