mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-22 02:14:41 -05:00
* 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>
29 lines
669 B
TypeScript
29 lines
669 B
TypeScript
import "dotenv/config";
|
|
import { db } from "~/db/sql";
|
|
import invariant from "~/utils/invariant";
|
|
import { logger } from "~/utils/logger";
|
|
|
|
const rawId = process.argv[2]?.trim();
|
|
|
|
invariant(rawId, "id of badge is required (argument 1)");
|
|
|
|
const id = Number(rawId);
|
|
|
|
invariant(!Number.isNaN(id), "id must be a number");
|
|
|
|
async function main() {
|
|
const owners = await db
|
|
.selectFrom("BadgeOwner")
|
|
.select(["badgeId"])
|
|
.where("BadgeOwner.badgeId", "=", id)
|
|
.execute();
|
|
|
|
invariant(owners.length === 0, "Badge is still owned by someone");
|
|
|
|
await db.deleteFrom("Badge").where("id", "=", id).execute();
|
|
|
|
logger.info("done with deleting the badge");
|
|
}
|
|
|
|
void main();
|