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>
This commit is contained in:
95
test-graphql-stats.js
Normal file
95
test-graphql-stats.js
Normal file
@ -0,0 +1,95 @@
|
||||
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()
|
Reference in New Issue
Block a user