Bedrud Dokumentation

Admin-Endpunkte befinden sich unter /api/admin/. Diese erfordern die Rolle Super Admin.

Übersicht

EndpunktMethodeBeschreibung
/api/admin/usersGETAlle Benutzer auflisten
/api/admin/users/:id/statusPUTBenutzer aktivieren oder deaktivieren

Endpunkte

Alle Benutzer auflisten

Eine Liste aller registrierten Benutzer abrufen.

GET /api/admin/users

Header: Authorization: Bearer <accessToken>

Erforderliche Rolle: Super Admin

Antwort (200):

{
  "users": [
    {
      "id": "uuid",
      "email": "user@example.com",
      "name": "John Doe",
      "avatar": "https://...",
      "role": "user",
      "provider": "email",
      "isActive": true,
      "createdAt": "2025-01-15T10:30:00Z"
    },
    {
      "id": "uuid-2",
      "email": "admin@example.com",
      "name": "Admin User",
      "role": "admin",
      "provider": "email",
      "isActive": true,
      "createdAt": "2025-01-10T08:00:00Z"
    }
  ]
}

Benutzerstatus aktualisieren

Ein Benutzerkonto aktivieren oder deaktivieren. Deaktivierte Benutzer können sich nicht anmelden.

PUT /api/admin/users/:id/status

Header: Authorization: Bearer <accessToken>

Erforderliche Rolle: Super Admin

URL-Parameter:

ParameterBeschreibung
idBenutzer-UUID

Anfrage-Body:

{
  "isActive": false
}

Antwort (200):

{
  "message": "user status updated",
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "isActive": false
  }
}

Benutzerrollen

RolleBeschreibungBerechtigungen
guestVorübergehender BenutzerNur Räumen beitreten
userRegulärer BenutzerRäume erstellen/beitreten, eigenes Profil verwalten
adminSuper AdminAlle Benutzerberechtigungen + Benutzer verwalten, alle Räume einsehen

Admin erstellen

Admin-Benutzer werden über die CLI erstellt:

# Create a user
bedrud user create --email "admin@example.com" --password "securepassword" --name "Admin"
 
# Promote to admin
bedrud user promote --email "admin@example.com"

Es gibt keinen API-Endpunkt zur Beförderung von Benutzern - dies ist aus Sicherheitsgründen beabsichtigt.


Fehlerantworten

{
  "error": "forbidden"
}
StatusBedeutung
401Nicht authentifiziert
403Kein Super Admin
404Benutzer nicht gefunden
500Interner Serverfehler

Siehe auch