fix: selling consumable/gear items #639

Merged
Sainan merged 1 commits from sell-consumables into main 2024-12-24 16:08:19 -08:00
2 changed files with 12 additions and 1 deletions

View File

@ -1,7 +1,7 @@
import { RequestHandler } from "express"; import { RequestHandler } from "express";
import { ISellRequest } from "@/src/types/sellTypes"; import { ISellRequest } from "@/src/types/sellTypes";
import { getAccountIdForRequest } from "@/src/services/loginService"; import { getAccountIdForRequest } from "@/src/services/loginService";
import { getInventory, addMods, addRecipes, addMiscItems } from "@/src/services/inventoryService"; import { getInventory, addMods, addRecipes, addMiscItems, addConsumables } from "@/src/services/inventoryService";
export const sellController: RequestHandler = async (req, res) => { export const sellController: RequestHandler = async (req, res) => {
const payload = JSON.parse(String(req.body)) as ISellRequest; const payload = JSON.parse(String(req.body)) as ISellRequest;
@ -45,6 +45,16 @@ export const sellController: RequestHandler = async (req, res) => {
inventory.Melee.pull({ _id: sellItem.String }); inventory.Melee.pull({ _id: sellItem.String });
}); });
} }
if (payload.Items.Consumables) {
const consumablesChanges = [];
for (const sellItem of payload.Items.Consumables) {
consumablesChanges.push({
ItemType: sellItem.String,
ItemCount: sellItem.Count * -1
});
}
addConsumables(inventory, consumablesChanges);
}
if (payload.Items.Recipes) { if (payload.Items.Recipes) {
const recipeChanges = []; const recipeChanges = [];
for (const sellItem of payload.Items.Recipes) { for (const sellItem of payload.Items.Recipes) {

View File

@ -4,6 +4,7 @@ export interface ISellRequest {
LongGuns?: ISellItem[]; LongGuns?: ISellItem[];
Pistols?: ISellItem[]; Pistols?: ISellItem[];
Melee?: ISellItem[]; Melee?: ISellItem[];
Consumables?: ISellItem[];
Recipes?: ISellItem[]; Recipes?: ISellItem[];
Upgrades?: ISellItem[]; Upgrades?: ISellItem[];
}; };