Files
OpenTournament/scripts/setPlayerUsernames.js
2025-07-19 12:21:46 +02:00

24 lines
774 B
JavaScript

const { PrismaClient } = require('../generated/prisma');
async function main() {
const prisma = new PrismaClient();
const players = await prisma.player.findMany();
const usedUsernames = new Set();
for (const player of players) {
let base = player.email.split('@')[0];
let username = base;
let i = 1;
// Ensure uniqueness
while (usedUsernames.has(username) || await prisma.player.findUnique({ where: { username } })) {
username = `${base}${i}`;
i++;
}
usedUsernames.add(username);
await prisma.player.update({ where: { id: player.id }, data: { username } });
console.log(`Set username for ${player.email}: ${username}`);
}
await prisma.$disconnect();
}
main().catch(e => { console.error(e); process.exit(1); });