accounts_post_admin_create.md - JinraGit/travelManager GitHub Wiki
/accounts/admin/create
🛠️ POST 🧩 Funktion
Erstellt ein neues Benutzerkonto mit einer definierten Rolle (USER, ADMIN). Nur für Administratoren zugänglich.
🔐 Authentifizierung
✅ Erforderlich (ADMIN)
AccountRequestDTO
📥 Request Body: {
"username": "user",
"email": "[email protected]",
"password": "geheimespasswort",
"role": "USER"
}
201 Created
📤 Response: {
"id": 3,
"username": "user",
"email": "[email protected]",
"role": "USER"
}
⚠️ Fehlerfälle
Status | Beschreibung |
---|---|
400 | Validierungsfehler im Request |
409 | Benutzername oder E-Mail bereits vergeben |
AccountController#createAccountAsAdmin
)
🧠 Logik (aus - Prüft, ob Benutzername oder E-Mail bereits existieren via
accountService.existsByEmailOrUsername(...)
. - Erstellt
Account
-Objekt aus DTO viaAccountMapper.fromDTO(...)
. - Übergibt Account mit Zielrolle an
accountService.createWithRole(...)
. - Gibt den
AccountResponseDTO
als Ergebnis zurück.
🧪 Hinweise
- Ausschließlich für Admins im Kontext Benutzerverwaltung.
- Das Setzen der Rolle ist Pflicht und wird serverseitig übernommen.