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