sendou.ink/scripts/swap-users.ts
Kalle fd48bced91
Migrate Prettier/Eslint/Stylelint setup to Biome (#1772)
* Initial

* CSS lint

* Test CI

* Add 1v1, 2v2, and 3v3 Tags (#1771)

* Initial

* CSS lint

* Test CI

* Rename step

---------

Co-authored-by: xi <104683822+ximk@users.noreply.github.com>
2024-06-24 13:07:17 +03:00

35 lines
817 B
TypeScript

import "dotenv/config";
import { sql } from "~/db/sql";
import invariant from "~/utils/invariant";
const discordId = process.argv[2]?.trim();
const discordId2 = process.argv[3]?.trim();
invariant(discordId, "discord id is required (argument 1)");
invariant(discordId2, "discord id (2) is required (argument 2)");
invariant(discordId !== discordId2, "discord ids must be different");
const tempDiscordId = "temp-discord-id";
const stm = sql.prepare(
/** sql */ `update "User" set "discordId" = @newDiscordId where "discordId" = @discordId;`,
);
// swap user discordIds
sql.transaction(() => {
stm.run({
discordId: discordId,
newDiscordId: tempDiscordId,
});
stm.run({
discordId: discordId2,
newDiscordId: discordId,
});
stm.run({
discordId: tempDiscordId,
newDiscordId: discordId2,
});
})();