## 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": "описание ошибки" }
```
