diff --git a/src/controllers/api/updateChallengeProgressController.ts b/src/controllers/api/updateChallengeProgressController.ts index 2889a333..a69e995b 100644 --- a/src/controllers/api/updateChallengeProgressController.ts +++ b/src/controllers/api/updateChallengeProgressController.ts @@ -1,16 +1,23 @@ import { RequestHandler } from "express"; import { getJSONfromString } from "@/src/helpers/stringHelpers"; import { getAccountIdForRequest } from "@/src/services/loginService"; -import { updateChallengeProgress } from "@/src/services/inventoryService"; -import { IUpdateChallengeProgressRequest } from "@/src/types/requestTypes"; +import { addChallenges, addSeasonalChallengeHistory, getInventory } from "@/src/services/inventoryService"; +import { IChallengeProgress, ISeasonChallenge } from "@/src/types/inventoryTypes/inventoryTypes"; -const updateChallengeProgressController: RequestHandler = async (req, res) => { - const payload = getJSONfromString(String(req.body)); +export const updateChallengeProgressController: RequestHandler = async (req, res) => { + const challenges = getJSONfromString(String(req.body)); const accountId = await getAccountIdForRequest(req); - await updateChallengeProgress(payload, accountId); + const inventory = await getInventory(accountId, "ChallengeProgress SeasonChallengeHistory"); + addChallenges(inventory, challenges.ChallengeProgress); + addSeasonalChallengeHistory(inventory, challenges.SeasonChallengeHistory); + await inventory.save(); res.status(200).end(); }; -export { updateChallengeProgressController }; +interface IUpdateChallengeProgressRequest { + ChallengeProgress: IChallengeProgress[]; + SeasonChallengeHistory: ISeasonChallenge[]; + SeasonChallengeCompletions: ISeasonChallenge[]; +} diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index b90d97df..dde254f1 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -28,7 +28,7 @@ import { IUpgradeClient } from "@/src/types/inventoryTypes/inventoryTypes"; import { IGenericUpdate, IUpdateNodeIntrosResponse } from "../types/genericUpdate"; -import { IMissionInventoryUpdateRequest, IUpdateChallengeProgressRequest } from "../types/requestTypes"; +import { IMissionInventoryUpdateRequest } from "../types/requestTypes"; import { logger } from "@/src/utils/logger"; import { convertInboxMessage, fromStoreItem, getExalted, getKeyChainItems } from "@/src/services/itemDataService"; import { @@ -1205,18 +1205,6 @@ export const addFocusXpIncreases = (inventory: TInventoryDatabaseDocument, focus inventory.FocusXP.AP_WARD += focusXpPlus[FocusType.AP_WARD]; }; -export const updateChallengeProgress = async ( - challenges: IUpdateChallengeProgressRequest, - accountId: string -): Promise => { - const inventory = await getInventory(accountId); - - addChallenges(inventory, challenges.ChallengeProgress); - addSeasonalChallengeHistory(inventory, challenges.SeasonChallengeHistory); - - await inventory.save(); -}; - export const addSeasonalChallengeHistory = ( inventory: TInventoryDatabaseDocument, itemsArray: ISeasonChallenge[] | undefined diff --git a/src/types/requestTypes.ts b/src/types/requestTypes.ts index 7ca33a84..9b977d78 100644 --- a/src/types/requestTypes.ts +++ b/src/types/requestTypes.ts @@ -25,12 +25,6 @@ export interface IAffiliationChange { Title: number; } -export interface IUpdateChallengeProgressRequest { - ChallengeProgress: IChallengeProgress[]; - SeasonChallengeHistory: ISeasonChallenge[]; - SeasonChallengeCompletions: ISeasonChallenge[]; -} - export type IMissionInventoryUpdateRequest = { MiscItems?: ITypeCount[]; Recipes?: ITypeCount[];