diff --git a/src/controllers/custom/addCurrencyController.ts b/src/controllers/custom/addCurrencyController.ts new file mode 100644 index 00000000..63dedb6f --- /dev/null +++ b/src/controllers/custom/addCurrencyController.ts @@ -0,0 +1,17 @@ +import { RequestHandler } from "express"; +import { getAccountIdForRequest } from "@/src/services/loginService"; +import { getInventory } from "@/src/services/inventoryService"; + +export const addCurrencyController: RequestHandler = async (req, res) => { + const accountId = await getAccountIdForRequest(req); + const inventory = await getInventory(accountId); + const request = req.body as IAddCurrencyRequest; + inventory[request.currency] += request.delta; + await inventory.save(); + res.end(); +}; + +interface IAddCurrencyRequest { + currency: "RegularCredits" | "PremiumCredits" | "FusionPoints" | "PrimeTokens"; + delta: number; +} diff --git a/src/routes/custom.ts b/src/routes/custom.ts index 3ada9830..ad2ea069 100644 --- a/src/routes/custom.ts +++ b/src/routes/custom.ts @@ -8,13 +8,14 @@ import { deleteAccountController } from "@/src/controllers/custom/deleteAccountC import { renameAccountController } from "@/src/controllers/custom/renameAccountController"; import { createAccountController } from "@/src/controllers/custom/createAccountController"; +import { createMessageController } from "@/src/controllers/custom/createMessageController"; +import { addCurrencyController } from "../controllers/custom/addCurrencyController"; import { addItemsController } from "@/src/controllers/custom/addItemsController"; import { addXpController } from "@/src/controllers/custom/addXpController"; import { importController } from "@/src/controllers/custom/importController"; import { getConfigDataController } from "@/src/controllers/custom/getConfigDataController"; import { updateConfigDataController } from "@/src/controllers/custom/updateConfigDataController"; -import { createMessageController } from "@/src/controllers/custom/createMessageController"; const customRouter = express.Router(); @@ -27,6 +28,7 @@ customRouter.get("/renameAccount", renameAccountController); customRouter.post("/createAccount", createAccountController); customRouter.post("/createMessage", createMessageController); +customRouter.post("/addCurrency", addCurrencyController); customRouter.post("/addItems", addItemsController); customRouter.post("/addXp", addXpController); customRouter.post("/import", importController); diff --git a/static/webui/index.html b/static/webui/index.html index 08995f54..8e284362 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -94,6 +94,56 @@ +