import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient() async function testGraphQLStats() { try { console.log('🔍 ТЕСТИРОВАНИЕ ЛОГИКИ РЕЗОЛВЕРА getWildberriesStatistics') // Имитируем логику резолвера const user = await prisma.user.findFirst({ where: { phone: '79988888888' }, include: { organization: { include: { apiKeys: true }, }, }, }) if (!user?.organization) { console.log('❌ Пользователь не привязан к организации') return } console.log('\n👤 ПОЛЬЗОВАТЕЛЬ:') console.log('- ID:', user.id) console.log('- Телефон:', user.phone) console.log('- Организация:', user.organization.name) // Логика поиска API ключа как в резолвере const apiKey = user.organization.apiKeys.find((key) => key.marketplace === 'WILDBERRIES' && key.isActive) console.log('\n🔍 ПОИСК API КЛЮЧА:') console.log('- Всего ключей в организации:', user.organization.apiKeys.length) console.log('- Найденный ключ:', !!apiKey) if (!apiKey) { console.log('❌ ПРОБЛЕМА: API ключ не найден через find()') // Выводим все ключи для дебага user.organization.apiKeys.forEach((key, index) => { console.log(`\n--- КЛЮЧ ${index + 1} ---`) console.log('- ID:', key.id) console.log('- Marketplace:', key.marketplace) console.log('- Active:', key.isActive) console.log('- Условие WILDBERRIES:', key.marketplace === 'WILDBERRIES') console.log('- Условие Active:', key.isActive === true) console.log('- Полное условие:', key.marketplace === 'WILDBERRIES' && key.isActive) }) return } console.log('\n✅ API КЛЮЧ НАЙДЕН:') console.log('- ID:', apiKey.id) console.log('- Marketplace:', apiKey.marketplace) console.log('- Active:', apiKey.isActive) console.log('- Длина ключа:', apiKey.apiKey?.length) console.log('- Тип:', apiKey.apiKey?.startsWith('eyJ') ? 'JWT' : 'Другой') // Проверим, работает ли сам API ключ console.log('\n🌐 ТЕСТИРОВАНИЕ ЗАПРОСА К WILDBERRIES API:') const testUrl = 'https://statistics-api.wildberries.ru/api/v1/supplier/sales?dateFrom=2025-09-01' try { const response = await fetch(testUrl, { headers: { Authorization: apiKey.apiKey, 'Content-Type': 'application/json', }, }) console.log('- HTTP статус:', response.status) console.log('- OK:', response.ok) if (response.ok) { const data = await response.json() console.log('- Данные получены, тип:', typeof data) console.log('- Является массивом:', Array.isArray(data)) console.log('- Длина:', data?.length || 'N/A') } else { const errorText = await response.text() console.log('- Ошибка API:', errorText) } } catch (fetchError) { console.error('❌ ОШИБКА ЗАПРОСА:', fetchError.message) } } catch (error) { console.error('❌ КРИТИЧЕСКАЯ ОШИБКА:', error) } finally { await prisma.$disconnect() } } testGraphQLStats()