import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()

async function cleanup() {
  console.log('Cleaning up dummy data...\n')

  // Find and delete the dummy round
  const dummyRound = await prisma.round.findFirst({
    where: { slug: 'round-1-2026' },
    include: { projects: true }
  })

  if (dummyRound) {
    console.log(`Found dummy round: ${dummyRound.name}`)
    console.log(`Projects in round: ${dummyRound.projects.length}`)

    // Get project IDs to delete
    const projectIds = dummyRound.projects.map(p => p.id)

    // Delete team members for these projects
    if (projectIds.length > 0) {
      const teamDeleted = await prisma.teamMember.deleteMany({
        where: { projectId: { in: projectIds } }
      })
      console.log(`Deleted ${teamDeleted.count} team members`)

      // Delete the projects
      const projDeleted = await prisma.project.deleteMany({
        where: { id: { in: projectIds } }
      })
      console.log(`Deleted ${projDeleted.count} dummy projects`)
    }

    // Delete the round
    await prisma.round.delete({ where: { id: dummyRound.id } })
    console.log('Deleted dummy round')
  } else {
    console.log('No dummy round found')
  }

  console.log('\nCleanup complete!')
}

cleanup()
  .then(() => prisma.$disconnect())
  .catch(async (e) => {
    console.error(e)
    await prisma.$disconnect()
    process.exit(1)
  })
