forked from OpenWF/SpaceNinjaServer
		
	feat: retrievePetFromStasis (#1354)
Closes #621 Reviewed-on: OpenWF/SpaceNinjaServer#1354 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
							
								
									ae5a540975
								
							
						
					
					
						commit
						aa7d5067bc
					
				
							
								
								
									
										33
									
								
								src/controllers/api/retrievePetFromStasisController.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								src/controllers/api/retrievePetFromStasisController.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					import { getJSONfromString } from "@/src/helpers/stringHelpers";
 | 
				
			||||||
 | 
					import { getInventory } from "@/src/services/inventoryService";
 | 
				
			||||||
 | 
					import { getAccountIdForRequest } from "@/src/services/loginService";
 | 
				
			||||||
 | 
					import { Status } from "@/src/types/inventoryTypes/inventoryTypes";
 | 
				
			||||||
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const retrievePetFromStasisController: RequestHandler = async (req, res) => {
 | 
				
			||||||
 | 
					    const accountId = await getAccountIdForRequest(req);
 | 
				
			||||||
 | 
					    const inventory = await getInventory(accountId, "KubrowPets");
 | 
				
			||||||
 | 
					    const data = getJSONfromString<IRetrievePetFromStasisRequest>(String(req.body));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let oldPetId: string | undefined;
 | 
				
			||||||
 | 
					    for (const pet of inventory.KubrowPets) {
 | 
				
			||||||
 | 
					        if (pet.Details!.Status == Status.StatusAvailable) {
 | 
				
			||||||
 | 
					            pet.Details!.Status = Status.StatusStasis;
 | 
				
			||||||
 | 
					            oldPetId = pet._id.toString();
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    inventory.KubrowPets.id(data.petId)!.Details!.Status = Status.StatusAvailable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    await inventory.save();
 | 
				
			||||||
 | 
					    res.json({
 | 
				
			||||||
 | 
					        petId: data.petId,
 | 
				
			||||||
 | 
					        oldPetId,
 | 
				
			||||||
 | 
					        status: Status.StatusAvailable
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IRetrievePetFromStasisRequest {
 | 
				
			||||||
 | 
					    petId: string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -85,6 +85,7 @@ import { queueDojoComponentDestructionController } from "@/src/controllers/api/q
 | 
				
			|||||||
import { redeemPromoCodeController } from "@/src/controllers/api/redeemPromoCodeController";
 | 
					import { redeemPromoCodeController } from "@/src/controllers/api/redeemPromoCodeController";
 | 
				
			||||||
import { removeFromGuildController } from "@/src/controllers/api/removeFromGuildController";
 | 
					import { removeFromGuildController } from "@/src/controllers/api/removeFromGuildController";
 | 
				
			||||||
import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController";
 | 
					import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController";
 | 
				
			||||||
 | 
					import { retrievePetFromStasisController } from "@/src/controllers/api/retrievePetFromStasisController";
 | 
				
			||||||
import { saveDialogueController } from "@/src/controllers/api/saveDialogueController";
 | 
					import { saveDialogueController } from "@/src/controllers/api/saveDialogueController";
 | 
				
			||||||
import { saveLoadoutController } from "@/src/controllers/api/saveLoadout";
 | 
					import { saveLoadoutController } from "@/src/controllers/api/saveLoadout";
 | 
				
			||||||
import { saveSettingsController } from "@/src/controllers/api/saveSettingsController";
 | 
					import { saveSettingsController } from "@/src/controllers/api/saveSettingsController";
 | 
				
			||||||
@ -230,6 +231,7 @@ apiRouter.post("/purchase.php", purchaseController);
 | 
				
			|||||||
apiRouter.post("/redeemPromoCode.php", redeemPromoCodeController);
 | 
					apiRouter.post("/redeemPromoCode.php", redeemPromoCodeController);
 | 
				
			||||||
apiRouter.post("/removeFromGuild.php", removeFromGuildController);
 | 
					apiRouter.post("/removeFromGuild.php", removeFromGuildController);
 | 
				
			||||||
apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
 | 
					apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
 | 
				
			||||||
 | 
					apiRouter.post("/retrievePetFromStasis.php", retrievePetFromStasisController);
 | 
				
			||||||
apiRouter.post("/saveDialogue.php", saveDialogueController);
 | 
					apiRouter.post("/saveDialogue.php", saveDialogueController);
 | 
				
			||||||
apiRouter.post("/saveLoadout.php", saveLoadoutController);
 | 
					apiRouter.post("/saveLoadout.php", saveLoadoutController);
 | 
				
			||||||
apiRouter.post("/saveSettings.php", saveSettingsController);
 | 
					apiRouter.post("/saveSettings.php", saveSettingsController);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user