accounts_put_id_role.md - JinraGit/travelManager GitHub Wiki

🧾 PUT /accounts/{id}/role

🧩 Funktion

Aktualisiert die Rolle eines bestehenden Benutzerkontos. Nur für Administratoren verfügbar.

🔐 Authentifizierung

Erforderlich (ADMIN)

📥 Request

Pfadparameter:

/accounts/3/role

Request Body: UpdateRoleDTO

{
  "role": "ADMIN"
}

📤 Response: 200 OK

{
  "id": 3,
  "username": "user123",
  "email": "[email protected]",
  "role": "ADMIN"
}

⚠️ Fehlerfälle

Status Beschreibung
400 Ungültige Rolle oder Validierungsfehler
404 Benutzerkonto nicht gefunden

🧠 Logik (aus AccountController#updateRole)

  • Holt das Benutzerkonto über accountService.updateRole(id, body.getRole()).
  • Setzt die neue Rolle intern.
  • Gibt den aktualisierten AccountResponseDTO zurück.

🧪 Hinweise

  • Nur gültige Rollen werden akzeptiert (z. B. "USER", "ADMIN").
  • Der Endpunkt ist besonders für Admin-Oberflächen gedacht, um Benutzer zu verwalten.