BR 1.7.1 — Admin Franchise (BFF + Web)
Обновление BFF proxy и Web-экранов для независимого версионирования и ручного управления черновиком.
Контракты
- Catalog Service API — 6 новых endpoints
- Фронт-спека: Товары
- Фронт-спека: Категории
- Фронт-спека: Версии
Задачи
BFF (bff/src/routes/catalog.ts)
- Proxy:
POST /catalog/versions→ Catalog Service - Proxy:
DELETE /catalog/versions/:id→ Catalog Service - Proxy:
POST /catalog/versions/:id/products→ Catalog Service - Proxy:
DELETE /catalog/versions/:id/products/:productId→ Catalog Service - Proxy:
PATCH /catalog/versions/:id/products/:productId→ Catalog Service - Proxy:
GET /products/:id/versions→ Catalog Service
Shared types (shared/src/types/catalog.ts)
- Добавить интерфейс
ProductVersion(version, name, base_price, …, catalog_versions[]) - Добавить интерфейс
CatalogCompositionProduct(product_id, product_version, name, …) - Обновить
CatalogVersion— добавитьcategory_count
Web: Товары
-
ProductViewPage— таб “Версии” с таблицей изGET /products/:id/versions(Franchise only) -
ProductCreatePage— toast “Товар создан”
Web: Категории
-
CategoriesPage— баннер состояния (draft → editable, published → readonly) -
CategoriesPage— при отсутствии draft: скрыть inline-actions и “Добавить корневую” - Draft detection через
getCatalogVersions()→ filter status=draft
Web: Версии
-
VersionListPage— кнопка “Создать черновик” + модалка + обработка ошибок -
VersionListPage— кнопка “Удалить черновик” + модалка -
VersionListPage— колонка “Категорий” (category_count) -
VersionListPage— empty state “Версий каталога пока нет.” -
VersionViewPage— draft: editable режим (управление составом) -
VersionViewPage— “Добавить товар” модалка (поиск + выбор версии) -
VersionViewPage— переключение версии товара (dropdown) -
VersionViewPage— “Убрать” товар + подтверждение