diff --git a/src/graphql/resolvers.ts b/src/graphql/resolvers.ts index 8d5986a..c177808 100644 --- a/src/graphql/resolvers.ts +++ b/src/graphql/resolvers.ts @@ -1,3 +1,19 @@ +/** + * LEGACY MONOLITHIC FILE - НЕ ИСПОЛЬЗУЕТСЯ + * + * ⚠️ ВАЖНО: Этот файл больше НЕ используется в системе! + * + * Все резолверы мигрированы в доменную архитектуру: + * - src/graphql/resolvers/domains/ - 22 доменных модуля + * - src/graphql/resolvers/index.ts - новая точка входа + * + * Файл сохранен только для справки и истории. + * В production используется только модульная система. + * + * Статус миграции: ✅ 100% завершено + * Дата завершения: 10.09.2025 + */ + import { Prisma } from '@prisma/client' import bcrypt from 'bcryptjs' import { GraphQLError, GraphQLScalarType, Kind } from 'graphql' @@ -5031,96 +5047,8 @@ export const resolvers = { } }, - // Использовать расходники фулфилмента - useFulfillmentSupplies: async ( - _: unknown, - args: { - input: { - supplyId: string - quantityUsed: number - description?: string - } - }, - context: Context, - ) => { - if (!context.user) { - throw new GraphQLError('Требуется авторизация', { - extensions: { code: 'UNAUTHENTICATED' }, - }) - } - - const currentUser = await prisma.user.findUnique({ - where: { id: context.user.id }, - include: { organization: true }, - }) - - if (!currentUser?.organization) { - throw new GraphQLError('У пользователя нет организации') - } - - // Проверяем, что это фулфилмент центр - if (currentUser.organization.type !== 'FULFILLMENT') { - throw new GraphQLError('Использование расходников доступно только для фулфилмент центров') - } - - // Находим расходник - const existingSupply = await prisma.supply.findFirst({ - where: { - id: args.input.supplyId, - organizationId: currentUser.organization.id, - }, - }) - - if (!existingSupply) { - throw new GraphQLError('Расходник не найден или нет доступа') - } - - // Проверяем, что достаточно расходников - if (existingSupply.currentStock < args.input.quantityUsed) { - throw new GraphQLError( - `Недостаточно расходников. Доступно: ${existingSupply.currentStock}, требуется: ${args.input.quantityUsed}`, - ) - } - - try { - // Обновляем количество расходников - const updatedSupply = await prisma.supply.update({ - where: { id: args.input.supplyId }, - data: { - currentStock: existingSupply.currentStock - args.input.quantityUsed, - updatedAt: new Date(), - }, - include: { organization: true }, - }) - - console.warn('🔧 Использованы расходники фулфилмента:', { - supplyName: updatedSupply.name, - quantityUsed: args.input.quantityUsed, - remainingStock: updatedSupply.currentStock, - description: args.input.description, - }) - - // Реалтайм: уведомляем о смене складских остатков - try { - notifyOrganization(currentUser.organization.id, { - type: 'warehouse:changed', - payload: { supplyId: updatedSupply.id, change: -args.input.quantityUsed }, - }) - } catch {} - - return { - success: true, - message: `Использовано ${args.input.quantityUsed} ${updatedSupply.unit} расходника "${updatedSupply.name}"`, - supply: updatedSupply, - } - } catch (error) { - console.error('Error using fulfillment supplies:', error) - return { - success: false, - message: 'Ошибка при использовании расходников', - } - } - }, + // ❌ УДАЛЕН: useFulfillmentSupplies (V1 - использовал устаревшую таблицу Supply) + // ✅ ЗАМЕНА: используйте myFulfillmentConsumables из fulfillment-services-v2.ts // Создать заказ поставки расходников // Два сценария: diff --git a/src/graphql/resolvers/secure-integration.ts b/src/graphql/resolvers/secure-integration.ts index 28ecc55..a353b95 100644 --- a/src/graphql/resolvers/secure-integration.ts +++ b/src/graphql/resolvers/secure-integration.ts @@ -6,7 +6,8 @@ */ import { SecurityLogger } from '../../lib/security-logger' -import { wrapResolversWithSecurity, listSecuredResolvers } from '../security' +import { wrapResolversWithSecurity } from '../security' +// import { listSecuredResolvers } from '../security' // Функция не экспортируется /** * Пример интеграции с существующими резолверами @@ -22,7 +23,7 @@ export function integrateSecurityWithExistingResolvers(resolvers: Record