import operator/drifter loadouts
This commit is contained in:
		
							parent
							
								
									2c77336e0c
								
							
						
					
					
						commit
						6d9c934619
					
				@ -62,7 +62,6 @@ import {
 | 
				
			|||||||
    IOperatorConfigDatabase,
 | 
					    IOperatorConfigDatabase,
 | 
				
			||||||
    IPolarity,
 | 
					    IPolarity,
 | 
				
			||||||
    IEquipmentDatabase,
 | 
					    IEquipmentDatabase,
 | 
				
			||||||
    IOperatorConfigClient,
 | 
					 | 
				
			||||||
    IArchonCrystalUpgrade
 | 
					    IArchonCrystalUpgrade
 | 
				
			||||||
} from "@/src/types/inventoryTypes/commonInventoryTypes";
 | 
					} from "@/src/types/inventoryTypes/commonInventoryTypes";
 | 
				
			||||||
import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
 | 
					import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
 | 
				
			||||||
@ -1167,9 +1166,9 @@ type InventoryDocumentProps = {
 | 
				
			|||||||
    Upgrades: Types.DocumentArray<IUpgradeDatabase>;
 | 
					    Upgrades: Types.DocumentArray<IUpgradeDatabase>;
 | 
				
			||||||
    MiscItems: Types.DocumentArray<IMiscItem>;
 | 
					    MiscItems: Types.DocumentArray<IMiscItem>;
 | 
				
			||||||
    Boosters: Types.DocumentArray<IBooster>;
 | 
					    Boosters: Types.DocumentArray<IBooster>;
 | 
				
			||||||
    OperatorLoadOuts: Types.DocumentArray<IOperatorConfigClient>;
 | 
					    OperatorLoadOuts: Types.DocumentArray<IOperatorConfigDatabase>;
 | 
				
			||||||
    SpecialItems: Types.DocumentArray<IEquipmentDatabase>;
 | 
					    SpecialItems: Types.DocumentArray<IEquipmentDatabase>;
 | 
				
			||||||
    AdultOperatorLoadOuts: Types.DocumentArray<IOperatorConfigClient>; //TODO: this should still contain _id
 | 
					    AdultOperatorLoadOuts: Types.DocumentArray<IOperatorConfigDatabase>;
 | 
				
			||||||
    MechSuits: Types.DocumentArray<IEquipmentDatabase>;
 | 
					    MechSuits: Types.DocumentArray<IEquipmentDatabase>;
 | 
				
			||||||
    Scoops: Types.DocumentArray<IEquipmentDatabase>;
 | 
					    Scoops: Types.DocumentArray<IEquipmentDatabase>;
 | 
				
			||||||
    DataKnives: Types.DocumentArray<IEquipmentDatabase>;
 | 
					    DataKnives: Types.DocumentArray<IEquipmentDatabase>;
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,10 @@
 | 
				
			|||||||
import { Types } from "mongoose";
 | 
					import { Types } from "mongoose";
 | 
				
			||||||
import { IEquipmentClient, IEquipmentDatabase } from "../types/inventoryTypes/commonInventoryTypes";
 | 
					import {
 | 
				
			||||||
 | 
					    IEquipmentClient,
 | 
				
			||||||
 | 
					    IEquipmentDatabase,
 | 
				
			||||||
 | 
					    IOperatorConfigClient,
 | 
				
			||||||
 | 
					    IOperatorConfigDatabase
 | 
				
			||||||
 | 
					} from "../types/inventoryTypes/commonInventoryTypes";
 | 
				
			||||||
import { IMongoDate } from "../types/commonTypes";
 | 
					import { IMongoDate } from "../types/commonTypes";
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
    equipmentKeys,
 | 
					    equipmentKeys,
 | 
				
			||||||
@ -49,6 +54,14 @@ const convertUpgrade = (client: IUpgradeClient): IUpgradeDatabase => {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const convertOperatorConfig = (client: IOperatorConfigClient): IOperatorConfigDatabase => {
 | 
				
			||||||
 | 
					    const { ItemId, ...rest } = client;
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					        ...rest,
 | 
				
			||||||
 | 
					        _id: new Types.ObjectId(client.ItemId.$oid)
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const replaceArray = <T>(arr: T[], replacement: T[]): void => {
 | 
					const replaceArray = <T>(arr: T[], replacement: T[]): void => {
 | 
				
			||||||
    arr.splice(0, arr.length);
 | 
					    arr.splice(0, arr.length);
 | 
				
			||||||
    replacement.forEach(x => {
 | 
					    replacement.forEach(x => {
 | 
				
			||||||
@ -73,6 +86,11 @@ export const importInventory = (db: TInventoryDatabaseDocument, client: Partial<
 | 
				
			|||||||
    if (client.Upgrades) {
 | 
					    if (client.Upgrades) {
 | 
				
			||||||
        replaceArray<IUpgradeDatabase>(db.Upgrades, client.Upgrades.map(convertUpgrade));
 | 
					        replaceArray<IUpgradeDatabase>(db.Upgrades, client.Upgrades.map(convertUpgrade));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    for (const key of ["OperatorLoadOuts", "AdultOperatorLoadOuts"] as const) {
 | 
				
			||||||
 | 
					        if (client[key]) {
 | 
				
			||||||
 | 
					            replaceArray<IOperatorConfigDatabase>(db[key], client[key].map(convertOperatorConfig));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    for (const key of [
 | 
					    for (const key of [
 | 
				
			||||||
        "SuitBin",
 | 
					        "SuitBin",
 | 
				
			||||||
        "WeaponBin",
 | 
					        "WeaponBin",
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,8 @@ import {
 | 
				
			|||||||
    IOperatorConfigClient,
 | 
					    IOperatorConfigClient,
 | 
				
			||||||
    IEquipmentSelection,
 | 
					    IEquipmentSelection,
 | 
				
			||||||
    IEquipmentDatabase,
 | 
					    IEquipmentDatabase,
 | 
				
			||||||
    IEquipmentClient
 | 
					    IEquipmentClient,
 | 
				
			||||||
 | 
					    IOperatorConfigDatabase
 | 
				
			||||||
} from "@/src/types/inventoryTypes/commonInventoryTypes";
 | 
					} from "@/src/types/inventoryTypes/commonInventoryTypes";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface IInventoryDatabase
 | 
					export interface IInventoryDatabase
 | 
				
			||||||
@ -27,6 +28,8 @@ export interface IInventoryDatabase
 | 
				
			|||||||
        | "Upgrades"
 | 
					        | "Upgrades"
 | 
				
			||||||
        | "CrewShipSalvagedWeaponSkins"
 | 
					        | "CrewShipSalvagedWeaponSkins"
 | 
				
			||||||
        | "CrewShipWeaponSkins"
 | 
					        | "CrewShipWeaponSkins"
 | 
				
			||||||
 | 
					        | "OperatorLoadOuts"
 | 
				
			||||||
 | 
					        | "AdultOperatorLoadOuts"
 | 
				
			||||||
        | TEquipmentKey
 | 
					        | TEquipmentKey
 | 
				
			||||||
    > {
 | 
					    > {
 | 
				
			||||||
    accountOwnerId: Types.ObjectId;
 | 
					    accountOwnerId: Types.ObjectId;
 | 
				
			||||||
@ -43,6 +46,8 @@ export interface IInventoryDatabase
 | 
				
			|||||||
    Upgrades: IUpgradeDatabase[];
 | 
					    Upgrades: IUpgradeDatabase[];
 | 
				
			||||||
    CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
 | 
					    CrewShipSalvagedWeaponSkins: IUpgradeDatabase[];
 | 
				
			||||||
    CrewShipWeaponSkins: IUpgradeDatabase[];
 | 
					    CrewShipWeaponSkins: IUpgradeDatabase[];
 | 
				
			||||||
 | 
					    OperatorLoadOuts: IOperatorConfigDatabase[];
 | 
				
			||||||
 | 
					    AdultOperatorLoadOuts: IOperatorConfigDatabase[];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Suits: IEquipmentDatabase[];
 | 
					    Suits: IEquipmentDatabase[];
 | 
				
			||||||
    LongGuns: IEquipmentDatabase[];
 | 
					    LongGuns: IEquipmentDatabase[];
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user