## Admin Users API Требуется `Authorization: Bearer ` и роль `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`): ```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": "описание ошибки" } ```