Files
sfera-new/test-graphql-stats.js
Veronika Smirnova d19530a985 debug: добавить скрипты отладки и бэкапы для диагностики проблем
- api_keys_backup_1758196936364.json - резервная копия API ключей
- check-active-key.js - проверка активного API ключа
- check-all-keys.js - проверка всех API ключей в системе
- check-new-seller.js - проверка нового селлера
- test-api-key-save.js - тестирование сохранения API ключей
- test-graphql-stats.js - тестирование GraphQL статистики
- test-resolver-direct.js - прямое тестирование резолверов
- test-sidebar.html - тестирование сайдбара
- test-statistics-direct.js - прямое тестирование статистики

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 21:32:23 +03:00

96 lines
3.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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()