diff --git a/src/controllers/custom/renameAccountController.ts b/src/controllers/custom/renameAccountController.ts new file mode 100644 index 00000000..1631cc02 --- /dev/null +++ b/src/controllers/custom/renameAccountController.ts @@ -0,0 +1,13 @@ +import { RequestHandler } from "express"; +import { getAccountForRequest } from "@/src/services/loginService"; + +export const renameAccountController: RequestHandler = async (req, res) => { + const account = await getAccountForRequest(req); + if (typeof req.query.newname == "string") { + account.DisplayName = req.query.newname; + await account.save(); + res.end(); + } else { + res.status(400).end(); + } +}; diff --git a/src/routes/custom.ts b/src/routes/custom.ts index c7e74e9d..c8f87a56 100644 --- a/src/routes/custom.ts +++ b/src/routes/custom.ts @@ -5,6 +5,7 @@ import { getItemListsController } from "@/src/controllers/custom/getItemListsCon import { pushArchonCrystalUpgradeController } from "@/src/controllers/custom/pushArchonCrystalUpgradeController"; import { popArchonCrystalUpgradeController } from "@/src/controllers/custom/popArchonCrystalUpgradeController"; import { deleteAccountController } from "@/src/controllers/custom/deleteAccountController"; +import { renameAccountController } from "@/src/controllers/custom/renameAccountController"; import { createAccountController } from "@/src/controllers/custom/createAccountController"; import { addItemController } from "@/src/controllers/custom/addItemController"; @@ -19,6 +20,7 @@ customRouter.get("/getItemLists", getItemListsController); customRouter.get("/pushArchonCrystalUpgrade", pushArchonCrystalUpgradeController); customRouter.get("/popArchonCrystalUpgrade", popArchonCrystalUpgradeController); customRouter.get("/deleteAccount", deleteAccountController); +customRouter.get("/renameAccount", renameAccountController); customRouter.post("/createAccount", createAccountController); customRouter.post("/addItem", addItemController); diff --git a/static/webui/index.html b/static/webui/index.html index 7da6f8c8..2ab99f23 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -39,7 +39,8 @@
diff --git a/static/webui/script.js b/static/webui/script.js index e7235749..1be39ceb 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -61,6 +61,15 @@ function logout() { localStorage.removeItem("password"); } +function renameAccount() { + const newname = window.prompt("What would you like to change your account name to?"); + if (newname) { + fetch("/custom/renameAccount?" + window.authz + "&newname=" + newname).then(() => { + $(".displayname").text(newname); + }); + } +} + function deleteAccount() { if ( window.confirm( @@ -71,7 +80,7 @@ function deleteAccount() { ")? This action cannot be undone." ) ) { - fetch("/custom/deleteAccount?" + window.authz).then(function () { + fetch("/custom/deleteAccount?" + window.authz).then(() => { logout(); single.loadRoute("/webui/"); // Show login screen });