feat: consign pet #1415
							
								
								
									
										23
									
								
								src/controllers/api/releasePetController.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								src/controllers/api/releasePetController.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
			
		||||
import { getJSONfromString } from "@/src/helpers/stringHelpers";
 | 
			
		||||
import { getInventory, updateCurrency } from "@/src/services/inventoryService";
 | 
			
		||||
import { getAccountIdForRequest } from "@/src/services/loginService";
 | 
			
		||||
import { RequestHandler } from "express";
 | 
			
		||||
 | 
			
		||||
export const releasePetController: RequestHandler = async (req, res) => {
 | 
			
		||||
    const accountId = await getAccountIdForRequest(req);
 | 
			
		||||
    const inventory = await getInventory(accountId, "RegularCredits KubrowPets");
 | 
			
		||||
    const payload = getJSONfromString<IReleasePetRequest>(String(req.body));
 | 
			
		||||
 | 
			
		||||
    const inventoryChanges = updateCurrency(inventory, 25000, false);
 | 
			
		||||
 | 
			
		||||
    inventoryChanges.RemovedIdItems = [{ ItemId: { $oid: payload.petId } }];
 | 
			
		||||
    inventory.KubrowPets.pull({ _id: payload.petId });
 | 
			
		||||
 | 
			
		||||
    await inventory.save();
 | 
			
		||||
    res.json({ inventoryChanges }); // Not a mistake; it's "inventoryChanges" here.
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
interface IReleasePetRequest {
 | 
			
		||||
    recipeName: "/Lotus/Types/Game/KubrowPet/ReleasePetRecipe";
 | 
			
		||||
    petId: string;
 | 
			
		||||
}
 | 
			
		||||
@ -86,6 +86,7 @@ import { projectionManagerController } from "@/src/controllers/api/projectionMan
 | 
			
		||||
import { purchaseController } from "@/src/controllers/api/purchaseController";
 | 
			
		||||
import { queueDojoComponentDestructionController } from "@/src/controllers/api/queueDojoComponentDestructionController";
 | 
			
		||||
import { redeemPromoCodeController } from "@/src/controllers/api/redeemPromoCodeController";
 | 
			
		||||
import { releasePetController } from "@/src/controllers/api/releasePetController";
 | 
			
		||||
import { removeFromGuildController } from "@/src/controllers/api/removeFromGuildController";
 | 
			
		||||
import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController";
 | 
			
		||||
import { retrievePetFromStasisController } from "@/src/controllers/api/retrievePetFromStasisController";
 | 
			
		||||
@ -235,6 +236,7 @@ apiRouter.post("/postGuildAdvertisement.php", postGuildAdvertisementController);
 | 
			
		||||
apiRouter.post("/projectionManager.php", projectionManagerController);
 | 
			
		||||
apiRouter.post("/purchase.php", purchaseController);
 | 
			
		||||
apiRouter.post("/redeemPromoCode.php", redeemPromoCodeController);
 | 
			
		||||
apiRouter.post("/releasePet.php", releasePetController);
 | 
			
		||||
apiRouter.post("/removeFromGuild.php", removeFromGuildController);
 | 
			
		||||
apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
 | 
			
		||||
apiRouter.post("/retrievePetFromStasis.php", retrievePetFromStasisController);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user