diff --git a/src/models/inventoryModels/loadoutModel.ts b/src/models/inventoryModels/loadoutModel.ts index 87871138..2ff08774 100644 --- a/src/models/inventoryModels/loadoutModel.ts +++ b/src/models/inventoryModels/loadoutModel.ts @@ -19,7 +19,8 @@ const EquipmentSelectionSchema = new Schema( default: { $oid: "000000000000000000000000" } }, mod: Number, - cus: Number + cus: Number, + hide: Boolean }, { _id: false diff --git a/src/services/saveLoadoutService.ts b/src/services/saveLoadoutService.ts index 0b71f22f..826a8548 100644 --- a/src/services/saveLoadoutService.ts +++ b/src/services/saveLoadoutService.ts @@ -77,6 +77,11 @@ export const handleInventoryItemConfigChange = async ( // all non-empty entries are one loadout slot for (const [loadoutId, loadoutConfig] of Object.entries(newLoadout)) { + if (loadoutConfig.Remove) { + loadout[loadoutSlot].pull({ _id: loadoutId }); + continue; + } + const oldLoadoutConfig = loadout[loadoutSlot].find( loadout => loadout._id.toString() === loadoutId ); @@ -106,8 +111,7 @@ export const handleInventoryItemConfigChange = async ( throw new Error("loadout index not found"); } - //perhaps .overwrite() is better - loadout[loadoutSlot][loadoutIndex].set(loadoutConfig); + loadout[loadoutSlot][loadoutIndex].overwrite(loadoutConfig); } } await loadout.save(); diff --git a/src/types/saveLoadoutTypes.ts b/src/types/saveLoadoutTypes.ts index 61020029..09577594 100644 --- a/src/types/saveLoadoutTypes.ts +++ b/src/types/saveLoadoutTypes.ts @@ -76,17 +76,19 @@ export interface ILoadoutConfigDatabase extends Omit