import { PrismaClient } from "@prisma/client";
import bcrypt from "bcryptjs";

const prisma = new PrismaClient();

async function main() {
  // Create admin user (David Sacha)
  const adminPassword = await bcrypt.hash("admin123", 12);
  await prisma.user.upsert({
    where: { email: "contact@monkitelectrique.fr" },
    update: {},
    create: {
      email: "contact@monkitelectrique.fr",
      passwordHash: adminPassword,
      firstName: "David",
      lastName: "Sacha",
      company: "Mon Kit Electrique",
      siren: "934 074 063",
      billingAddress: "",
      billingZip: "",
      billingCity: "Rennes",
      role: "ADMIN",
      status: "ACTIVE",
    },
  });

  // Create test partner
  const partnerPassword = await bcrypt.hash("partner123", 12);
  await prisma.user.upsert({
    where: { email: "jean@cyclesdupont.fr" },
    update: {},
    create: {
      email: "jean@cyclesdupont.fr",
      passwordHash: partnerPassword,
      firstName: "Jean",
      lastName: "Dupont",
      company: "Cycles Dupont SARL",
      siren: "987 654 321",
      billingAddress: "12 rue des Vélos",
      billingZip: "35000",
      billingCity: "Rennes",
      role: "PARTNER",
      status: "ACTIVE",
    },
  });

  console.log("Seed completed!");
  console.log("Admin: contact@monkitelectrique.fr / admin123");
  console.log("Partner: jean@cyclesdupont.fr / partner123");
}

main()
  .catch(console.error)
  .finally(() => prisma.$disconnect());
