kcApi-Response-Wrapper: Zentrale Erfolgs-/Fehlerbehandlung fuer Keycloak-Admin-API-Aufrufe #201
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner#201
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Aktuell ruft jede Stelle im Backend
kcApi()roh auf und prueft den HTTP-Status selbst. Dabei wird oft vergessen, dass Keycloak-API-Endpunkte unterschiedliche Erfolgs-Statuscodes (200, 201, 204, …) verwenden.Beispiel: Bug #200
In
backend/src/routes/persons.ts:554wurdeif (emailStatus !== 200)geschrieben, aber Keycloaksexecute-actions-emailliefert bei Erfolg HTTP 204. Der Fehler blieb unentdeckt, weil vier andere Stellen inkeycloak-provision.tsundkeycloak-sync.tskorrekt auf204checken – aber keine gemeinsame Abstraktion dafuer sorgt.Gewuenschte Loesung
Ein zentraler
kcApi-Wrapper (oder eine Konfiguration inbackend/src/lib/keycloak-api.ts), der:{ status, data }-Paare)Vorteile
Nachteile
Aufwandsschaetzung
backend/src/lib/keycloak-api.ts): ~1-2hBetroffene Dateien (ca. 8 Vorkommen)
backend/src/routes/persons.ts– invite-Endpunkt (2x kcApi)backend/src/lib/keycloak-provision.ts– Realm-Bootstrap (3x kcApi)backend/src/lib/keycloak-sync.ts– User-Sync (1x kcApi)backend/src/lib/keycloak-provision.ts– seedDevUsers (1x kcApi)backend/src/__tests__/persons.test.ts(kcApi-Mocks)Labels
component/backend, type/feature, MS-REST