Compare commits

...

5 Commits

Author SHA1 Message Date
AlexisinGit
cd0dc4feec Merge branch 'setAccountCheatController-type-check' into webui-account-cheats-payload-input-by-value- 2025-09-23 06:35:32 +08:00
AlexisinGit
602a04d9ba verify & fix 2025-09-23 06:35:19 +08:00
AlexisinGit
b8fcccb2b7 webui-account-cheats-payload-input-by-value 2025-09-23 06:35:19 +08:00
AlexisinGit
491af09c30 setAccountCheatController type check (2) 2025-09-23 06:35:19 +08:00
AlexisinGit
7ec4cd9299 setAccountCheatController type check 2025-09-23 06:35:19 +08:00
2 changed files with 17 additions and 5 deletions

View File

@ -3,12 +3,19 @@ import { getAccountIdForRequest } from "../../services/loginService.ts";
import { sendWsBroadcastTo } from "../../services/wsService.ts";
import type { IAccountCheats } from "../../types/inventoryTypes/inventoryTypes.ts";
import type { RequestHandler } from "express";
import { logger } from "../../utils/logger.ts";
export const setAccountCheatController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const payload = req.body as ISetAccountCheatRequest;
const inventory = await getInventory(accountId, payload.key);
inventory[payload.key] = payload.value;
if (payload.value == undefined) {
logger.warn(`Aborting setting ${payload.key} as undefined!`);
return;
}
inventory[payload.key] = payload.value as never;
await inventory.save();
res.end();
if (["infiniteCredits", "infinitePlatinum", "infiniteEndo", "infiniteRegalAya"].indexOf(payload.key) != -1) {
@ -18,5 +25,5 @@ export const setAccountCheatController: RequestHandler = async (req, res) => {
interface ISetAccountCheatRequest {
key: keyof IAccountCheats;
value: boolean;
value: IAccountCheats[keyof IAccountCheats];
}

View File

@ -1986,7 +1986,11 @@ function updateInventory() {
}
for (const elm of accountCheats) {
elm.checked = !!data[elm.id];
if (elm.type === "checkbox") {
elm.checked = !!data[elm.id];
} else if (elm.type === "number") {
elm.value = data[elm.id] !== undefined ? data[elm.id] : elm.getAttribute("data-default") || "";
}
}
});
});
@ -3214,9 +3218,10 @@ function doIntrinsicsUnlockAll() {
});
}
document.querySelectorAll("#account-cheats input[type=checkbox]").forEach(elm => {
document.querySelectorAll("#account-cheats input[type=checkbox], #account-cheats input[type=number]").forEach(elm => {
elm.onchange = function () {
revalidateAuthz().then(() => {
const value = elm.type === "checkbox" ? elm.checked : elm.value;
$.post({
url: "/custom/setAccountCheat?" + window.authz,
contentType: "application/json",
@ -3237,7 +3242,7 @@ document.querySelectorAll("#guild-cheats input[type=checkbox]").forEach(elm => {
contentType: "application/json",
data: JSON.stringify({
key: elm.id,
value: elm.checked
value: value
})
});
});