BR 2.6 — Admin Franchise (фронтенд)

Репозиторий

nearbyErp/erp-admin-bff (BFF + React SPA)

Контекст

Нужно убедиться что в UI управления ролями (раздел «Настройки → Роли») появляются 6 новых ключей gensvc.*. Это зависит от того, как устроен список permissions в UI:

Вариант A (вероятный): Список permissions подтягивается из User Service Если фронт запрашивает каталог permissions через API (GET /api/v1/permissions или аналог), то добавление ключей в код User Service автоматически сделает их видимыми в UI. Задач по фронту минимум.

Вариант B: Список permissions захардкожен во фронте Нужно добавить категорию «AI Студия» вручную в компонент выбора permissions.

Задачи

1. Определить, откуда UI берёт список permissions

  • Найти компонент управления ролями в репозитории фронта (предположительно RoleForm или аналог)
  • Проверить — делает ли компонент API-запрос для получения списка permission-ключей или использует локальный список
  • Если API: перейти к п.3 (только smoke-test). Если захардкожено: выполнить п.2.

2. [Только если захардкожено] Добавить категорию «AI Студия»

  • Найти файл со списком permission-ключей в коде фронта
  • Добавить категорию «AI Студия» с 6 ключами:
{
  category: 'AI Студия',
  permissions: [
    { key: 'gensvc.access', label: 'Базовый доступ к AI Студии' },
    { key: 'gensvc.photo.create', label: 'Создание заданий на генерацию' },
    { key: 'gensvc.history.read', label: 'Просмотр своей истории' },
    { key: 'gensvc.history.read.all', label: 'Просмотр истории всех сотрудников' },
    { key: 'gensvc.delete', label: 'Удаление заданий' },
    { key: 'gensvc.preset.admin', label: 'Управление системными пресетами' },
  ]
}
  • Добавить русские подписи (label) для каждого ключа

3. Smoke-test: проверка UI

  • Открыть «Настройки → Роли → Создать роль»
  • Убедиться что в списке permissions видна категория «AI Студия» с 6 опциями
  • Создать тестовую роль «Контент-менеджер AI» с ключами: gensvc.access, gensvc.photo.create, gensvc.history.read
  • Назначить роль тестовому сотруднику
  • Залогиниться как тестовый сотрудник, проверить что токен содержит нужные permissions через GET /auth/me

4. [Опционально] Проверить описание permissions в UI

  • Если в UI есть tooltips или описания для permissions — добавить описания для gensvc.* ключей (взять из Permissions AI Студии)

5. Кнопка перехода в AI Студию из Админки Франшизы

Принято 2026-05-07

AI Студия — отдельный SPA на photo.nirbi.ru. В основном фронте Админки добавляется только пункт навигации, а не embed.

  • Добавить пункт «AI Студия» в боковом меню (или верхнем nav) — между существующими разделами. Иконка: sparkles или аналог.
  • Видимость пункта — только если у юзера есть permission gensvc.access. Использовать существующий хук useHasPermission().
  • Клик → новая вкладка https://photo.nirbi.ru/?erp_token={current_jwt} (передача access_token через query).
    • Альтернатива: window.open(...) + postMessage для передачи токена. Решить на этапе реализации.
  • Убедиться что фронт AI Студии корректно подхватывает токен и валидирует через introspection (это уже реализовано, нужен smoke).
  • Smoke-test: войти как сотрудник с/без gensvc.access — пункт виден/скрыт корректно; клик по пункту открывает рабочий фронт.

Связанные контракты

Ссылки