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 { removeFromGuildController } from "@/src/controllers/api/removeFromGuildController";
 | 
			
		||||
import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController";
 | 
			
		||||
import { retrievePetFromStasisController } from "@/src/controllers/api/retrievePetFromStasisController";
 | 
			
		||||
import { saveDialogueController } from "@/src/controllers/api/saveDialogueController";
 | 
			
		||||
import { saveLoadoutController } from "@/src/controllers/api/saveLoadout";
 | 
			
		||||
import { saveSettingsController } from "@/src/controllers/api/saveSettingsController";
 | 
			
		||||
@ -230,6 +231,7 @@ apiRouter.post("/purchase.php", purchaseController);
 | 
			
		||||
apiRouter.post("/redeemPromoCode.php", redeemPromoCodeController);
 | 
			
		||||
apiRouter.post("/removeFromGuild.php", removeFromGuildController);
 | 
			
		||||
apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
 | 
			
		||||
apiRouter.post("/retrievePetFromStasis.php", retrievePetFromStasisController);
 | 
			
		||||
apiRouter.post("/saveDialogue.php", saveDialogueController);
 | 
			
		||||
apiRouter.post("/saveLoadout.php", saveLoadoutController);
 | 
			
		||||
apiRouter.post("/saveSettings.php", saveSettingsController);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user