Files
nexarch/docs/CFG-06-PRUEFPROTOKOLL.md
T
sysops 4be7853611 CFG-06: benachrichtigungs-einstellungen-dienst-starten
- 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
2026-08-30 21:48:09 +02:00

2.6 KiB
Raw Blame History

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 hinter auth.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-api gebaut nach /opt/nexarch-core/bin/, /etc/nexarch/notifyprefs-api.env (0600, NEXARCH_NOTIFYPREFS_JWT_SECRET identisch zu NEXARCH_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 gegen notifyprefs-api verwendet → 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.