
- 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>
96 lines
3.4 KiB
JavaScript
96 lines
3.4 KiB
JavaScript
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()
|