import { PrismaClient } from "@prisma/client"
import { PrismaPg } from "@prisma/adapter-pg"
import { Pool } from "pg"

const pool = new Pool({ connectionString: process.env.DATABASE_URL })
const db = new PrismaClient({ adapter: new PrismaPg(pool) })

// Corrige une erreur précédente : le script set-styliste-avatar.ts avait
// matché n'importe quel collaborateur avec le rôle "Styliste" et était tombé
// sur le placeholder générique partagé "[Styliste à définir]" (slug
// styliste-exemple, utilisé par Capsule 001) au lieu du vrai styliste du
// drop O.M.T. On restaure le placeholder et on corrige le bon collaborateur,
// identifié via drop.stylistId (relation directe, sans ambiguïté).

async function main() {
  const orphan = await db.collaborator.update({
    where: { slug: "styliste-exemple" },
    data: { photo: "https://images.unsplash.com/photo-1654512697681-8434b50096dd?w=800&q=80&auto=format&fit=crop" },
  })
  console.log("Restauré:", orphan.name, "->", orphan.photo)

  const drop = await db.drop.findUniqueOrThrow({ where: { slug: "omt" } })
  if (!drop.stylistId) {
    console.error("Le drop O.M.T n'a pas de stylistId.")
    process.exit(1)
  }
  const fixed = await db.collaborator.update({
    where: { id: drop.stylistId },
    data: { photo: "/drops/styliste-avatar.jpg" },
  })
  console.log("Corrigé:", fixed.name, "->", fixed.photo)
}

main()
  .catch((e) => {
    console.error(e)
    process.exit(1)
  })
  .finally(() => db.$disconnect())
