const { PrismaClient } = require('../generated/prisma'); const fetch = require('node-fetch'); const prisma = new PrismaClient(); // Generate SVG logo based on team name function generateSVGLogo(teamName, size = 40) { let hash = 0; for (let i = 0; i < teamName.length; i++) { hash = teamName.charCodeAt(i) + ((hash << 5) - hash); } const hue = Math.abs(hash) % 360; const saturation = 60 + (Math.abs(hash) % 30); const lightness = 40 + (Math.abs(hash) % 30); const color = `hsl(${hue}, ${saturation}%, ${lightness}%)`; const secondaryHue = (hue + 180) % 360; const secondaryColor = `hsl(${secondaryHue}, ${saturation}%, ${lightness}%)`; const pattern = Math.abs(hash) % 4; const initials = teamName.split(' ').map(w => w[0]).join('').toUpperCase().slice(0, 2); let svgContent = ''; switch (pattern) { case 0: // Circle with initials svgContent = `${initials}`; break; case 1: // Square with diagonal svgContent = `${initials}`; break; case 2: // Triangle svgContent = `${initials}`; break; case 3: // Diamond svgContent = `${initials}`; break; } return svgContent; } async function resetTournament() { try { console.log('šŸ—‘ļø Deleting all existing data...'); // Delete all data in the correct order (due to foreign key constraints) await prisma.result.deleteMany(); await prisma.match.deleteMany(); await prisma.tournamentStage.deleteMany(); await prisma.tournament.deleteMany(); await prisma.team.deleteMany(); console.log('āœ… All existing data deleted'); // Create new tournament console.log('šŸ† Creating new tournament...'); const tournament = await prisma.tournament.create({ data: { name: 'Championship Tournament', date: new Date(), location: 'Main Arena' } }); console.log(`āœ… Tournament created: ${tournament.name}`); // Create 15 teams console.log('šŸ‘„ Creating 15 teams...'); const teamNames = [ 'Alpha', 'Beta', 'Gamma', 'Delta', 'Epsilon', 'Zeta', 'Eta', 'Theta', 'Iota', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Xi', 'Omicron' ]; const teams = []; for (let i = 0; i < 15; i++) { const teamName = `Team ${teamNames[i]}`; const team = await prisma.team.create({ data: { name: teamName, logo: generateSVGLogo(teamName) } }); teams.push(team); console.log(`āœ… Created ${team.name} with SVG logo`); } console.log(`\nšŸŽ‰ Tournament reset complete!`); console.log(`šŸ“Š Tournament: ${tournament.name}`); console.log(`šŸ‘„ Teams: ${teams.length}`); console.log(`šŸ“… Date: ${tournament.date.toLocaleDateString()}`); console.log(`šŸ“ Location: ${tournament.location}`); } catch (err) { console.error('āŒ Error resetting tournament:', err); } finally { await prisma.$disconnect(); } } resetTournament();