CAT-01: Shared типы
Что сделать
Создать TypeScript типы для каталога (товары, категории, версии) в shared-пакете.
Смотри спеку
Структура данных в Каталог — Товары, Каталог — Категории, Каталог — Версии и API.
Конкретно
Типы товаров:
ProductType—"dish" | "good"ProductStatus—"active" | "inactive"UnitOfMeasure—"piece" | "kg" | "g" | "l" | "ml" | "portion"Product— полная сущность (id, name, description, type, base_price, unit_of_measure, category_id, category, status, version, created_at, updated_at, deleted_at)ProductListItem— для таблицы (id, name, type, base_price, unit_of_measure, category: {id, name}, status, version)CreateProductRequest— name, description?, type, base_price, unit_of_measure, category_idUpdateProductRequest— Partial от CreateProductRequestProductListParams— page?, per_page?, search?, category_id?, type?, status?, deleted?, sort?
Типы категорий:
Category— id, name, parent_id, display_order, status, children: Category[], created_at, updated_atCreateCategoryRequest— name, parent_id?, display_order?UpdateCategoryRequest— name?, display_order?, status?
Типы версий:
CatalogVersionStatus—"draft" | "published" | "archived"CatalogVersion— id, version, status, published_at, products_count, created_atPublishedCatalog— version, categories: Category[], products: ProductListItem[]
Экспорт из shared/src/index.ts.
После изменений: pnpm --filter @erp/shared build
Файлы
shared/src/types/catalog.ts— создатьshared/src/index.ts— добавить экспорт