const { PrismaClient } = require('../prisma/client-generated');
const prisma = new PrismaClient();

async function promoteAdmin() {
  const email = process.argv[2];

  try {
    let user;
    if (email) {
      user = await prisma.user.findUnique({ where: { email } });
    } else {
      console.log("Aucun email fourni, promotion du premier utilisateur trouvé...");
      user = await prisma.user.findFirst();
    }

    if (!user) {
      console.error("Aucun utilisateur trouvé.");
      return;
    }

    await prisma.user.update({
      where: { id: user.id },
      data: { role: 'ADMIN' }
    });

    console.log(`Succès : L'utilisateur ${user.email} (${user.name}) est maintenant ADMIN.`);

  } catch (e) {
    console.error("Erreur :", e);
  } finally {
    await prisma.$disconnect();
  }
}

promoteAdmin();
