import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()

async function checkAllKeys() {
  try {
    const org = await prisma.organization.findFirst({
      where: { name: 'Rennel', type: 'SELLER' },
      include: {
        apiKeys: {
          where: { marketplace: 'WILDBERRIES' },
          orderBy: { createdAt: 'desc' },
        },
      },
    })

    if (!org) {
      console.log('❌ Организация Rennel не найдена')
      return
    }

    console.log('🏢 ОРГАНИЗАЦИЯ RENNEL:')
    console.log('- ID:', org.id)
    console.log('- Всего WB ключей:', org.apiKeys.length)

    console.log('\n🔍 ВСЕ КЛЮЧИ WILDBERRIES:')
    org.apiKeys.forEach((key, index) => {
      console.log(`\n--- КЛЮЧ ${index + 1} ---`)
      console.log('- ID:', key.id)
      console.log('- Длина:', key.apiKey?.length)
      console.log('- Тип:', key.apiKey?.startsWith('eyJ') ? 'Валидный JWT' : 'Тестовый')
      console.log('- Активен:', key.isActive)
      console.log('- Создан:', key.createdAt.toISOString())
      console.log('- Обновлен:', key.updatedAt.toISOString())
      console.log('- Данные валидации:', JSON.stringify(key.validationData, null, 2))
    })

    // Найдем самый новый валидный JWT ключ
    const validJwtKey = org.apiKeys.find((key) => key.apiKey?.startsWith('eyJ') && key.isActive)

    if (validJwtKey) {
      console.log('\n✅ НАЙДЕН ВАЛИДНЫЙ JWT КЛЮЧ:')
      console.log('- ID:', validJwtKey.id)
      console.log('- Создан:', validJwtKey.createdAt.toISOString())
      console.log('- Должен использоваться вместо тестового')
    } else {
      console.log('\n❌ ВАЛИДНЫЙ JWT КЛЮЧ НЕ НАЙДЕН')
    }
  } catch (error) {
    console.error('❌ Ошибка:', error)
  } finally {
    await prisma.$disconnect()
  }
}

checkAllKeys()
