CCON-01: Shared типы + BFF прокси + API client

Что сделать

Обновить shared-типы: убрать category_id из товарных интерфейсов, добавить category_name в CatalogCompositionProduct, добавить category_id в запросы привязки к каталогу. Заменить standalone category proxy на versioned category proxy. Обновить API client.

Смотри спеку

Конкретно

Shared types (shared/src/types/catalog.ts)

  • Product, ProductListItem — убрать category_id, category_name
  • CreateProductRequest, UpdateProductRequest — убрать category_id
  • ProductVersion — убрать category_id
  • CatalogCompositionProduct — добавить category_name (string)
  • AddProductToCatalogRequest — добавить category_id (string | null)
  • SwitchProductVersionRequest — добавить category_id (string | null)
  • pnpm --filter @erp/shared build после изменений

BFF proxy (bff/src/routes/catalog.ts)

  • Добавить 4 versioned category proxy:
    • GET /catalog/versions/:id/categories → Catalog Service
    • POST /catalog/versions/:id/categories → Catalog Service
    • PATCH /catalog/versions/:id/categories/:categoryId → Catalog Service
    • DELETE /catalog/versions/:id/categories/:categoryId → Catalog Service
  • Убрать standalone category routes (GET /categories, POST /categories, PATCH /categories/:id, DELETE /categories/:id)

API client (web/src/api/catalog.ts)

  • Добавить getVersionCategories(versionId)
  • Добавить createVersionCategory(versionId, data)
  • Добавить updateVersionCategory(versionId, categoryId, data)
  • Добавить deleteVersionCategory(versionId, categoryId)
  • Убрать standalone getCategories(), createCategory(), updateCategory(), deleteCategory()

Файлы

  • shared/src/types/catalog.ts
  • bff/src/routes/catalog.ts
  • web/src/api/catalog.ts

Зависит от

Нет зависимостей.