Bedrud Documentation

Les points de terminaison d’administration sont sous /api/admin/. Ils nécessitent le rôle Super Admin.

Vue d’ensemble

Point de terminaisonMéthodeDescription
/api/admin/usersGETLister tous les utilisateurs
/api/admin/users/:id/statusPUTActiver ou désactiver un utilisateur

Points de terminaison

Lister tous les utilisateurs

Récupère la liste de tous les utilisateurs enregistrés.

GET /api/admin/users

En-têtes : Authorization: Bearer <accessToken>

Rôle requis : Super Admin

Réponse (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"
    }
  ]
}

Mettre à jour le statut d’un utilisateur

Activer ou désactiver un compte utilisateur. Les utilisateurs désactivés ne peuvent pas se connecter.

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

En-têtes : Authorization: Bearer <accessToken>

Rôle requis : Super Admin

Paramètres d’URL :

ParamètreDescription
idUUID de l’utilisateur

Corps de la requête :

{
  "isActive": false
}

Réponse (200) :

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

Rôles d’utilisateur

RôleDescriptionAutorisations
guestUtilisateur temporaireRejoindre uniquement les salles
userUtilisateur régulierCréer/rejoindre des salles, gérer son propre profil
adminSuper AdminToutes les autorisations utilisateur + gérer les utilisateurs, voir toutes les salles

Créer un administrateur

Les utilisateurs administrateurs sont créés via la CLI :

# Créer un utilisateur
bedrud user create --email "admin@example.com" --password "securepassword" --name "Admin"
 
# Promouvoir en administrateur
bedrud user promote --email "admin@example.com"

Il n’y a pas de point de terminaison API pour promouvoir les utilisateurs - c’est intentionnel pour des raisons de sécurité.


Réponses d’erreur

{
  "error": "forbidden"
}
StatutSignification
401Non authentifié
403Pas un Super Admin
404Utilisateur non trouvé
500Erreur interne du serveur

Voir aussi