diff --git a/src/models/inboxModel.ts b/src/models/inboxModel.ts index c451d18a..c7c5e563 100644 --- a/src/models/inboxModel.ts +++ b/src/models/inboxModel.ts @@ -138,4 +138,6 @@ messageSchema.set("toJSON", { } }); +messageSchema.index({ ownerId: 1 }); + export const Inbox = model("Inbox", messageSchema, "inbox"); diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 86b9c2c8..d7588a48 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -1443,6 +1443,8 @@ inventorySchema.set("toJSON", { } }); +inventorySchema.index({ accountOwnerId: 1 }, { unique: true }); + // type overwrites for subdocuments/subdocument arrays export type InventoryDocumentProps = { FlavourItems: Types.DocumentArray; diff --git a/src/models/inventoryModels/loadoutModel.ts b/src/models/inventoryModels/loadoutModel.ts index e43d33d1..dfa90bef 100644 --- a/src/models/inventoryModels/loadoutModel.ts +++ b/src/models/inventoryModels/loadoutModel.ts @@ -78,6 +78,8 @@ loadoutSchema.set("toJSON", { } }); +loadoutSchema.index({ loadoutOwnerId: 1 }, { unique: true }); + //create database typefor ILoadoutConfig type loadoutDocumentProps = { NORMAL: Types.DocumentArray; diff --git a/src/models/personalRoomsModel.ts b/src/models/personalRoomsModel.ts index e54d1b1c..5addf282 100644 --- a/src/models/personalRoomsModel.ts +++ b/src/models/personalRoomsModel.ts @@ -152,6 +152,8 @@ export const personalRoomsSchema = new Schema({ TailorShop: { type: tailorShopSchema, default: tailorShopDefault } }); +personalRoomsSchema.index({ personalRoomsOwnerId: 1 }, { unique: true }); + export const PersonalRooms = model( "PersonalRooms", personalRoomsSchema diff --git a/src/models/statsModel.ts b/src/models/statsModel.ts index c4ec87c3..93cf9c1f 100644 --- a/src/models/statsModel.ts +++ b/src/models/statsModel.ts @@ -103,6 +103,8 @@ statsSchema.set("toJSON", { } }); +statsSchema.index({ accountOwnerId: 1 }, { unique: true }); + export const Stats = model("Stats", statsSchema); // eslint-disable-next-line @typescript-eslint/ban-types