BR 1.8 — Admin Franchise (BFF + Web)

Справочник модификаторов + привязка к товарам в конструкторе каталога.

Контракты


Задачи

BFF (bff/src/routes/)

  • Новый файл modifiers.ts — proxy для 7 modifier-group endpoints
  • Proxy: POST /catalog/versions/:id/products/:productId/modifiers (в catalog.ts)
  • Proxy: DELETE /catalog/versions/:id/products/:productId/modifiers/:groupId
  • Proxy: PATCH /catalog/versions/:id/products/:productId/modifiers/:groupId

Shared types (shared/src/types/)

  • Новый файл modifiers.ts — ModifierGroup, ModifierOption, ModifierGroupListItem, ModifierGroupVersion, ModifierAttachment
  • Экспорт из index.ts

Web: API client (web/src/api/)

  • Новый файл modifiers.ts — getModifierGroups, getModifierGroup, createModifierGroup, updateModifierGroup, deleteModifierGroup, restoreModifierGroup, getModifierGroupVersions
  • В catalog.ts — attachModifier, detachModifier, updateModifierAttachment

Web: Справочник модификаторов

  • ModifierListPage.tsx/catalog/modifiers — таблица групп, поиск, фильтры, табы (активные/удалённые)
  • ModifierViewPage.tsx/catalog/modifiers/:id — карточка группы + опции + таб “Версии”
  • ModifierCreatePage.tsx/catalog/modifiers/new — форма + inline-таблица опций
  • ModifierEditPage.tsx/catalog/modifiers/:id/edit — редактирование (новая версия)

Web: Sidebar + Routing

  • Sidebar — добавить “Модификаторы” под “Товары” в разделе “Каталог”
  • Router — добавить routes для /catalog/modifiers/*

Web: Конструктор — привязка модификаторов

  • VersionViewPage.tsx — при клике на товар: раскрыть секцию модификаторов
  • Таблица привязанных модификаторов (группа, версия dropdown, min/max, убрать)
  • Кнопка “Добавить модификатор” — модалка (выбор группы + версия + override)
  • “Убрать” модификатор — подтверждение + DELETE
  • Обновить override/версию — PATCH