返回提交历史
Added
src/controllers/custom/renameAccountController.ts
+13
-0
Modified
src/routes/custom.ts
+2
-0
Modified
static/webui/index.html
+2
-1
Modified
static/webui/script.js
+10
-1
XFEstudio/XFESpaceNinjaServer
feat(webui): rename account (#616)
9be89fa9
代码差异
4 个文件
+27
-2
@@ -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
};
@@ -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);
@@ -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>
@@ -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
});