fix: завершить V1→V2 миграцию и исправить интерфейс расходников фулфилмента
## 🎯 Основные исправления: ### ✅ Расширен GraphQL тип SupplyCompatible - Добавлены недостающие поля: article, price, category, status, date - Добавлены поля: supplier, usedStock, imageUrl, type, organization - Исправлена ошибка "Cannot query field" для всех фронтенд запросов ### ✅ Исправлены Prisma ошибки в резолверах - Заменено `deliveryDate: true` → `requestedDeliveryDate: true` в inventory.ts - Добавлена недостающая функция `checkFulfillmentAccess` - Устранена ошибка "Unknown field deliveryDate for select statement" ### ✅ Завершена миграция Supply таблицы V1→V2 - Полностью закомментирована модель Supply в Prisma схеме - Удалены связи supplies/sellerSupplies из Organization - Сохранена подробная документация миграции в комментариях ## 🧪 Результат: - ✅ GraphQL сервер работает без ошибок - ✅ Интерфейс "Расходники фулфилмента" отображается корректно - ✅ V2 система инвентаря полностью функциональна - ✅ Обратная совместимость с фронтендом обеспечена 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -115,8 +115,9 @@ model Organization {
|
||||
referrerTransactions ReferralTransaction[] @relation("ReferrerTransactions")
|
||||
sellerStatsCaches SellerStatsCache[] @relation("SellerStatsCaches")
|
||||
services Service[]
|
||||
supplies Supply[]
|
||||
sellerSupplies Supply[] @relation("SellerSupplies")
|
||||
// ❌ V1 LEGACY - закомментировано после миграции V1→V2
|
||||
// supplies Supply[]
|
||||
// sellerSupplies Supply[] @relation("SellerSupplies")
|
||||
fulfillmentSupplyOrders SupplyOrder[] @relation("SupplyOrderFulfillmentCenter")
|
||||
logisticsSupplyOrders SupplyOrder[] @relation("SupplyOrderLogistics")
|
||||
supplyOrders SupplyOrder[]
|
||||
@ -169,6 +170,7 @@ model ApiKey {
|
||||
id String @id @default(cuid())
|
||||
marketplace MarketplaceType
|
||||
apiKey String
|
||||
clientId String? // Для Ozon API
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
@ -250,35 +252,45 @@ model Service {
|
||||
@@map("services")
|
||||
}
|
||||
|
||||
model Supply {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
article String
|
||||
description String?
|
||||
price Decimal @db.Decimal(10, 2)
|
||||
pricePerUnit Decimal? @db.Decimal(10, 2)
|
||||
quantity Int @default(0)
|
||||
unit String @default("шт")
|
||||
category String @default("Расходники")
|
||||
status String @default("planned")
|
||||
date DateTime @default(now())
|
||||
supplier String @default("Не указан")
|
||||
minStock Int @default(0)
|
||||
currentStock Int @default(0)
|
||||
usedStock Int @default(0)
|
||||
imageUrl String?
|
||||
type SupplyType @default(FULFILLMENT_CONSUMABLES)
|
||||
sellerOwnerId String?
|
||||
shopLocation String?
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
organizationId String
|
||||
actualQuantity Int?
|
||||
organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
|
||||
sellerOwner Organization? @relation("SellerSupplies", fields: [sellerOwnerId], references: [id])
|
||||
|
||||
@@map("supplies")
|
||||
}
|
||||
// ❌ V1 LEGACY MODEL - ЗАКОММЕНТИРОВАНО ПОСЛЕ МИГРАЦИИ НА V2
|
||||
// Заменено модульной системой:
|
||||
// - FulfillmentConsumableInventory (расходники ФФ)
|
||||
// - SellerConsumableInventory (расходники селлера на складе ФФ)
|
||||
// - SellerGoodsInventory (товары селлера на складе ФФ)
|
||||
// - FulfillmentConsumable (конфигурация расходников ФФ)
|
||||
//
|
||||
// Дата миграции: 2025-09-12
|
||||
// Статус: V2 система полностью функциональна
|
||||
//
|
||||
// model Supply {
|
||||
// id String @id @default(cuid())
|
||||
// name String
|
||||
// article String
|
||||
// description String?
|
||||
// price Decimal @db.Decimal(10, 2)
|
||||
// pricePerUnit Decimal? @db.Decimal(10, 2)
|
||||
// quantity Int @default(0)
|
||||
// unit String @default("шт")
|
||||
// category String @default("Расходники")
|
||||
// status String @default("planned")
|
||||
// date DateTime @default(now())
|
||||
// supplier String @default("Не указан")
|
||||
// minStock Int @default(0)
|
||||
// currentStock Int @default(0)
|
||||
// usedStock Int @default(0)
|
||||
// imageUrl String?
|
||||
// type SupplyType @default(FULFILLMENT_CONSUMABLES)
|
||||
// sellerOwnerId String?
|
||||
// shopLocation String?
|
||||
// createdAt DateTime @default(now())
|
||||
// updatedAt DateTime @updatedAt
|
||||
// organizationId String
|
||||
// actualQuantity Int?
|
||||
// organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
|
||||
// sellerOwner Organization? @relation("SellerSupplies", fields: [sellerOwnerId], references: [id])
|
||||
//
|
||||
// @@map("supplies")
|
||||
// }
|
||||
|
||||
model Category {
|
||||
id String @id @default(cuid())
|
||||
|
Reference in New Issue
Block a user