BUG-023: PIN-код не отображается в карточке сотрудника
Описание
При создании сотрудника с PIN-кодом — PIN сохраняется (bcrypt-хэш в БД), но не отображается в карточке просмотра сотрудника. Пользователь не может убедиться что PIN задан.
Шаги воспроизведения
- Залогиниться как
ip@erp.local - Создать сотрудника с PIN-кодом (например 1111)
- Открыть карточку сотрудника
/employees/:id - PIN-код нигде не показан
Ожидаемое поведение
В карточке сотрудника (вкладка «Общая информация») — поле PIN-код: Задан (или •••• или 1111 — зависит от решения по безопасности). Если не задан — Не задан.
PIN хранится как bcrypt-хэш
Бэкенд не может вернуть оригинальный PIN (хэш необратим). Поэтому фронт может отображать только факт наличия:
Задан/Не задан. Или••••как placeholder.
Фактическое поведение
Поле PIN-код не отображается в карточке просмотра. Нет никакой индикации что PIN задан или нет.
Анализ
Бэкенд
GET /employees/{id} response — скорее всего не возвращает информацию о наличии PIN. Поле pin_hash хранится в БД но не маппится в EmployeeResponse.
Решение: добавить поле has_pin: boolean в EmployeeResponse (true если pin_hash IS NOT NULL). Не возвращать сам хэш или оригинал.
Фронтенд
ViewPage не отображает PIN-инфо. Нужно добавить строку в блок «Основные данные»:
| PIN-код | Задан ✅ / Не задан |
Затронутые сервисы
| Сервис | Проблема |
|---|---|
| User Service | EmployeeResponse не содержит has_pin |
| Admin Web | ViewPage не отображает PIN-статус |