codebase-models 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/src/models/Announcement.d.ts +1 -3
  2. package/dist/src/models/Announcement.js +1 -1
  3. package/dist/src/models/AppEvent.d.ts +1 -3
  4. package/dist/src/models/AppEvent.js +1 -1
  5. package/dist/src/models/Audience.d.ts +1 -3
  6. package/dist/src/models/Audience.js +1 -1
  7. package/dist/src/models/BqPreCompiledData.d.ts +1 -3
  8. package/dist/src/models/BqPreCompiledData.js +1 -1
  9. package/dist/src/models/CVRReport.d.ts +1 -3
  10. package/dist/src/models/CVRReport.js +1 -1
  11. package/dist/src/models/Client.d.ts +1 -3
  12. package/dist/src/models/Client.js +1 -1
  13. package/dist/src/models/ClientAdditionalRevenue.d.ts +1 -3
  14. package/dist/src/models/ClientAdditionalRevenue.js +1 -1
  15. package/dist/src/models/ClientLearning.d.ts +1 -3
  16. package/dist/src/models/ClientLearning.js +1 -1
  17. package/dist/src/models/ClientLinks.d.ts +1 -3
  18. package/dist/src/models/ClientLinks.js +1 -1
  19. package/dist/src/models/ClientNextSteps.d.ts +1 -3
  20. package/dist/src/models/ClientNextSteps.js +1 -1
  21. package/dist/src/models/ClientNote.d.ts +1 -3
  22. package/dist/src/models/ClientNote.js +1 -1
  23. package/dist/src/models/ClientReportsTemp.d.ts +1 -3
  24. package/dist/src/models/ClientReportsTemp.js +1 -1
  25. package/dist/src/models/ClientRetention.d.ts +1 -3
  26. package/dist/src/models/ClientRetention.js +1 -1
  27. package/dist/src/models/ClientScript.d.ts +1 -3
  28. package/dist/src/models/ClientScript.js +1 -1
  29. package/dist/src/models/ClientStrategy.d.ts +1 -3
  30. package/dist/src/models/ClientStrategy.js +1 -1
  31. package/dist/src/models/ClientSurvay.d.ts +1 -7
  32. package/dist/src/models/ClientSurvay.js +1 -1
  33. package/dist/src/models/Environment.d.ts +1 -3
  34. package/dist/src/models/Environment.js +1 -1
  35. package/dist/src/models/Faqs.d.ts +1 -3
  36. package/dist/src/models/Faqs.js +1 -1
  37. package/dist/src/models/Feedback.d.ts +1 -3
  38. package/dist/src/models/Feedback.js +1 -1
  39. package/dist/src/models/Goal.d.ts +1 -3
  40. package/dist/src/models/Goal.js +1 -1
  41. package/dist/src/models/Hypothesis.d.ts +1 -3
  42. package/dist/src/models/Hypothesis.js +1 -1
  43. package/dist/src/models/HypothesisSheet.d.ts +1 -3
  44. package/dist/src/models/HypothesisSheet.js +1 -1
  45. package/dist/src/models/LandingPages.d.ts +1 -3
  46. package/dist/src/models/LandingPages.js +1 -1
  47. package/dist/src/models/NewIdeas.d.ts +1 -3
  48. package/dist/src/models/NewIdeas.js +1 -1
  49. package/dist/src/models/Notification.d.ts +1 -3
  50. package/dist/src/models/Notification.js +1 -1
  51. package/dist/src/models/Organization.d.ts +1 -3
  52. package/dist/src/models/Organization.js +1 -1
  53. package/dist/src/models/Page.d.ts +1 -3
  54. package/dist/src/models/Page.js +1 -1
  55. package/dist/src/models/PageElement.d.ts +1 -3
  56. package/dist/src/models/PageElement.js +1 -1
  57. package/dist/src/models/PageTestType.d.ts +1 -3
  58. package/dist/src/models/PageTestType.js +1 -1
  59. package/dist/src/models/Portfolio.d.ts +1 -3
  60. package/dist/src/models/Portfolio.js +1 -1
  61. package/dist/src/models/PrecalculationFilters.d.ts +1 -3
  62. package/dist/src/models/PrecalculationFilters.js +2 -1
  63. package/dist/src/models/QueryLog.d.ts +1 -3
  64. package/dist/src/models/QueryLog.js +1 -1
  65. package/dist/src/models/ReadNotification.d.ts +1 -3
  66. package/dist/src/models/ReadNotification.js +1 -1
  67. package/dist/src/models/Report.d.ts +1 -3
  68. package/dist/src/models/Report.js +1 -1
  69. package/dist/src/models/Role.d.ts +1 -3
  70. package/dist/src/models/Role.js +1 -1
  71. package/dist/src/models/SavedSegment.d.ts +1 -3
  72. package/dist/src/models/SavedSegment.js +1 -1
  73. package/dist/src/models/Segment.d.ts +1 -3
  74. package/dist/src/models/Segment.js +1 -1
  75. package/dist/src/models/SegmentCombination.d.ts +1 -3
  76. package/dist/src/models/SegmentCombination.js +1 -1
  77. package/dist/src/models/Snippet.d.ts +1 -3
  78. package/dist/src/models/Snippet.js +1 -1
  79. package/dist/src/models/StageInCustomerJourney.d.ts +1 -3
  80. package/dist/src/models/StageInCustomerJourney.js +1 -1
  81. package/dist/src/models/Tag.d.ts +1 -3
  82. package/dist/src/models/Tag.js +1 -1
  83. package/dist/src/models/Temp.d.ts +1 -3
  84. package/dist/src/models/Temp.js +1 -1
  85. package/dist/src/models/Test.d.ts +1 -3
  86. package/dist/src/models/Test.js +1 -1
  87. package/dist/src/models/TestSequentialValue.d.ts +1 -3
  88. package/dist/src/models/TestSequentialValue.js +1 -1
  89. package/dist/src/models/Tier.d.ts +1 -3
  90. package/dist/src/models/Tier.js +1 -1
  91. package/dist/src/models/Trigger.d.ts +1 -3
  92. package/dist/src/models/Trigger.js +1 -1
  93. package/dist/src/models/User.d.ts +1 -3
  94. package/dist/src/models/User.js +1 -1
  95. package/package.json +1 -1
  96. package/src/models/Announcement.ts +1 -1
  97. package/src/models/AppEvent.ts +1 -1
  98. package/src/models/Audience.ts +1 -1
  99. package/src/models/BqPreCompiledData.ts +1 -1
  100. package/src/models/CVRReport.ts +1 -1
  101. package/src/models/Client.ts +1 -1
  102. package/src/models/ClientAdditionalRevenue.ts +1 -1
  103. package/src/models/ClientLearning.ts +1 -1
  104. package/src/models/ClientLinks.ts +1 -1
  105. package/src/models/ClientNextSteps.ts +1 -1
  106. package/src/models/ClientNote.ts +1 -1
  107. package/src/models/ClientReportsTemp.ts +1 -1
  108. package/src/models/ClientRetention.ts +1 -1
  109. package/src/models/ClientScript.ts +1 -1
  110. package/src/models/ClientStrategy.ts +1 -1
  111. package/src/models/ClientSurvay.ts +1 -1
  112. package/src/models/Environment.ts +1 -1
  113. package/src/models/Faqs.ts +1 -1
  114. package/src/models/Feedback.ts +1 -1
  115. package/src/models/Goal.ts +1 -1
  116. package/src/models/Hypothesis.ts +1 -1
  117. package/src/models/HypothesisSheet.ts +1 -1
  118. package/src/models/LandingPages.ts +1 -1
  119. package/src/models/NewIdeas.ts +1 -1
  120. package/src/models/Notification.ts +1 -1
  121. package/src/models/Organization.ts +1 -1
  122. package/src/models/Page.ts +1 -1
  123. package/src/models/PageElement.ts +1 -1
  124. package/src/models/PageTestType.ts +1 -1
  125. package/src/models/Portfolio.ts +1 -1
  126. package/src/models/PrecalculationFilters.ts +2 -1
  127. package/src/models/QueryLog.ts +1 -1
  128. package/src/models/ReadNotification.ts +1 -1
  129. package/src/models/Report.ts +1 -1
  130. package/src/models/Role.ts +1 -1
  131. package/src/models/SavedSegment.ts +1 -1
  132. package/src/models/Segment.ts +1 -1
  133. package/src/models/SegmentCombination.ts +1 -1
  134. package/src/models/Snippet.ts +1 -1
  135. package/src/models/StageInCustomerJourney.ts +1 -1
  136. package/src/models/Tag.ts +1 -1
  137. package/src/models/Temp.ts +1 -1
  138. package/src/models/Test.ts +1 -1
  139. package/src/models/TestSequentialValue.ts +1 -1
  140. package/src/models/Tier.ts +1 -1
  141. package/src/models/Trigger.ts +1 -1
  142. package/src/models/User.ts +1 -1
@@ -45,5 +45,5 @@ const ReadNotificationSchema = new mongoose_1.Schema({
45
45
  }, {
46
46
  timestamps: true,
47
47
  });
48
- const ReadNotification = (0, mongoose_1.model)("readnotification", ReadNotificationSchema);
48
+ const ReadNotification = mongoose_1.default.models.readnotification || (0, mongoose_1.model)("readnotification", ReadNotificationSchema);
49
49
  exports.default = ReadNotification;
@@ -43,7 +43,5 @@ export interface IReports extends Document {
43
43
  updatedAt?: Date;
44
44
  organizationId?: mongoose.Schema.Types.ObjectId;
45
45
  }
46
- declare const Report: mongoose.Model<IReports, {}, {}, {}, mongoose.Document<unknown, {}, IReports> & IReports & {
47
- _id: mongoose.Types.ObjectId;
48
- }, any>;
46
+ declare const Report: mongoose.Model<any, {}, {}, {}, any, any>;
49
47
  export default Report;
@@ -73,5 +73,5 @@ ReportsSchema.index({ client: 1, "reportDetails.conclusionFactorStatusAll": 1 })
73
73
  ReportsSchema.index({ client: 1, gaTestId: 1 }); // For GA test ID lookups
74
74
  ReportsSchema.index({ createdBy: 1, to: -1 }); // For user's reports
75
75
  ReportsSchema.index({ client: 1, excludedFromCalculations: 1 }); // For calculation exclusions
76
- const Report = (0, mongoose_1.model)("report", ReportsSchema);
76
+ const Report = mongoose_1.default.models.report || (0, mongoose_1.model)("report", ReportsSchema);
77
77
  exports.default = Report;
@@ -31,7 +31,5 @@ export interface IRole extends Document {
31
31
  createdAt?: Date;
32
32
  updatedAt?: Date;
33
33
  }
34
- declare const Role: mongoose.Model<IRole, {}, {}, {}, mongoose.Document<unknown, {}, IRole> & IRole & {
35
- _id: mongoose.Types.ObjectId;
36
- }, any>;
34
+ declare const Role: mongoose.Model<any, {}, {}, {}, any, any>;
37
35
  export default Role;
@@ -60,5 +60,5 @@ RoleSchema.index({
60
60
  name: 'text',
61
61
  description: 'text'
62
62
  });
63
- const Role = (0, mongoose_1.model)("role", RoleSchema);
63
+ const Role = mongoose_1.default.models.role || (0, mongoose_1.model)("role", RoleSchema);
64
64
  exports.default = Role;
@@ -29,7 +29,5 @@ export interface ISavedSegment extends Document {
29
29
  segmentFilters?: mongoose.Schema.Types.Mixed;
30
30
  organizationId?: mongoose.Schema.Types.ObjectId;
31
31
  }
32
- declare const SavedSegment: mongoose.Model<ISavedSegment, {}, {}, {}, mongoose.Document<unknown, {}, ISavedSegment> & ISavedSegment & {
33
- _id: mongoose.Types.ObjectId;
34
- }, any>;
32
+ declare const SavedSegment: mongoose.Model<any, {}, {}, {}, any, any>;
35
33
  export default SavedSegment;
@@ -45,5 +45,5 @@ const SavedSegmentSchema = new mongoose_1.Schema({
45
45
  }, {
46
46
  timestamps: true,
47
47
  });
48
- const SavedSegment = (0, mongoose_1.model)("savedsegment", SavedSegmentSchema);
48
+ const SavedSegment = mongoose_1.default.models.savedsegment || (0, mongoose_1.model)("savedsegment", SavedSegmentSchema);
49
49
  exports.default = SavedSegment;
@@ -32,7 +32,5 @@ export interface ISegment extends Document {
32
32
  published?: boolean;
33
33
  organizationId?: mongoose.Schema.Types.ObjectId;
34
34
  }
35
- declare const Segment: mongoose.Model<ISegment, {}, {}, {}, mongoose.Document<unknown, {}, ISegment> & ISegment & {
36
- _id: mongoose.Types.ObjectId;
37
- }, any>;
35
+ declare const Segment: mongoose.Model<any, {}, {}, {}, any, any>;
38
36
  export default Segment;
@@ -55,5 +55,5 @@ const SegmentSchema = new mongoose_1.Schema({
55
55
  }, {
56
56
  timestamps: true,
57
57
  });
58
- const Segment = (0, mongoose_1.model)("segment", SegmentSchema);
58
+ const Segment = mongoose_1.default.models.segment || (0, mongoose_1.model)("segment", SegmentSchema);
59
59
  exports.default = Segment;
@@ -36,7 +36,5 @@ export interface ISegmentCombination extends Document {
36
36
  updatedAt?: Date;
37
37
  organizationId?: mongoose.Schema.Types.ObjectId;
38
38
  }
39
- declare const SegmentCombination: mongoose.Model<ISegmentCombination, {}, {}, {}, mongoose.Document<unknown, {}, ISegmentCombination> & ISegmentCombination & {
40
- _id: mongoose.Types.ObjectId;
41
- }, any>;
39
+ declare const SegmentCombination: mongoose.Model<any, {}, {}, {}, any, any>;
42
40
  export default SegmentCombination;
@@ -69,5 +69,5 @@ const SegmentSchema = new mongoose_1.Schema({
69
69
  default: new Date(),
70
70
  },
71
71
  });
72
- const SegmentCombination = (0, mongoose_1.model)("segmentcombination", SegmentSchema);
72
+ const SegmentCombination = mongoose_1.default.models.segmentcombination || (0, mongoose_1.model)("segmentcombination", SegmentSchema);
73
73
  exports.default = SegmentCombination;
@@ -38,7 +38,5 @@ export interface ISnippet extends Document {
38
38
  isActive?: boolean;
39
39
  organizationId?: mongoose.Schema.Types.ObjectId;
40
40
  }
41
- declare const Snippet: mongoose.Model<ISnippet, {}, {}, {}, mongoose.Document<unknown, {}, ISnippet> & ISnippet & {
42
- _id: mongoose.Types.ObjectId;
43
- }, any>;
41
+ declare const Snippet: mongoose.Model<any, {}, {}, {}, any, any>;
44
42
  export default Snippet;
@@ -103,5 +103,5 @@ SnippetSchema.index({ client: 1, name: 1 }, { unique: true });
103
103
  SnippetSchema.index({ organisationId: 1, client: 1 });
104
104
  SnippetSchema.index({ client: 1, tags: 1 });
105
105
  SnippetSchema.index({ client: 1, pageelement: 1 });
106
- const Snippet = (0, mongoose_1.model)("snippet", SnippetSchema);
106
+ const Snippet = mongoose_1.default.models.snippet || (0, mongoose_1.model)("snippet", SnippetSchema);
107
107
  exports.default = Snippet;
@@ -31,7 +31,5 @@ export interface IStageInCustomerJourney extends Document {
31
31
  client?: mongoose.Schema.Types.ObjectId;
32
32
  isActive?: boolean;
33
33
  }
34
- declare const StageInCustomerJourney: mongoose.Model<IStageInCustomerJourney, {}, {}, {}, mongoose.Document<unknown, {}, IStageInCustomerJourney> & IStageInCustomerJourney & {
35
- _id: mongoose.Types.ObjectId;
36
- }, any>;
34
+ declare const StageInCustomerJourney: mongoose.Model<any, {}, {}, {}, any, any>;
37
35
  export default StageInCustomerJourney;
@@ -69,5 +69,5 @@ const StageInCustomerJourneySchema = new mongoose_1.Schema({
69
69
  });
70
70
  // Compound indexes for common query patterns
71
71
  // StageInCustomerJourneySchema.index({ client: 1, slug: 1 });
72
- const StageInCustomerJourney = (0, mongoose_1.model)("stageincustomerjourney", StageInCustomerJourneySchema);
72
+ const StageInCustomerJourney = mongoose_1.default.models.stageincustomerjourney || (0, mongoose_1.model)("stageincustomerjourney", StageInCustomerJourneySchema);
73
73
  exports.default = StageInCustomerJourney;
@@ -29,7 +29,5 @@ export interface ITag extends Document {
29
29
  updatedAt?: Date;
30
30
  organizationId?: mongoose.Schema.Types.ObjectId;
31
31
  }
32
- declare const Tag: mongoose.Model<ITag, {}, {}, {}, mongoose.Document<unknown, {}, ITag> & ITag & {
33
- _id: mongoose.Types.ObjectId;
34
- }, any>;
32
+ declare const Tag: mongoose.Model<any, {}, {}, {}, any, any>;
35
33
  export default Tag;
@@ -44,5 +44,5 @@ const TagSchema = new mongoose_1.Schema({
44
44
  default: new Date(),
45
45
  },
46
46
  });
47
- const Tag = (0, mongoose_1.model)("tag", TagSchema);
47
+ const Tag = mongoose_1.default.models.tag || (0, mongoose_1.model)("tag", TagSchema);
48
48
  exports.default = Tag;
@@ -30,7 +30,5 @@ export interface ITemp extends Document {
30
30
  createdAt?: Date;
31
31
  organizationId?: mongoose.Schema.Types.ObjectId;
32
32
  }
33
- declare const Temp: mongoose.Model<ITemp, {}, {}, {}, mongoose.Document<unknown, {}, ITemp> & ITemp & {
34
- _id: mongoose.Types.ObjectId;
35
- }, any>;
33
+ declare const Temp: mongoose.Model<any, {}, {}, {}, any, any>;
36
34
  export default Temp;
@@ -46,5 +46,5 @@ const TempSchema = new mongoose_1.Schema({
46
46
  default: new Date(),
47
47
  },
48
48
  });
49
- const Temp = (0, mongoose_1.model)("temp", TempSchema);
49
+ const Temp = mongoose_1.default.models.temp || (0, mongoose_1.model)("temp", TempSchema);
50
50
  exports.default = Temp;
@@ -87,7 +87,5 @@ export interface ITest extends Document {
87
87
  defaultControl: string;
88
88
  enddate: Date;
89
89
  }
90
- declare const Test: mongoose.Model<ITest, {}, {}, {}, mongoose.Document<unknown, {}, ITest> & ITest & {
91
- _id: mongoose.Types.ObjectId;
92
- }, any>;
90
+ declare const Test: mongoose.Model<any, {}, {}, {}, any, any>;
93
91
  export default Test;
@@ -157,5 +157,5 @@ TestSchema.index({ status: 1 }, { partialFilterExpression: { status: { $in: ['li
157
157
  TestSchema.index({ client: 1, status: 1 }, { partialFilterExpression: { status: { $in: ['live', 'running', 'draft', 'paused', 'preview', 'ended'] } } });
158
158
  // Add TTL index for automatic cleanup of ended tests after 1 year
159
159
  TestSchema.index({ enddate: 1 }, { expireAfterSeconds: 31536000 });
160
- const Test = (0, mongoose_1.model)("test", TestSchema);
160
+ const Test = mongoose_1.default.models.test || (0, mongoose_1.model)("test", TestSchema);
161
161
  exports.default = Test;
@@ -33,7 +33,5 @@ export interface ITestSequentialValue extends Document {
33
33
  updatedAt?: Date;
34
34
  organizationId?: mongoose.Schema.Types.ObjectId;
35
35
  }
36
- declare const TestSequentialValue: mongoose.Model<ITestSequentialValue, {}, {}, {}, mongoose.Document<unknown, {}, ITestSequentialValue> & ITestSequentialValue & {
37
- _id: mongoose.Types.ObjectId;
38
- }, any>;
36
+ declare const TestSequentialValue: mongoose.Model<any, {}, {}, {}, any, any>;
39
37
  export default TestSequentialValue;
@@ -55,5 +55,5 @@ const TestSequentialValueSchema = new mongoose_1.Schema({
55
55
  timestamps: true,
56
56
  });
57
57
  TestSequentialValueSchema.index({ test: 1 });
58
- const TestSequentialValue = (0, mongoose_1.model)("testsequentialvalue", TestSequentialValueSchema);
58
+ const TestSequentialValue = mongoose_1.default.models.testsequentialvalue || (0, mongoose_1.model)("testsequentialvalue", TestSequentialValueSchema);
59
59
  exports.default = TestSequentialValue;
@@ -31,7 +31,5 @@ export interface ITier extends Document {
31
31
  updatedAt?: Date;
32
32
  organizationId?: mongoose.Schema.Types.ObjectId;
33
33
  }
34
- declare const Tier: mongoose.Model<ITier, {}, {}, {}, mongoose.Document<unknown, {}, ITier> & ITier & {
35
- _id: mongoose.Types.ObjectId;
36
- }, any>;
34
+ declare const Tier: mongoose.Model<any, {}, {}, {}, any, any>;
37
35
  export default Tier;
@@ -51,5 +51,5 @@ const TierSchema = new mongoose_1.Schema({
51
51
  default: new Date(),
52
52
  },
53
53
  });
54
- const Tier = (0, mongoose_1.model)("tier", TierSchema);
54
+ const Tier = mongoose_1.default.models.tier || (0, mongoose_1.model)("tier", TierSchema);
55
55
  exports.default = Tier;
@@ -31,7 +31,5 @@ export interface ITrigger extends Document {
31
31
  updatedAt?: Date;
32
32
  organizationId?: mongoose.Schema.Types.ObjectId;
33
33
  }
34
- declare const Trigger: mongoose.Model<ITrigger, {}, {}, {}, mongoose.Document<unknown, {}, ITrigger> & ITrigger & {
35
- _id: mongoose.Types.ObjectId;
36
- }, any>;
34
+ declare const Trigger: mongoose.Model<any, {}, {}, {}, any, any>;
37
35
  export default Trigger;
@@ -48,5 +48,5 @@ const TriggerSchema = new mongoose_1.Schema({
48
48
  default: new Date(),
49
49
  },
50
50
  });
51
- const Trigger = (0, mongoose_1.model)("trigger", TriggerSchema);
51
+ const Trigger = mongoose_1.default.models.trigger || (0, mongoose_1.model)("trigger", TriggerSchema);
52
52
  exports.default = Trigger;
@@ -37,7 +37,5 @@ export interface IUser extends Document {
37
37
  resetLink: string;
38
38
  organizationId?: mongoose.Schema.Types.ObjectId;
39
39
  }
40
- declare const User: mongoose.Model<IUser, {}, {}, {}, mongoose.Document<unknown, {}, IUser> & IUser & {
41
- _id: mongoose.Types.ObjectId;
42
- }, any>;
40
+ declare const User: mongoose.Model<any, {}, {}, {}, any, any>;
43
41
  export default User;
@@ -65,5 +65,5 @@ const UserSchema = new mongoose_1.Schema({
65
65
  UserSchema.index({ organizationId: 1, role: 1 });
66
66
  UserSchema.index({ organizationId: 1, client: 1 });
67
67
  UserSchema.index({ email: 1 }, { unique: true });
68
- const User = (0, mongoose_1.model)("user", UserSchema);
68
+ const User = mongoose_1.default.models.user || (0, mongoose_1.model)("user", UserSchema);
69
69
  exports.default = User;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebase-models",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Common models for codebase",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -67,6 +67,6 @@ AnnouncementSchema.index({ title: 1 }, { collation: { locale: 'en', strength: 2
67
67
  // }
68
68
  // });
69
69
 
70
- const Announcement = model<IAnnouncement>("announcement", AnnouncementSchema);
70
+ const Announcement = mongoose.models.announcement || model<IAnnouncement>("announcement", AnnouncementSchema);
71
71
 
72
72
  export default Announcement;
@@ -76,6 +76,6 @@ const AppEventsSchema = new Schema<IAppEvent>(
76
76
  }
77
77
  );
78
78
 
79
- const AppEvent = model<IAppEvent>("appevent", AppEventsSchema);
79
+ const AppEvent = mongoose.models.appevent || model<IAppEvent>("appevent", AppEventsSchema);
80
80
 
81
81
  export default AppEvent;
@@ -31,6 +31,6 @@ const AudienceSchema = new Schema<IAudience>(
31
31
  }
32
32
  );
33
33
 
34
- const Audience = model<IAudience>("audience", AudienceSchema);
34
+ const Audience = mongoose.models.audience || model<IAudience>("audience", AudienceSchema);
35
35
 
36
36
  export default Audience;
@@ -57,6 +57,6 @@ const BqPreCompiledDataSchema = new Schema<IBqPreCompiledData>({
57
57
  });
58
58
 
59
59
  BqPreCompiledDataSchema.index({ organizationId: 1, client: 1 });
60
- const BqPreCompiledData = model<IBqPreCompiledData>("bqprecompileddata", BqPreCompiledDataSchema);
60
+ const BqPreCompiledData = mongoose.models.bqprecompileddata || model<IBqPreCompiledData>("bqprecompileddata", BqPreCompiledDataSchema);
61
61
 
62
62
  export default BqPreCompiledData;
@@ -38,5 +38,5 @@ CVRReportSchema.index({ reportLink: 1 }, { sparse: true });
38
38
  // TTL index for automatic cleanup of old reports (1 year)
39
39
  CVRReportSchema.index({ createdAt: 1 }, { expireAfterSeconds: 31536000 });
40
40
 
41
- const CVRReport = model<ICVRReport>("cvrreport", CVRReportSchema);
41
+ const CVRReport = mongoose.models.cvrreport || model<ICVRReport>("cvrreport", CVRReportSchema);
42
42
  export default CVRReport;
@@ -83,6 +83,6 @@ ClientSchema.index({ tier: 1, active: 1 }); // For tier-based queries
83
83
  ClientSchema.index({ onboardDate: 1 }); // For date-based queries
84
84
  ClientSchema.index({ portfolioClient: 1, active: 1 }); // For portfolio client queries
85
85
 
86
- const Client = model<IClient>("client", ClientSchema);
86
+ const Client = mongoose.models.client || model<IClient>("client", ClientSchema);
87
87
 
88
88
  export default Client;
@@ -61,7 +61,7 @@ ClientAdditionalRevenueSchema.index({
61
61
  client: 1,
62
62
  });
63
63
 
64
- const ClientAdditionalRevenue = model<IClientAdditionalRevenue>(
64
+ const ClientAdditionalRevenue = mongoose.models.clientadditionalrevenue || model<IClientAdditionalRevenue>(
65
65
  "clientadditionalrevenue",
66
66
  ClientAdditionalRevenueSchema
67
67
  );
@@ -44,7 +44,7 @@ ClientLearningSchema.index({ organisationId: 1 }, { sparse: true });
44
44
  // Case-insensitive index for name
45
45
  ClientLearningSchema.index({ name: 1 }, { collation: { locale: 'en', strength: 2 } });
46
46
 
47
- const ClientLearning = model<IClientLearning>(
47
+ const ClientLearning = mongoose.models.clientlearning || model<IClientLearning>(
48
48
  "clientlearning",
49
49
  ClientLearningSchema
50
50
  );
@@ -65,5 +65,5 @@ ClientLinksSchema.index({ organisationId: 1 }, { sparse: true });
65
65
  // Case-insensitive indexes
66
66
  ClientLinksSchema.index({ title: 1 }, { collation: { locale: 'en', strength: 2 } });
67
67
 
68
- const ClientLinks = model<IClientLinks>("clientlink", ClientLinksSchema);
68
+ const ClientLinks = mongoose.models.clientlink || model<IClientLinks>("clientlink", ClientLinksSchema);
69
69
  export default ClientLinks;
@@ -41,7 +41,7 @@ ClientNextStepsSchema.index({
41
41
  viewId: 1,
42
42
  });
43
43
 
44
- const ClientNextStep = model<IClientNextSteps>(
44
+ const ClientNextStep = mongoose.models.clientnextstep || model<IClientNextSteps>(
45
45
  "clientnextstep",
46
46
  ClientNextStepsSchema
47
47
  );
@@ -58,5 +58,5 @@ ClientNoteSchema.index({
58
58
  viewId: 1,
59
59
  });
60
60
 
61
- const ClientNote = model<IClientNote>("clientnote", ClientNoteSchema);
61
+ const ClientNote = mongoose.models.clientnote || model<IClientNote>("clientnote", ClientNoteSchema);
62
62
  export default ClientNote;
@@ -77,7 +77,7 @@ ClientReportsTempSchema.index({ test: 1 }, { sparse: true });
77
77
  // TTL index for automatic cleanup of old reports
78
78
  ClientReportsTempSchema.index({ date: 1 }, { expireAfterSeconds: 86400 }); // 24 hours
79
79
 
80
- const ClientReportsTemp = model<IClientReportsTemp>(
80
+ const ClientReportsTemp = mongoose.models.clientreportstemp || model<IClientReportsTemp>(
81
81
  "clientreportstemp",
82
82
  ClientReportsTempSchema
83
83
  );
@@ -101,7 +101,7 @@ ClientRetentionSchema.index(
101
101
  // Index for sorting by retainer value
102
102
  ClientRetentionSchema.index({ "retentions.retainerValue": -1 });
103
103
 
104
- const ClientRetention = model<IClientRetention>(
104
+ const ClientRetention = mongoose.models.clientretention || model<IClientRetention>(
105
105
  "ClientRetention",
106
106
  ClientRetentionSchema
107
107
  );
@@ -176,6 +176,6 @@ ClientScriptSchema.index({ tracker_url: 1 }, { sparse: true });
176
176
  ClientScriptSchema.index({ asset_url: 1 }, { sparse: true });
177
177
 
178
178
 
179
- const ClientScript = model<IClientScript>("clientscript", ClientScriptSchema);
179
+ const ClientScript = mongoose.models.clientscript || model<IClientScript>("clientscript", ClientScriptSchema);
180
180
 
181
181
  export default ClientScript;
@@ -64,7 +64,7 @@ ClientStrategySchema.index({
64
64
  viewId: 1,
65
65
  });
66
66
 
67
- const ClientStrategy = model<IClientStrategy>(
67
+ const ClientStrategy = mongoose.models.clientstrategy || model<IClientStrategy>(
68
68
  "clientstrategy",
69
69
  ClientStrategySchema
70
70
  );
@@ -38,5 +38,5 @@ const ClientSurveySchema = new Schema<IClientSurvay>(
38
38
  }
39
39
  );
40
40
 
41
- const ClientSurvey = model("clientsurvey", ClientSurveySchema);
41
+ const ClientSurvey = mongoose.models.clientsurvey || model("clientsurvey", ClientSurveySchema);
42
42
  export default ClientSurvey;
@@ -52,6 +52,6 @@ EnvironmentSchema.index({ organizationId: 1, name: 1 }, {
52
52
  // Text index for full-text search
53
53
  EnvironmentSchema.index({ name: 'text' });
54
54
 
55
- const Environment = model<IEnvironment>("environment", EnvironmentSchema);
55
+ const Environment = mongoose.models.environment || model<IEnvironment>("environment", EnvironmentSchema);
56
56
 
57
57
  export default Environment;
@@ -34,5 +34,5 @@ const FaqSchema = new Schema<IFaqs>({
34
34
  },
35
35
  });
36
36
 
37
- const Faq = model<IFaqs>("faq", FaqSchema);
37
+ const Faq = mongoose.models.faq || model<IFaqs>("faq", FaqSchema);
38
38
  export default Faq;
@@ -42,6 +42,6 @@ const FeedbackSchema = new Schema<IFeedback>({
42
42
  },
43
43
  });
44
44
 
45
- const Feedback = model<IFeedback>("feedback", FeedbackSchema);
45
+ const Feedback = mongoose.models.feedback || model<IFeedback>("feedback", FeedbackSchema);
46
46
 
47
47
  export default Feedback;
@@ -84,6 +84,6 @@ GoalSchema.index({ client: 1, isActive: 1 });
84
84
  GoalSchema.index({ organizationId: 1, client: 1 });
85
85
  GoalSchema.index({ client: 1, name: 1 }, { unique: true });
86
86
 
87
- const Goal = model<IGoal>("goal", GoalSchema);
87
+ const Goal = mongoose.models.goal || model<IGoal>("goal", GoalSchema);
88
88
 
89
89
  export default Goal;
@@ -66,6 +66,6 @@ HypothesisSchema.index({ tagged: 1, isActive: 1 });
66
66
  HypothesisSchema.index({ name: 1, isActive: 1 });
67
67
 
68
68
 
69
- const Hypothesis = model<IHypothesis>("hypos", HypothesisSchema);
69
+ const Hypothesis = mongoose.models.hypothesis || model<IHypothesis>("hypothesis", HypothesisSchema);
70
70
 
71
71
  export default Hypothesis;
@@ -107,7 +107,7 @@ const HypothesisSheetSchema = new Schema<IHypothesisSheet>(
107
107
  }
108
108
  );
109
109
 
110
- const HypothesisSheet = model<IHypothesisSheet>(
110
+ const HypothesisSheet = mongoose.models.hypothesissheet || model<IHypothesisSheet>(
111
111
  "hypothesisSheet",
112
112
  HypothesisSheetSchema
113
113
  );
@@ -76,5 +76,5 @@ LandingPagesSchema.index({ client: 1, 'dataPoints.conversionRate': -1 });
76
76
  // Text index for full-text search
77
77
  LandingPagesSchema.index({ title: 'text' });
78
78
 
79
- const LandingPages = model<ILandingPages>("LandingPages", LandingPagesSchema);
79
+ const LandingPages = mongoose.models.landingpages || model<ILandingPages>("landingpages", LandingPagesSchema);
80
80
  export default LandingPages;
@@ -60,5 +60,5 @@ NewIdeasSchema.index({
60
60
  viewId: 1,
61
61
  });
62
62
 
63
- const NewIdeas = model<INewIdeas>("Newideas", NewIdeasSchema);
63
+ const NewIdeas = mongoose.models.newideas || model<INewIdeas>("newideas", NewIdeasSchema);
64
64
  export default NewIdeas;
@@ -48,6 +48,6 @@ const NotificationSchema = new Schema<INotification>(
48
48
  }
49
49
  );
50
50
 
51
- const Notification = model<INotification>("notification", NotificationSchema);
51
+ const Notification = mongoose.models.notification || model<INotification>("notification", NotificationSchema);
52
52
 
53
53
  export default Notification;
@@ -79,7 +79,7 @@ const OrganizationSchema = new Schema<IOrganization>({
79
79
  }, {
80
80
  timestamps: true
81
81
  });
82
- const Organization = model<IOrganization>("organization", OrganizationSchema);
82
+ const Organization = mongoose.models.organization || model<IOrganization>("organization", OrganizationSchema);
83
83
 
84
84
  OrganizationSchema.index({ name: 1, isActive: 1 });
85
85
 
@@ -121,6 +121,6 @@ PageSchema.index({ organizationId: 1, name: 1 });
121
121
  // }
122
122
  // });
123
123
 
124
- const Page = model<IPage>("page", PageSchema);
124
+ const Page = mongoose.models.page || model<IPage>("page", PageSchema);
125
125
 
126
126
  export default Page;
@@ -56,6 +56,6 @@ PageElementSchema.index({ organizationId: 1, name: 1 });
56
56
  // Text index for full-text search
57
57
  PageElementSchema.index({ name: 'text' });
58
58
 
59
- const PageElement = model<IPageElement>("pageelement", PageElementSchema);
59
+ const PageElement = mongoose.models.pageelement || model<IPageElement>("pageelement", PageElementSchema);
60
60
 
61
61
  export default PageElement;
@@ -44,6 +44,6 @@ const PageTestTypeSchema = new Schema<IPageTestType>({
44
44
  PageTestTypeSchema.index({ name: 1, isActive: 1 });
45
45
 
46
46
 
47
- const PageTestType = model<IPageTestType>("pagetesttype", PageTestTypeSchema);
47
+ const PageTestType = mongoose.models.pagetesttype || model<IPageTestType>("pagetesttype", PageTestTypeSchema);
48
48
 
49
49
  export default PageTestType;
@@ -27,6 +27,6 @@ const PortfolioSchema = new Schema<IPortfolio>(
27
27
  }
28
28
  );
29
29
 
30
- const Portfolio = model<IPortfolio>("portfolio", PortfolioSchema);
30
+ const Portfolio = mongoose.models.portfolio || model<IPortfolio>("portfolio", PortfolioSchema);
31
31
 
32
32
  export default Portfolio;
@@ -62,6 +62,7 @@ const PrecalculationFiltersSchema = new Schema<IPrecalculationFilters>({
62
62
  PrecalculationFiltersSchema.index({ organizationId: 1, test: 1 });
63
63
  PrecalculationFiltersSchema.index({ organizationId: 1, client: 1 });
64
64
 
65
- const PrecalculationFilters = model<IPrecalculationFilters>("precalculationfilters", PrecalculationFiltersSchema);
65
+ // Check if model is already registered
66
+ const PrecalculationFilters = mongoose.models.precalculationfilter || model<IPrecalculationFilters>("precalculationfilter", PrecalculationFiltersSchema);
66
67
 
67
68
  export default PrecalculationFilters;
@@ -30,6 +30,6 @@ const QueryLogSchema = new Schema<IQueryLog>(
30
30
  }
31
31
  );
32
32
 
33
- const QueryLog = model<IQueryLog>("querylog", QueryLogSchema);
33
+ const QueryLog = mongoose.models.querylog || model<IQueryLog>("querylog", QueryLogSchema);
34
34
 
35
35
  export default QueryLog;
@@ -32,7 +32,7 @@ const ReadNotificationSchema = new Schema<IReadNotification>(
32
32
  }
33
33
  );
34
34
 
35
- const ReadNotification = model<IReadNotification>(
35
+ const ReadNotification = mongoose.models.readnotification || model<IReadNotification>(
36
36
  "readnotification",
37
37
  ReadNotificationSchema
38
38
  );
@@ -75,6 +75,6 @@ ReportsSchema.index({ client: 1, gaTestId: 1 }); // For GA test ID lookups
75
75
  ReportsSchema.index({ createdBy: 1, to: -1 }); // For user's reports
76
76
  ReportsSchema.index({ client: 1, excludedFromCalculations: 1 }); // For calculation exclusions
77
77
 
78
- const Report = model<IReports>("report", ReportsSchema);
78
+ const Report = mongoose.models.report || model<IReports>("report", ReportsSchema);
79
79
 
80
80
  export default Report;
@@ -48,6 +48,6 @@ RoleSchema.index({
48
48
  description: 'text'
49
49
  });
50
50
 
51
- const Role = model<IRole>("role", RoleSchema);
51
+ const Role = mongoose.models.role || model<IRole>("role", RoleSchema);
52
52
 
53
53
  export default Role;
@@ -32,6 +32,6 @@ const SavedSegmentSchema = new Schema<ISavedSegment>(
32
32
  }
33
33
  );
34
34
 
35
- const SavedSegment = model<ISavedSegment>("savedsegment", SavedSegmentSchema);
35
+ const SavedSegment = mongoose.models.savedsegment || model<ISavedSegment>("savedsegment", SavedSegmentSchema);
36
36
 
37
37
  export default SavedSegment;