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

SpaceNinjaServer

A simple server for a small space ninja game

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

XFEstudio/SpaceNinjaServer

feat: handle updateChallengeProgress (#235)

03704d0f
Sainan <sainan@calamity.gg>
提交于

代码差异

2 个文件 +16 -3
Modified src/controllers/api/updateChallengeProgressController.ts +15 -2
@@ -1,7 +1,20 @@
1 1 import { RequestHandler } from "express";
2 import { IChallengeProgress } from "@/src/types/inventoryTypes/inventoryTypes";
3 import { getJSONfromString } from "@/src/helpers/stringHelpers";
4 import { getAccountIdForRequest } from "@/src/services/loginService";
5 import { getInventory, addChallenges } from "@/src/services/inventoryService";
2 6
3 const updateChallengeProgressController: RequestHandler = (_request, response) => {
4 response.sendStatus(200);
7 interface IUpdateChallengeProgessRequest {
8 ChallengeProgress: IChallengeProgress[];
9 }
10
11 const updateChallengeProgressController: RequestHandler = async (req, res) => {
12 const payload: IUpdateChallengeProgessRequest = getJSONfromString(req.body.toString());
13 const accountId = await getAccountIdForRequest(req);
14 const inventory = await getInventory(accountId);
15 addChallenges(inventory, payload.ChallengeProgress);
16 inventory.save();
17 res.status(200).end();
5 18 };
6 19
7 20 export { updateChallengeProgressController };
Modified src/services/inventoryService.ts +1 -1
@@ -290,7 +290,7 @@ const addMods = (inventory: IInventoryDatabaseDocument, itemsArray: IRawUpgrade[
290 290 });
291 291 };
292 292
293 const addChallenges = (inventory: IInventoryDatabaseDocument, itemsArray: IChallengeProgress[] | undefined) => {
293 export const addChallenges = (inventory: IInventoryDatabaseDocument, itemsArray: IChallengeProgress[] | undefined) => {
294 294 const category = inventory.ChallengeProgress;
295 295
296 296 itemsArray?.forEach(({ Name, Progress }) => {