PCON-01: Shared типы + BFF прокси

Что сделать

Добавить shared-типы для модификаторов товара и BFF proxy для эндпоинтов. Без версионирования — модификаторы привязываются напрямую к товару.

Конкретно

Shared types (shared/)

  • Добавить тип ProductModifier:
    { modifier_group_id: string, binding_type: 'structural' | 'free', name: string, type: 'group' | 'single', min_amount: number, max_amount: number, override_min_amount: number | null, override_max_amount: number | null, options: ModifierOption[] }

BFF proxy (bff/)

Маршруты → Catalog Service:

  • GET /api/v1/products/:id/modifiers
  • POST /api/v1/products/:id/modifiers
  • DELETE /api/v1/products/:id/modifiers/:groupId
  • PATCH /api/v1/products/:id/modifiers/:groupId

API client (web/)

  • Добавить функции в web/src/api/:
    • getProductModifiers(productId)
    • attachModifier(productId, body)
    • detachModifier(productId, groupId)
    • updateModifier(productId, groupId, body)

Файлы

  • shared/src/types/catalog.ts — обновить типы
  • bff/src/routes/products.ts — добавить 4 маршрута
  • web/src/api/products.ts — добавить API client функции

Зависит от

— (первая задача)