From 7313d35ed90d23fc59bbbb1b465fe28abff9b505 Mon Sep 17 00:00:00 2001 From: Sainan Date: Wed, 19 Jun 2024 04:50:57 +0200 Subject: [PATCH] refactor getItemByBlueprint stuff to make more sense --- .../api/claimCompletedRecipeController.ts | 16 ++++++++-------- src/services/itemDataService.ts | 3 +-- src/services/recipeService.ts | 4 ++-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/controllers/api/claimCompletedRecipeController.ts b/src/controllers/api/claimCompletedRecipeController.ts index 43abc899..b3877376 100644 --- a/src/controllers/api/claimCompletedRecipeController.ts +++ b/src/controllers/api/claimCompletedRecipeController.ts @@ -3,7 +3,7 @@ import { RequestHandler } from "express"; import { logger } from "@/src/utils/logger"; -import { getItemByBlueprint } from "@/src/services/itemDataService"; +import { getRecipe } from "@/src/services/itemDataService"; import { IOid } from "@/src/types/commonTypes"; import { getJSONfromString } from "@/src/helpers/stringHelpers"; import { getAccountIdForRequest } from "@/src/services/loginService"; @@ -37,8 +37,8 @@ export const claimCompletedRecipeController: RequestHandler = async (req, res) = inventory.PendingRecipes.pull(pendingRecipe._id); await inventory.save(); - const buildable = getItemByBlueprint(pendingRecipe.ItemType); - if (!buildable) { + const recipe = getRecipe(pendingRecipe.ItemType); + if (!recipe) { logger.error(`no completed item found for recipe ${pendingRecipe._id}`); throw new Error(`no completed item found for recipe ${pendingRecipe._id}`); } @@ -47,18 +47,18 @@ export const claimCompletedRecipeController: RequestHandler = async (req, res) = // TODO: Refund items res.json({}); } else { - logger.debug("Claiming Recipe", { buildable, pendingRecipe }); - if (buildable.consumeOnUse) { + logger.debug("Claiming Recipe", { recipe, pendingRecipe }); + if (recipe.consumeOnUse) { // TODO: Remove one instance of this recipe, and include that in InventoryChanges. } let currencyChanges = {}; - if (req.query.rush && buildable.skipBuildTimePrice) { - currencyChanges = await updateCurrency(buildable.skipBuildTimePrice, true, accountId); + if (req.query.rush && recipe.skipBuildTimePrice) { + currencyChanges = await updateCurrency(recipe.skipBuildTimePrice, true, accountId); } res.json({ InventoryChanges: { ...currencyChanges, - ...(await addItem(accountId, buildable.resultType, buildable.num)).InventoryChanges + ...(await addItem(accountId, recipe.resultType, recipe.num)).InventoryChanges } }); } diff --git a/src/services/itemDataService.ts b/src/services/itemDataService.ts index 694a766f..890cde2a 100644 --- a/src/services/itemDataService.ts +++ b/src/services/itemDataService.ts @@ -97,8 +97,7 @@ export const blueprintNames = Object.fromEntries( .map(name => [name, craftNames[name]]) ); -// Gets a recipe by its uniqueName -export const getItemByBlueprint = (uniqueName: string): IRecipe | undefined => { +export const getRecipe = (uniqueName: string): IRecipe | undefined => { return ExportRecipes[uniqueName]; }; diff --git a/src/services/recipeService.ts b/src/services/recipeService.ts index c9d315bd..d1e8cdcb 100644 --- a/src/services/recipeService.ts +++ b/src/services/recipeService.ts @@ -1,6 +1,6 @@ import { unixTimesInMs } from "@/src/constants/timeConstants"; import { getInventory } from "@/src/services/inventoryService"; -import { getItemByBlueprint } from "@/src/services/itemDataService"; +import { getRecipe } from "@/src/services/itemDataService"; import { logger } from "@/src/utils/logger"; import { Types } from "mongoose"; @@ -27,7 +27,7 @@ export interface IResource { // }; export const startRecipe = async (recipeName: string, accountId: string) => { - const recipe = getItemByBlueprint(recipeName); + const recipe = getRecipe(recipeName); if (!recipe) { logger.error(`unknown recipe ${recipeName}`);