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 = ``;
break;
case 1: // Square with diagonal
svgContent = ``;
break;
case 2: // Triangle
svgContent = ``;
break;
case 3: // Diamond
svgContent = ``;
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: 'Spring Championship 2024',
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();