Bedrud Документация

Эндпоинты администратора находятся под /api/admin/. Они требуют роль Супер-администратора.

Обзор

ЭндпоинтМетодОписание
/api/admin/usersGETСписок всех пользователей
/api/admin/users/:id/statusPUTАктивировать или деактивировать пользователя

Эндпоинты

Список всех пользователей

Получение списка всех зарегистрированных пользователей.

GET /api/admin/users

Заголовки: Authorization: Bearer <accessToken>

Необходимая роль: Супер-администратор

Ответ (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"
    }
  ]
}

Обновление статуса пользователя

Активация или деактивация учётной записи пользователя. Деактивированные пользователи не могут войти.

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

Заголовки: Authorization: Bearer <accessToken>

Необходимая роль: Супер-администратор

Параметры URL:

ПараметрОписание
idUUID пользователя

Тело запроса:

{
  "isActive": false
}

Ответ (200):

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

Роли пользователей

РольОписаниеПрава
guestВременный пользовательТолько вход в комнаты
userОбычный пользовательСоздание/вход в комнаты, управление своим профилем
adminСупер-администраторВсе права пользователя + управление пользователями, просмотр всех комнат

Создание администратора

Пользователи-администраторы создаются через CLI:

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

API-эндпоинта для повышения прав пользователей не существует - это сделано намеренно из соображений безопасности.


Ответы об ошибках

{
  "error": "forbidden"
}
СтатусЗначение
401Не авторизован
403Не является Супер-администратором
404Пользователь не найден
500Внутренняя ошибка сервера

См. также