diff --git a/README.md b/README.md index 433cfca13..b24f8f8df 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,12 @@ sips -s format png ./sundae.gif --out . npm run add-badge -- sundae "4v4 Sundaes" ``` +### Rename display name of a badge + +```bash +npm run rename-badge -- sundae "New 4v4 Sundaes" +``` + ### Convert many .png files to .avif While in the folder with the images: diff --git a/package.json b/package.json index 6da6484e4..7f8ea7858 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "migrate:cypress": "cross-env DB_PATH=db-cypress.sqlite3 ley", "migrate:reset": "node scripts/delete-db-files.mjs && npm run migrate && npm run seed", "add-badge": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/add-badge.ts", + "rename-badge": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/rename-badge.ts", "create-weapon-json": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/create-weapon-json.ts", "create-gear-json": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/create-gear-json.ts", "create-analyzer-json": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/create-analyzer-json.ts", diff --git a/scripts/rename-badge.ts b/scripts/rename-badge.ts new file mode 100644 index 000000000..f31d22fb8 --- /dev/null +++ b/scripts/rename-badge.ts @@ -0,0 +1,20 @@ +/* eslint-disable no-console */ +import "dotenv/config"; +import invariant from "tiny-invariant"; +import { sql } from "~/db/sql"; + +const code = process.argv[2]?.trim(); +const newName = process.argv[3]?.trim(); + +invariant(code, "code of badge is required (argument 1)"); +invariant(newName, "display name of badge is required (argument 2)"); +invariant( + newName !== newName.toLocaleLowerCase(), + "displayName of badge must have at least one uppercase letter" +); + +sql + .prepare("update badge set displayName = @newName where code = @code") + .run({ code, newName }); + +console.log(`Added updated name. New name: ${newName}`);