feat: handle updateChallengeProgress #235

Merged
Sainan merged 1 commits from challenges into main 2024-05-28 04:52:27 -07:00
2 changed files with 16 additions and 3 deletions

View File

@ -1,7 +1,20 @@
import { RequestHandler } from "express";
import { IChallengeProgress } from "@/src/types/inventoryTypes/inventoryTypes";
import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { getInventory, addChallenges } from "@/src/services/inventoryService";
const updateChallengeProgressController: RequestHandler = (_request, response) => {
response.sendStatus(200);
interface IUpdateChallengeProgessRequest {
ChallengeProgress: IChallengeProgress[];
}
const updateChallengeProgressController: RequestHandler = async (req, res) => {
const payload: IUpdateChallengeProgessRequest = getJSONfromString(req.body.toString());
const accountId = await getAccountIdForRequest(req);
const inventory = await getInventory(accountId);
addChallenges(inventory, payload.ChallengeProgress);
inventory.save();
res.status(200).end();
};
export { updateChallengeProgressController };

View File

@ -290,7 +290,7 @@ const addMods = (inventory: IInventoryDatabaseDocument, itemsArray: IRawUpgrade[
});
};
const addChallenges = (inventory: IInventoryDatabaseDocument, itemsArray: IChallengeProgress[] | undefined) => {
export const addChallenges = (inventory: IInventoryDatabaseDocument, itemsArray: IChallengeProgress[] | undefined) => {
const category = inventory.ChallengeProgress;
itemsArray?.forEach(({ Name, Progress }) => {