XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

feat(webui): rename account (#616)

9be89fa9
Sainan <sainan@calamity.inc>
提交于

代码差异

4 个文件 +27 -2
Added src/controllers/custom/renameAccountController.ts +13 -0
@@ -0,0 +1,13 @@
1 import { RequestHandler } from "express";
2 import { getAccountForRequest } from "@/src/services/loginService";
3
4 export const renameAccountController: RequestHandler = async (req, res) => {
5 const account = await getAccountForRequest(req);
6 if (typeof req.query.newname == "string") {
7 account.DisplayName = req.query.newname;
8 await account.save();
9 res.end();
10 } else {
11 res.status(400).end();
12 }
13 };
Modified src/routes/custom.ts +2 -0
@@ -5,6 +5,7 @@ import { getItemListsController } from "@/src/controllers/custom/getItemListsCon
5 5 import { pushArchonCrystalUpgradeController } from "@/src/controllers/custom/pushArchonCrystalUpgradeController";
6 6 import { popArchonCrystalUpgradeController } from "@/src/controllers/custom/popArchonCrystalUpgradeController";
7 7 import { deleteAccountController } from "@/src/controllers/custom/deleteAccountController";
8 import { renameAccountController } from "@/src/controllers/custom/renameAccountController";
8 9
9 10 import { createAccountController } from "@/src/controllers/custom/createAccountController";
10 11 import { addItemController } from "@/src/controllers/custom/addItemController";
@@ -19,6 +20,7 @@ customRouter.get("/getItemLists", getItemListsController);
19 20 customRouter.get("/pushArchonCrystalUpgrade", pushArchonCrystalUpgradeController);
20 21 customRouter.get("/popArchonCrystalUpgrade", popArchonCrystalUpgradeController);
21 22 customRouter.get("/deleteAccount", deleteAccountController);
23 customRouter.get("/renameAccount", renameAccountController);
22 24
23 25 customRouter.post("/createAccount", createAccountController);
24 26 customRouter.post("/addItem", addItemController);
Modified static/webui/index.html +2 -1
@@ -39,7 +39,8 @@
39 39 <ul class="dropdown-menu dropdown-menu-end">
40 40 <li><a class="dropdown-item" href="/webui/" onclick="logout();">Logout</a></li>
41 41 <li><hr class="dropdown-divider"></li>
42 <li><a class="dropdown-item" onclick="deleteAccount();">Delete Account</a></li>
42 <li><a class="dropdown-item" href="#" onclick="event.preventDefault();renameAccount();">Rename Account</a></li>
43 <li><a class="dropdown-item" href="#" onclick="event.preventDefault();deleteAccount();">Delete Account</a></li>
43 44 </ul>
44 45 </li>
45 46 </ul>
Modified static/webui/script.js +10 -1
@@ -61,6 +61,15 @@ function logout() {
61 61 localStorage.removeItem("password");
62 62 }
63 63
64 function renameAccount() {
65 const newname = window.prompt("What would you like to change your account name to?");
66 if (newname) {
67 fetch("/custom/renameAccount?" + window.authz + "&newname=" + newname).then(() => {
68 $(".displayname").text(newname);
69 });
70 }
71 }
72
64 73 function deleteAccount() {
65 74 if (
66 75 window.confirm(
@@ -71,7 +80,7 @@ function deleteAccount() {
71 80 ")? This action cannot be undone."
72 81 )
73 82 ) {
74 fetch("/custom/deleteAccount?" + window.authz).then(function () {
83 fetch("/custom/deleteAccount?" + window.authz).then(() => {
75 84 logout();
76 85 single.loadRoute("/webui/"); // Show login screen
77 86 });