Files
core/docs/admin-users-api.md
T
2025-09-12 10:00:32 +05:00

105 lines
2.0 KiB
Markdown

## Admin Users API
Требуется `Authorization: Bearer <admin_access_token>` и роль `ROLE_ADMIN`.
### Создать пользователя
POST `/api/admin/users`
Body:
```json
{ "email": "user@example.com", "password": "StrongPass123!" }
```
Ответ: `200 OK` (пусто)
Ошибки: 400 (валидация), 401/403 (нет прав), 409 (email занят)
### Назначить роли пользователю
POST `/api/admin/users/roles`
Body:
```json
{ "email": "user@example.com", "roles": ["ROLE_USER", "ROLE_ADMIN"] }
```
Ответ: `200 OK` (пусто)
Ошибки: 400 (невалидная роль/пользователь не найден), 401/403
### Список доступных ролей
GET `/api/admin/roles`
Ответ:
```json
["ROLE_ADMIN", "ROLE_USER"]
```
Ошибки: 401/403
### Список пользователей (пагинация)
GET `/api/admin/users?page=0&size=20`
Ответ (`Page<UserSummary>`):
```json
{
"content": [
{ "id": 1, "email": "root@konturai.local", "roles": "ROLE_ADMIN,ROLE_USER" }
],
"pageable": { "pageNumber": 0, "pageSize": 20, ... },
"totalElements": 1,
"totalPages": 1,
"last": true,
"size": 20,
"number": 0,
"sort": { ... },
"first": true,
"numberOfElements": 1,
"empty": false
}
```
Ошибки: 401/403
### Обновить пользователя
PUT `/api/admin/users/update`
Body (любые поля опциональны кроме `id`):
```json
{
"id": 1,
"email": "new@mail.com",
"password": "NewPass123!",
"roles": ["ROLE_USER"]
}
```
Ответ: `200 OK` (пусто)
Ошибки: 400 (невалидные данные/роль), 401/403, 404 (пользователь не найден)
### Удалить пользователя
DELETE `/api/admin/users?id=1`
Ответ: `200 OK` (пусто)
Ошибки: 401/403
### Формат ошибок
Все ошибки возвращают JSON:
```json
{ "message": "описание ошибки" }
```