chore: validate railjack repair start (#1698)
Reviewed-on: OpenWF/SpaceNinjaServer#1698 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
							
								
									f4f1e11b31
								
							
						
					
					
						commit
						f94ecbfbfc
					
				@ -97,6 +97,19 @@ export const guildTechController: RequestHandler = async (req, res) => {
 | 
			
		||||
            res.end();
 | 
			
		||||
        } else {
 | 
			
		||||
            const recipe = ExportDojoRecipes.research[data.RecipeType];
 | 
			
		||||
            if (data.TechProductCategory) {
 | 
			
		||||
                if (
 | 
			
		||||
                    data.TechProductCategory != "CrewShipWeapons" &&
 | 
			
		||||
                    data.TechProductCategory != "CrewShipWeaponSkins"
 | 
			
		||||
                ) {
 | 
			
		||||
                    throw new Error(`unexpected TechProductCategory: ${data.TechProductCategory}`);
 | 
			
		||||
                }
 | 
			
		||||
                if (!inventory[getSalvageCategory(data.TechProductCategory)].id(data.CategoryItemId)) {
 | 
			
		||||
                    throw new Error(
 | 
			
		||||
                        `no item with id ${data.CategoryItemId} in ${getSalvageCategory(data.TechProductCategory)} array`
 | 
			
		||||
                    );
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            const techProject =
 | 
			
		||||
                inventory.PersonalTechProjects[
 | 
			
		||||
                    inventory.PersonalTechProjects.push({
 | 
			
		||||
@ -380,6 +393,12 @@ interface IGuildTechContributeRequest {
 | 
			
		||||
    VaultMiscItems: IMiscItem[];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const getSalvageCategory = (
 | 
			
		||||
    category: "CrewShipWeapons" | "CrewShipWeaponSkins"
 | 
			
		||||
): "CrewShipSalvagedWeapons" | "CrewShipSalvagedWeaponSkins" => {
 | 
			
		||||
    return category == "CrewShipWeapons" ? "CrewShipSalvagedWeapons" : "CrewShipSalvagedWeaponSkins";
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const claimSalvagedComponent = (inventory: TInventoryDatabaseDocument, itemId: string): IInventoryChanges => {
 | 
			
		||||
    // delete personal tech project
 | 
			
		||||
    const personalTechProjectIndex = inventory.PersonalTechProjects.findIndex(x => x.CategoryItemId?.equals(itemId));
 | 
			
		||||
@ -387,7 +406,7 @@ const claimSalvagedComponent = (inventory: TInventoryDatabaseDocument, itemId: s
 | 
			
		||||
    inventory.PersonalTechProjects.splice(personalTechProjectIndex, 1);
 | 
			
		||||
 | 
			
		||||
    const category = personalTechProject.ProductCategory! as "CrewShipWeapons" | "CrewShipWeaponSkins";
 | 
			
		||||
    const salvageCategory = category == "CrewShipWeapons" ? "CrewShipSalvagedWeapons" : "CrewShipSalvagedWeaponSkins";
 | 
			
		||||
    const salvageCategory = getSalvageCategory(category);
 | 
			
		||||
 | 
			
		||||
    // find salved part & delete it
 | 
			
		||||
    const salvageIndex = inventory[salvageCategory].findIndex(x => x._id.equals(itemId));
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user