@ -1,17 +1,37 @@
import { resolvers as oldResolvers } from '../resolvers'
// import { resolvers as oldResolvers } from '../resolvers' // LEGACY: Монолитный файл больше не используется
import { JSONScalar , DateTimeScalar } from '../scalars'
import { authResolvers } from './auth'
import { cartResolvers } from './domains/cart'
import { catalogResolvers } from './domains/catalog'
import { messagingResolvers } from './domains/messaging'
import { productsResolvers } from './domains/products'
import { supplyOrdersResolvers } from './domains/supply-orders'
import { userManagementResolvers } from './domains/user-management'
import { organizationManagementResolvers } from './domains/organization-management'
import { counterpartyManagementResolvers } from './domains/counterparty-management'
import { suppliesResolvers } from './domains/supplies'
import { logisticsDomainResolvers } from './domains/logistics'
import { employeeResolvers as employeeDomainResolvers } from './domains/employee'
import { referralResolvers as referralDomainResolvers } from './domains/referrals'
import { servicesResolvers as servicesDomainResolvers } from './domains/services'
import { inventoryResolvers as inventoryDomainResolvers } from './domains/inventory'
import { sellerGoodsResolvers as sellerGoodsDomainResolvers } from './domains/seller-goods'
import { logisticsConsumablesResolvers as logisticsConsumablesDomainResolvers } from './domains/logistics-consumables'
import { wildberriesResolvers } from './domains/wildberries'
import { analyticsResolvers } from './domains/analytics'
import { adminToolsResolvers } from './domains/admin-tools'
import { fileManagementResolvers } from './domains/file-management'
import { externalAdsResolvers } from './domains/external-ads'
import { sellerConsumablesResolvers } from './domains/seller-consumables'
import { employeeResolvers } from './employees'
import { employeeResolversV2 } from './employees-v2'
import { fulfillmentConsumableV2Queries , fulfillmentConsumableV2Mutations } from './fulfillment-consumables-v2'
import { fulfillmentServicesQueries , fulfillmentServicesMutations } from './fulfillment-services-v2'
// V2 импорты удалены - заменены на доменные резолверы
import { logisticsResolvers } from './logistics'
import { referralResolvers } from './referrals'
// import { integrateSecurityWithExistingResolvers } from './secure-integration'
// import { integrateSecurityWithExistingResolvers } from './secure-integration' // В Р Е М Е Н Н О ОТКЛЮЧЕНО из-за экспорта
// import { secureSuppliesResolvers } from './secure-supplies'
import { sellerConsumableQueries , sellerConsumableMutations } from './seller-consumables'
import { suppliesResolvers } from './supplies'
// import { suppliesResolvers } from './supplies' // З А М Е Н Е Н на domains/supplies
// Типы для резолверов
interface ResolverObject {
@ -53,12 +73,7 @@ const mergeResolvers = (...resolvers: ResolverObject[]): ResolverObject => {
// Временно импортируем старые резолверы для частей, которые еще не вынесены
// TODO: Постепенно убрать это после полного рефакторинга
console . warn ( '🔍 ПРОВЕРЯЕМ EMPLOYEE V2 ИМПОРТ:' , {
type : typeof employeeResolversV2 ,
keys : Object.keys ( employeeResolversV2 ) ,
queryKeys : Object.keys ( employeeResolversV2 . Query || { } ) ,
mutationKeys : Object.keys ( employeeResolversV2 . Mutation || { } ) ,
} )
// V2 отладочные сообщения удалены
// Объединяем новые модульные резолверы с остальными старыми
const mergedResolvers = mergeResolvers (
@ -68,88 +83,95 @@ const mergedResolvers = mergeResolvers(
DateTime : DateTimeScalar ,
} ,
// Временно добавляем старые резолверы ПЕРВЫМИ, чтобы новые их перезаписали
// LEGACY REMOVED: В с е резолверы мигрированы в доменную архитектуру
{
Query : ( ( ) = > {
const {
myEmployees : _myEmployees ,
logisticsPartn ers : _logisticsPartners ,
pendingSuppliesCount : _pendingSuppliesCount ,
myReferralLink : _myReferralLink ,
myPartnerLink : _myPartnerLink ,
myReferralStats : _myReferralStats ,
myReferrals : _myReferrals ,
myServices : _myServices ,
myLogistics : _myLogistics ,
. . . filteredQuery
} = oldResolvers . Query || { }
return filteredQuery
} ) ( ) ,
Mutation : {
. . . oldResolvers . Mutation ,
// Исключаем уже вынесенные Mutation - Н Е ИСПОЛЬЗУЕМ undefined!
// sendSmsCode, verifyInn, createEmployee и др. убираем через деструктуризацию
} ,
// Остальные типы пока оставляем из старых резолверов
User : oldResolvers.User ,
Organization : oldResolvers.Organization ,
Product : oldResolvers.Product ,
// SupplyOrder: oldResolvers.SupplyOrder, // Удалено: отсутствует в старых резолверах
// Employee берем из нового модуля
Employee : undefined ,
Query : { } , // Пустой - все Query мигрированы в домены
Mutation : { } , // Пустой - все Mutation мигрированы в домены
// В с е типовые резолверы мигрированы в соответствующие домены
Us er : undefined , // User берем из userManagementResolvers
Organization : undefined , // Organization берем из organizationManagementResolvers
Product : undefined , // Product берем из productsResolvers
Employee : undefined , // Employee берем из employeeDomainResolvers
Cart : undefined , // Cart берем из cartResolvers
CartItem : undefined , // CartItem берем из cartResolvers
} ,
// НОВЫЕ модульные резолверы ПОСЛЕ старых - чтобы они перезаписали старые
// НОВЫЕ модульные резолверы - все домены включены после диагностики
authResolvers ,
employee Resolvers,
employee ResolversV2 , // V2 Employee система
logisticsResolvers ,
cart Resolvers, // Корзина - базовая функциональность
catalog Resolvers, // Каталог - базовая функциональность
userManagementResolvers , // Пользователи - базовая функциональность
organizationManagementResolvers , // Организации - базовая функциональность
employeeDomainResolvers , // Employee домен V2
// Восстановленные домены после диагностики:
messagingResolvers ,
productsResolvers ,
supplyOrdersResolvers ,
counterpartyManagementResolvers ,
suppliesResolvers ,
referralResolvers ,
logisticsDomainResolvers , // assignLogisticsToSupply исправлен
referralDomainResolvers ,
servicesDomainResolvers ,
inventoryDomainResolvers ,
sellerGoodsDomainResolvers ,
logisticsConsumablesDomainResolvers ,
wildberriesResolvers , // все Query/Mutation соответствуют схеме
analyticsResolvers ,
adminToolsResolvers ,
fileManagementResolvers ,
externalAdsResolvers ,
sellerConsumablesResolvers ,
// employeeResolvers, // старый V1
// logisticsResolvers, // З А М Е Н Е Н на logisticsDomainResolvers
// referralResolvers, // З А М Е Н Е Н на referralDomainResolvers
// БЕЗОПАСНЫЕ резолверы поставок - В Р Е М Е Н Н О ОТКЛЮЧЕН из-за ошибки импорта
// secureSuppliesResolvers,
// НОВЫЕ резолверы для системы поставок v2
{
Query : fulfillmentConsumableV2Queries,
Mutation : fulfillmentConsumableV2Mutations,
} ,
// НОВЫЕ резолверы для системы поставок v2 - ЗАМЕНЕНЫ на inventoryDomainResolvers
// {
// Query: fulfillmentConsumableV2Queries,
// Mutation: fulfillmentConsumableV2Mutations,
// },
// НОВЫЕ резолверы для системы поставок селлера
{
Query : sellerConsumableQueries,
Mutation : sellerConsumableMutations,
} ,
// НОВЫЕ резолверы для системы поставок селлера - ЗАМЕНЕНЫ на sellerConsumablesResolvers
// {
// Query: sellerConsumableQueries,
// Mutation: sellerConsumableMutations,
// },
// НОВЫЕ резолверы для услуг фулфилмента V2
{
Query : fulfillmentServicesQueries,
Mutation : fulfillmentServicesMutations,
} ,
// НОВЫЕ резолверы для услуг фулфилмента V2 - ЗАМЕНЕНЫ на servicesDomainResolvers
// {
// Query: fulfillmentServicesQueries,
// Mutation: fulfillmentServicesMutations,
// },
// V2 Seller Goods резолверы - ЗАМЕНЕНЫ на sellerGoodsDomainResolvers
// {
// Query: sellerGoodsQueries,
// Mutation: sellerGoodsMutations,
// },
// V2 Logistics Consumables резолверы - ЗАМЕНЕНЫ на logisticsConsumablesDomainResolvers
// {
// Query: logisticsConsumableV2Queries,
// Mutation: logisticsConsumableV2Mutations,
// },
// V2 Inventory резолверы - ЗАМЕНЕНЫ на inventoryDomainResolvers (расширенный)
// {
// Query: {
// ...fulfillmentInventoryV2Queries,
// ...sellerInventoryV2Queries,
// },
// },
)
console . warn ( '🔍 DEBUGGING RESOLVERS MERGE:' )
console . warn ( '1. fulfillmentServicesQueries:' , {
type : typeof fulfillmentServicesQueries ,
keys : Object.keys ( fulfillmentServicesQueries || { } ) ,
hasMyFulfillmentConsumables : 'myFulfillmentConsumables' in ( fulfillmentServicesQueries || { } ) ,
} )
// Отладочная информация удалена - миграция завершена
console . warn ( '🔥 MERGED RESOLVERS СОЗДАН:' , {
hasQuery : ! ! mergedResolvers . Query ,
queryKeys : Object.keys ( mergedResolvers . Query || { } ) ,
hasMyFulfillmentConsumables : mergedResolvers.Query?.myFulfillmentConsumables ? 'YES' : 'NO' ,
hasEmployeesV2 : mergedResolvers.Query?.employeesV2 ? 'YES' : 'NO' ,
hasCreateEmployeeV2 : mergedResolvers.Mutation?.createEmployeeV2 ? 'YES' : 'NO' ,
} )
// В Р Е М Е Н Н О ОТКЛЮЧЕН: middleware безопасности для диагностики
// Security middleware временно отключен из-за проблем экспорта
// const securedResolvers = integrateSecurityWithExistingResolvers(mergedResolvers)
// console.warn('🔒 SECURITY INTEGRATION: Applied security middleware to all resolvers')
console . warn ( '⚠️ SECURITY MIDDLEWARE TEMPORARILY DISABLED for debugging' )
console . warn ( '🔍 Using raw resolvers without security wrapper' )
// В Р Е М Е Н Н О используем resolvers без security middleware
// Используем резолверы напрямую (security middleware отключен)
export const resolvers = mergedResolvers