Add ITZ40-49 badge + adjust the old add badge script
Some checks failed
Tests and checks on push / run-checks-and-tests (push) Has been cancelled
Updates translation progress / update-translation-progress-issue (push) Has been cancelled

This commit is contained in:
Kalle 2025-02-06 15:56:15 +02:00
parent b0076617f8
commit f433b79ded
4 changed files with 12 additions and 3 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -5,17 +5,26 @@ import { logger } from "~/utils/logger";
const code = process.argv[2]?.trim();
const displayName = process.argv[3]?.trim();
const rawHue = process.argv[4]?.trim();
const parsedHue = rawHue ? Number(rawHue) : undefined;
invariant(code, "code of badge is required (argument 1)");
invariant(displayName, "display name of badge is required (argument 2)");
invariant(code === code.toLocaleLowerCase(), "code of badge must be lowercase");
invariant(displayName, "display name of badge is required (argument 2)");
invariant(
displayName !== displayName.toLocaleLowerCase(),
"displayName of badge must have at least one uppercase letter",
);
invariant(
!parsedHue ||
(parsedHue >= -360 && parsedHue <= 360 && Number.isInteger(parsedHue)),
"hue must be between -360 and 360",
);
sql
.prepare("insert into badge (code, displayName) values ($code, $displayName)")
.run({ code, displayName });
.prepare(
"insert into badge (code, displayName, hue) values ($code, $displayName, $hue)",
)
.run({ code, displayName, hue: parsedHue ?? null });
logger.info(`Added new badge: ${displayName}`);