From 6ec6bf9531dd5fa487eb2b2337652180600c43d1 Mon Sep 17 00:00:00 2001 From: "Kalle (Sendou)" <38327916+Sendouc@users.noreply.github.com> Date: Wed, 20 Jan 2021 18:27:43 +0200 Subject: [PATCH] principal id script --- prisma/scripts/addPrincipalIds.ts | 31 +++++++++++++++++++------------ tsconfig.json | 2 +- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/prisma/scripts/addPrincipalIds.ts b/prisma/scripts/addPrincipalIds.ts index 48f5a1c3a..8a5b45179 100644 --- a/prisma/scripts/addPrincipalIds.ts +++ b/prisma/scripts/addPrincipalIds.ts @@ -1,26 +1,33 @@ import prisma from "../client"; -import principalToUnique from "./data/league/principal_to_unique.json"; +import principalToUnique from "./data/league/uuid2pid.json"; const main = async () => { - const players = await prisma.player.findMany({}); - - console.log("amount", Object.entries(principalToUnique)); + const players = await prisma.player.findMany({ + where: { principalId: null }, + }); const mapped = Object.entries(principalToUnique).reduce((acc, cur) => { - acc.set("" + cur[1], cur[0]); + acc.set("" + cur[0], cur[1]); return acc; }, new Map()); - let notFound = 0; + await Promise.allSettled( + players + .filter((player) => { + if (mapped.get(player.switchAccountId)) return true; - players.forEach((player) => { - const found = mapped.get(player.switchAccountId); + throw Error(player.switchAccountId); + }) + .map((player) => + prisma.player.update({ + where: { switchAccountId: player.switchAccountId }, + data: { principalId: mapped.get(player.switchAccountId) }, + }) + ) + ); - if (!found) notFound++; - }); - - console.log("notFound", notFound); + console.log("all done"); }; main() diff --git a/tsconfig.json b/tsconfig.json index f3143ed3b..f4b41dae6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": ["dom", "dom.iterable", "esnext", "ES2020"], "types": ["cypress"], "allowJs": false, "skipLibCheck": true,