refactor getItemByBlueprint stuff to make more sense

This commit is contained in:
Sainan 2024-06-19 04:50:57 +02:00
parent 03ac8ab010
commit 7313d35ed9
3 changed files with 11 additions and 12 deletions

View File

@ -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
}
});
}

View File

@ -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];
};

View File

@ -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}`);