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

async function main() {
  console.log("Erstelle Admin-Rolle...");
  
  // 1. Admin-Rolle anlegen (falls sie noch nicht existiert)
  const adminRole = await prisma.role.upsert({
    where: { name: 'Administrator' },
    update: {},
    create: {
      name: 'Administrator',
      permissions: ['TICKETS_VIEW', 'TICKETS_EDIT', 'CUSTOMERS_MANAGE', 'TEAM_MANAGE', 'SYSTEM_SETTINGS']
    }
  });
  console.log("Rolle erstellt mit ID:", adminRole.id);

  // 2. Suche den ersten Nutzer in der Datenbank (das bist du)
  const user = await prisma.user.findFirst();
  
  if (!user) {
    console.log("Kein Nutzer in der Datenbank gefunden!");
    return;
  }

  // 3. Verknüpfe den Nutzer mit der Admin-Rolle
  await prisma.user.update({
    where: { id: user.id },
    data: { roleId: adminRole.id }
  });

  console.log(`Erfolg! Nutzer ${user.email} ist jetzt Administrator.`);
}

main()
  .catch(e => {
    console.error(e);
    process.exit(1);
  })
  .finally(async () => {
    await prisma.$disconnect();
  });
