feat(backend): User-Locale bei KC-User-Create setzen (locale=de) #295

Merged
niboer merged 1 commit from refactor/backend-minor-cleanup into main 2026-07-11 14:09:50 +02:00
Owner

Allgemein

Altes Verhalten

Keycloak-User werden ohne attributes.locale angelegt. Einladungs-E-Mails fallen auf Englisch zurueck, obwohl Realm-i18n auf de konfiguriert ist.

Neues Verhalten

  • Neue Konstante DEFAULT_USER_LOCALE = 'de' in backend/src/lib/i18n-config.ts
  • ensureUser() (Dev-Seed) setzt attributes: { locale: ['de'] } beim User-Create
  • Invite-Endpunkt setzt attributes: { locale: ['de'] } beim User-Create
  • syncPersonToKeycloak() in keycloak-sync.ts akzeptiert optionales locale-Feld fuer Runtime-Updates bestehender User

Begruendung

Eingeladene User erhalten durch die User-Locale E-Mail-Templates in der korrekten Sprache. Die Konstante DEFAULT_USER_LOCALE ermoeglicht spaeter minimale Aenderungen fuer weitere Sprachen.

Test-Hinweise

  • npm test — 625 Tests bestanden, Coverage eingehalten
  • npm run test:build — Lint + TypeScript + Tests erfolgreich
  • 3 neue Tests in keycloak-sync.test.ts fuer locale-Verhalten
  • Bestehender invite-Test um attributes-Assertion erweitert

Checkliste

  • use:testid an neuen
  • Korrespondierender E2E-Test in e2e/specs/ angelegt? — Nicht zutreffend (Backend-only, via Unit-Tests abgedeckt)
### Allgemein - closes #213 ### Altes Verhalten Keycloak-User werden ohne `attributes.locale` angelegt. Einladungs-E-Mails fallen auf Englisch zurueck, obwohl Realm-i18n auf `de` konfiguriert ist. ### Neues Verhalten - Neue Konstante `DEFAULT_USER_LOCALE = 'de'` in `backend/src/lib/i18n-config.ts` - `ensureUser()` (Dev-Seed) setzt `attributes: { locale: ['de'] }` beim User-Create - Invite-Endpunkt setzt `attributes: { locale: ['de'] }` beim User-Create - `syncPersonToKeycloak()` in `keycloak-sync.ts` akzeptiert optionales `locale`-Feld fuer Runtime-Updates bestehender User ### Begruendung Eingeladene User erhalten durch die User-Locale E-Mail-Templates in der korrekten Sprache. Die Konstante `DEFAULT_USER_LOCALE` ermoeglicht spaeter minimale Aenderungen fuer weitere Sprachen. ### Test-Hinweise - `npm test` — 625 Tests bestanden, Coverage eingehalten - `npm run test:build` — Lint + TypeScript + Tests erfolgreich - 3 neue Tests in `keycloak-sync.test.ts` fuer locale-Verhalten - Bestehender invite-Test um `attributes`-Assertion erweitert ### Checkliste - [ ] use:testid an neuen <button>, <a>, <form>-Elementen gesetzt? — _Nicht zutreffend (keine UI-Aenderung)_ - [ ] Korrespondierender E2E-Test in e2e/specs/ angelegt? — _Nicht zutreffend (Backend-only, via Unit-Tests abgedeckt)_
feat(backend): User-Locale bei KC-User-Create setzen (locale=de)
All checks were successful
CI Backend / lint-backend (pull_request) Successful in 56s
CI Frontend / lint-frontend (pull_request) Successful in 1m17s
CI Meta / conventional-commit (pull_request) Successful in 1s
E2E / e2e (pull_request) Successful in 3m11s
CI Backend / test-backend (pull_request) Successful in 3m32s
CI Frontend / test-frontend (pull_request) Successful in 1m59s
9667535d55
closes #213

Aktuelles: Keycloak-User werden ohne locale angelegt, E-Mail-Templates fallen auf Englisch zurueck

Neu: DEFAULT_USER_LOCALE='de' in i18n-config.ts, wird beim Create (ensureUser + invite) als attributes: { locale: [...] } gesetzt. syncPersonToKeycloak unterstuetzt optionales locale-Feld fuer Runtime-Updates.

Wichtige Aenderung: backend/src/lib/i18n-config.ts neu, keycloak-sync.ts Typ von Record<string, string> auf Record<string, unknown> geaendert
niboer merged commit ee68508cdb into main 2026-07-11 14:09:50 +02:00
niboer deleted branch refactor/backend-minor-cleanup 2026-07-11 14:09:50 +02:00
Sign in to join this conversation.
No description provided.