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

async function checkTeams() {
  const leagues = ['nba', 'nfl', 'nhl', 'mlb'];

  for (const league of leagues) {
    const homeTeams = await prisma.game.findMany({
      where: { league: { equals: league, mode: 'insensitive' } },
      select: { homeTeam: true },
      distinct: ['homeTeam'],
    });
    const awayTeams = await prisma.game.findMany({
      where: { league: { equals: league, mode: 'insensitive' } },
      select: { awayTeam: true },
      distinct: ['awayTeam'],
    });

    const allTeams = new Set([...homeTeams.map(g => g.homeTeam), ...awayTeams.map(g => g.awayTeam)]);
    console.log(`\n${league.toUpperCase()}: ${allTeams.size} unique teams`);

    // Show all teams
    const sorted = [...allTeams].sort();
    console.log('  Teams:', sorted.join(', '));

    // Show sample of teams that might need normalization
    const abbreviated = [...allTeams].filter(t => t.length <= 4 || /^[A-Z]{2,4}$/.test(t));
    if (abbreviated.length > 0) {
      console.log('  ⚠️ Abbreviated:', abbreviated.join(', '));
    }
  }

  // Count total games per league
  console.log('\n--- Game Counts ---');
  for (const league of leagues) {
    const count = await prisma.game.count({ where: { league: { equals: league, mode: 'insensitive' } } });
    console.log(`${league.toUpperCase()}: ${count} games`);
  }

  await prisma.$disconnect();
}

checkTeams().catch(console.error);
