forked from OpenWF/SpaceNinjaServer
		
	feat: forceRemoveItem.php (#2884)
Closes #2883 Reviewed-on: OpenWF/SpaceNinjaServer#2884 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									4141970530
								
							
						
					
					
						commit
						af4c3a93ce
					
				
							
								
								
									
										27
									
								
								src/controllers/api/forceRemoveItemController.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/controllers/api/forceRemoveItemController.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					import type { RequestHandler } from "express";
 | 
				
			||||||
 | 
					import { getAccountIdForRequest } from "../../services/loginService.ts";
 | 
				
			||||||
 | 
					import { getJSONfromString } from "../../helpers/stringHelpers.ts";
 | 
				
			||||||
 | 
					import { getInventory } from "../../services/inventoryService.ts";
 | 
				
			||||||
 | 
					import type { IInventoryChanges } from "../../types/purchaseTypes.ts";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const forceRemoveItemController: RequestHandler = async (req, res) => {
 | 
				
			||||||
 | 
					    const accountId = await getAccountIdForRequest(req);
 | 
				
			||||||
 | 
					    const inventory = await getInventory(accountId, "MiscItems");
 | 
				
			||||||
 | 
					    const body = getJSONfromString<IForceRemoveItemRequest>(String(req.body));
 | 
				
			||||||
 | 
					    const inventoryChanges: IInventoryChanges = {};
 | 
				
			||||||
 | 
					    for (const item of body.items) {
 | 
				
			||||||
 | 
					        const index = inventory.MiscItems.findIndex(x => x.ItemType == item);
 | 
				
			||||||
 | 
					        if (index != -1) {
 | 
				
			||||||
 | 
					            inventoryChanges.MiscItems ??= [];
 | 
				
			||||||
 | 
					            inventoryChanges.MiscItems.push({ ItemType: item, ItemCount: inventory.MiscItems[index].ItemCount * -1 });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            inventory.MiscItems.splice(index, 1);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    await inventory.save();
 | 
				
			||||||
 | 
					    res.json({ InventoryChanges: inventoryChanges });
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IForceRemoveItemRequest {
 | 
				
			||||||
 | 
					    items: string[];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -53,6 +53,7 @@ import { evolveWeaponController } from "../controllers/api/evolveWeaponControlle
 | 
				
			|||||||
import { findSessionsController } from "../controllers/api/findSessionsController.ts";
 | 
					import { findSessionsController } from "../controllers/api/findSessionsController.ts";
 | 
				
			||||||
import { fishmongerController } from "../controllers/api/fishmongerController.ts";
 | 
					import { fishmongerController } from "../controllers/api/fishmongerController.ts";
 | 
				
			||||||
import { focusController } from "../controllers/api/focusController.ts";
 | 
					import { focusController } from "../controllers/api/focusController.ts";
 | 
				
			||||||
 | 
					import { forceRemoveItemController } from "../controllers/api/forceRemoveItemController.ts";
 | 
				
			||||||
import { fusionTreasuresController } from "../controllers/api/fusionTreasuresController.ts";
 | 
					import { fusionTreasuresController } from "../controllers/api/fusionTreasuresController.ts";
 | 
				
			||||||
import { gardeningController } from "../controllers/api/gardeningController.ts";
 | 
					import { gardeningController } from "../controllers/api/gardeningController.ts";
 | 
				
			||||||
import { genericUpdateController } from "../controllers/api/genericUpdateController.ts";
 | 
					import { genericUpdateController } from "../controllers/api/genericUpdateController.ts";
 | 
				
			||||||
@ -66,8 +67,8 @@ import { getGuildEventScoreController } from "../controllers/api/getGuildEventSc
 | 
				
			|||||||
import { getGuildLogController } from "../controllers/api/getGuildLogController.ts";
 | 
					import { getGuildLogController } from "../controllers/api/getGuildLogController.ts";
 | 
				
			||||||
import { getIgnoredUsersController } from "../controllers/api/getIgnoredUsersController.ts";
 | 
					import { getIgnoredUsersController } from "../controllers/api/getIgnoredUsersController.ts";
 | 
				
			||||||
import { getNewRewardSeedController } from "../controllers/api/getNewRewardSeedController.ts";
 | 
					import { getNewRewardSeedController } from "../controllers/api/getNewRewardSeedController.ts";
 | 
				
			||||||
import { getProfileViewingDataPostController } from "../controllers/dynamic/getProfileViewingDataController.ts";
 | 
					 | 
				
			||||||
import { getPastWeeklyChallengesController } from "../controllers/api/getPastWeeklyChallengesController.ts";
 | 
					import { getPastWeeklyChallengesController } from "../controllers/api/getPastWeeklyChallengesController.ts";
 | 
				
			||||||
 | 
					import { getProfileViewingDataPostController } from "../controllers/dynamic/getProfileViewingDataController.ts";
 | 
				
			||||||
import { getShipController } from "../controllers/api/getShipController.ts";
 | 
					import { getShipController } from "../controllers/api/getShipController.ts";
 | 
				
			||||||
import { getVendorInfoController } from "../controllers/api/getVendorInfoController.ts";
 | 
					import { getVendorInfoController } from "../controllers/api/getVendorInfoController.ts";
 | 
				
			||||||
import { getVoidProjectionRewardsController } from "../controllers/api/getVoidProjectionRewardsController.ts";
 | 
					import { getVoidProjectionRewardsController } from "../controllers/api/getVoidProjectionRewardsController.ts";
 | 
				
			||||||
@ -273,6 +274,7 @@ apiRouter.post("/evolveWeapon.php", evolveWeaponController);
 | 
				
			|||||||
apiRouter.post("/findSessions.php", findSessionsController);
 | 
					apiRouter.post("/findSessions.php", findSessionsController);
 | 
				
			||||||
apiRouter.post("/fishmonger.php", fishmongerController);
 | 
					apiRouter.post("/fishmonger.php", fishmongerController);
 | 
				
			||||||
apiRouter.post("/focus.php", focusController);
 | 
					apiRouter.post("/focus.php", focusController);
 | 
				
			||||||
 | 
					apiRouter.post("/forceRemoveItem.php", forceRemoveItemController);
 | 
				
			||||||
apiRouter.post("/fusionTreasures.php", fusionTreasuresController);
 | 
					apiRouter.post("/fusionTreasures.php", fusionTreasuresController);
 | 
				
			||||||
apiRouter.post("/gardening.php", gardeningController);
 | 
					apiRouter.post("/gardening.php", gardeningController);
 | 
				
			||||||
apiRouter.post("/genericUpdate.php", genericUpdateController);
 | 
					apiRouter.post("/genericUpdate.php", genericUpdateController);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user