const { PrismaClient } = require('@prisma/client');

console.log('🔍 UTILISATION ADMIN EXISTANT\n');
console.log('='.repeat(50));

const prisma = new PrismaClient();

async function useExistingAdmin() {
  try {
    // Trouver tous les admins actifs
    const admins = await prisma.user.findMany({
      where: {
        role: 'Admin', // Note: 'Admin' avec majuscule dans votre DB
        active: true
      },
      select: {
        id: true,
        email: true,
        role: true,
        active: true,
        permissions: true
      },
      orderBy: { id: 'asc' }
    });

    console.log(`✅ ${admins.length} administrateurs actifs trouvés:\n`);
    
    admins.forEach((admin, index) => {
      console.log(`${index + 1}. ID: ${admin.id}`);
      console.log(`   Email: ${admin.email}`);
      console.log(`   Role: ${admin.role}`);
      console.log(`   Active: ${admin.active}`);
      console.log(`   Permissions: ${admin.permissions || 'Aucune'}`);
      console.log('');
    });

    // Utiliser le premier admin
    if (admins.length > 0) {
      const selectedAdmin = admins[0];
      console.log('🎯 UTILISATION DU PREMIER ADMIN:');
      console.log(`   ID: ${selectedAdmin.id}`);
      console.log(`   Email: ${selectedAdmin.email}`);
      
      // Sauvegarder l'ID pour générer le token
      require('fs').writeFileSync('admin-id.txt', selectedAdmin.id);
      console.log('💾 ID sauvegardé dans admin-id.txt');
      
      return selectedAdmin;
    } else {
      console.log('❌ Aucun administrateur actif trouvé');
    }

  } catch (error) {
    console.log('❌ ERREUR:', error.message);
  } finally {
    await prisma.$disconnect();
  }
}

useExistingAdmin().catch(console.error);
