Bedrud Documentación

Los endpoints de administración están bajo /api/admin/. Estos requieren el rol Super Admin.

Resumen

EndpointMétodoDescripción
/api/admin/usersGETListar todos los usuarios
/api/admin/users/:id/statusPUTActivar o desactivar un usuario

Endpoints

Listar Todos los Usuarios

Recupera una lista de todos los usuarios registrados.

GET /api/admin/users

Encabezados: Authorization: Bearer <accessToken>

Rol Requerido: Super Admin

Respuesta (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"
    }
  ]
}

Actualizar Estado de Usuario

Activa o desactiva una cuenta de usuario. Los usuarios desactivados no pueden iniciar sesión.

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

Encabezados: Authorization: Bearer <accessToken>

Rol Requerido: Super Admin

Parámetros de URL:

ParámetroDescripción
idUUID del usuario

Cuerpo de la Solicitud:

{
  "isActive": false
}

Respuesta (200):

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

Roles de Usuario

RolDescripciónPermisos
guestUsuario temporalSolo unirse a salas
userUsuario regularCrear/unirse a salas, administrar su propio perfil
adminSuper AdminTodos los permisos de usuario + administrar usuarios, ver todas las salas

Crear un Admin

Los usuarios administradores se crean a través de la CLI:

# Crear un usuario
bedrud user create --email "admin@example.com" --password "securepassword" --name "Admin"
 
# Promocionar a admin
bedrud user promote --email "admin@example.com"

No hay un endpoint de API para promocionar usuarios - esto es intencional por seguridad.


Respuestas de Error

{
  "error": "forbidden"
}
EstadoSignificado
401No autenticado
403No es un Super Admin
404Usuario no encontrado
500Error interno del servidor

Véase también