Files
wgenerator/docs/pages/user-new.md
T
2026-05-15 11:03:02 +02:00

35 lines
1.5 KiB
Markdown

# Benutzer anlegen
## Route
`/user/new`
## Zweck
Die Seite erstellt einen neuen Benutzeraccount. Sie ist für die Selbstregistrierung gedacht und vergibt noch keine fachlichen Rollen.
## Datenquellen
- `NewComponent` verwaltet ein reaktives Formular mit `email`, `name` und `password`.
- `UserService.createNewUser(email, name, password)` delegiert an `UserSessionService.createNewUser`.
- `UserSessionService` erstellt den Firebase-Auth-Benutzer und legt anschließend `users/{uid}` in Firestore an.
## UI
Die Ansicht besteht aus einer Karte mit den Feldern Name, E-Mail-Adresse und Passwort sowie einem Button `Benutzer anlegen`. Fehlercodes werden über `AuthMessagePipe` angezeigt.
## Aktionen
- `Benutzer anlegen`: validiert das Formular, erstellt den Auth-Account, schreibt das Firestore-Benutzerdokument und navigiert danach zu `/brand/new-user`.
- Schließen über `closeLink="../"`: führt zurück zur übergeordneten Benutzerroute.
## Rollen und Berechtigungen
Die Seite ist öffentlich erreichbar. Neue Benutzer erhalten initial keine Rolle. Das angelegte Dokument enthält `name`, `chordMode: 'onlyFirst'` und `songUsage: {}`; ein Administrator muss später passende Rollen vergeben.
## Technische Hinweise
- Das Passwort muss mindestens sechs Zeichen lang sein.
- Firebase-Fehler wie `auth/email-already-in-use`, `auth/invalid-email` und `auth/weak-password` werden in deutsche Meldungen übersetzt.
- Nach der Registrierung ist der Benutzer durch Firebase Auth angemeldet, befindet sich aber ohne Rollen im Freischaltungszustand.