BUG-021: Список ролей — нет кол-ва сотрудников; Список сотрудников — нет ролей и ТТ
Описание
Две связанные проблемы отображения в админке:
Проблема 1: Страница /admin/roles — не видно количество сотрудников
В списке ролей колонка «Сотрудников» пустая или 0 для всех ролей, хотя сотрудники назначены.
Проблема 2: Страница /admin/employees — не видно ролей и ТТ
В списке сотрудников колонки «Permissions-роли» и «Торговые точки» пустые — не отображаются назначенные роли и магазины.
Шаги воспроизведения
- Залогиниться как
ip@erp.local/admin123 - Создать роль «Кассир», создать сотрудника с этой ролью + ТТ
- Открыть
/admin/roles→ колонка «Сотрудников» у роли «Кассир» пустая - Открыть
/admin/employees→ у сотрудника не видно ни ролей, ни ТТ
Ожидаемое поведение
Список ролей:
| Название | Сотрудников | Системная |
|-------------|-------------|-----------|
| Администратор | 1 | ✓ |
| Кассир | 2 | |
| Менеджер ТТ | 1 | |
Список сотрудников:
| ФИО | Permissions-роли | Торговые точки |
|----------------|-----------------|------------------------|
| Мария Петрова | Кассир | Шаурма Арбат |
| Дмитрий Сидоров| Менеджер ТТ | Шаурма Арбат, Тверская |
Фактическое поведение
Список ролей: колонка «Сотрудников» = 0 или пусто.
Список сотрудников: колонки «Permissions-роли» и «Торговые точки» = пустые.
Анализ
Проблема 1 (employee_count в ролях)
Backend GET /api/v1/roles должен возвращать employee_count для каждой роли (COUNT из employee_roles). Нужно проверить:
- Возвращает ли User Service поле
employee_count/employees_countвRoleListItem - Читает ли фронт это поле (может другое имя —
employee_countvsemployees_count)
Проблема 2 (роли и ТТ в списке сотрудников)
Backend GET /api/v1/employees (list endpoint) возвращает EmployeeListItem. Нужно проверить:
- Включает ли
EmployeeListItemполеroles[](с names и stores) - Фронт ранее читал
store_ids(top-level) — поле удалено в BR 1.4.4; ТТ теперь изroles[].stores[] - Фронт
ListPage.tsx: колонка «Permissions-роли» берётroles[].name— но если backend не возвращает roles в list-ответе, колонка пуста
Затронутые сервисы
| Сервис | Проблема |
|---|---|
| User Service | GET /roles — employee_count может не считаться; GET /employees list — может не включать roles[] в EmployeeListItem |
| Admin Web | ListPage.tsx ролей — колонка employee_count; ListPage.tsx сотрудников — колонки roles и stores |