tabletcommand-backend-models 7.1.1 → 7.2.0

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 (207) hide show
  1. package/build/helpers.js +5 -1
  2. package/build/helpers.js.map +1 -1
  3. package/build/index.js +2 -1
  4. package/build/index.js.map +1 -1
  5. package/build/models/action-log.js +6 -0
  6. package/build/models/action-log.js.map +1 -1
  7. package/build/models/agency.js +35 -0
  8. package/build/models/agency.js.map +1 -1
  9. package/build/models/arcgis-group.js +9 -1
  10. package/build/models/arcgis-group.js.map +1 -1
  11. package/build/models/assignment.js +21 -4
  12. package/build/models/assignment.js.map +1 -1
  13. package/build/models/battalion.js +39 -15
  14. package/build/models/battalion.js.map +1 -1
  15. package/build/models/beacon-log.js +5 -1
  16. package/build/models/beacon-log.js.map +1 -1
  17. package/build/models/cad-incident-block.js +7 -1
  18. package/build/models/cad-incident-block.js.map +1 -1
  19. package/build/models/cad-incident-stream.js +27 -1
  20. package/build/models/cad-incident-stream.js.map +1 -1
  21. package/build/models/cad-incident.js +98 -1
  22. package/build/models/cad-incident.js.map +1 -1
  23. package/build/models/cad-simulation.js +0 -2
  24. package/build/models/cad-simulation.js.map +1 -1
  25. package/build/models/cad-status-map.js +5 -1
  26. package/build/models/cad-status-map.js.map +1 -1
  27. package/build/models/cad-status.js +11 -2
  28. package/build/models/cad-status.js.map +1 -1
  29. package/build/models/cad-vehicle-status-history.js +41 -2
  30. package/build/models/cad-vehicle-status-history.js.map +1 -1
  31. package/build/models/cad-vehicle-status.js +44 -2
  32. package/build/models/cad-vehicle-status.js.map +1 -1
  33. package/build/models/cad-vehicle.js +30 -2
  34. package/build/models/cad-vehicle.js.map +1 -1
  35. package/build/models/chart-device-stats.js +7 -1
  36. package/build/models/chart-device-stats.js.map +1 -1
  37. package/build/models/chart-incident.js +12 -1
  38. package/build/models/chart-incident.js.map +1 -1
  39. package/build/models/chart-managed-incident.js +19 -1
  40. package/build/models/chart-managed-incident.js.map +1 -1
  41. package/build/models/chart-user.js +12 -1
  42. package/build/models/chart-user.js.map +1 -1
  43. package/build/models/checklist-item.js +0 -1
  44. package/build/models/checklist-item.js.map +1 -1
  45. package/build/models/checklist.js +26 -4
  46. package/build/models/checklist.js.map +1 -1
  47. package/build/models/csv-import.js +6 -0
  48. package/build/models/csv-import.js.map +1 -1
  49. package/build/models/department.js +31 -6
  50. package/build/models/department.js.map +1 -1
  51. package/build/models/device-mapping.js +16 -0
  52. package/build/models/device-mapping.js.map +1 -1
  53. package/build/models/esri.js +6 -0
  54. package/build/models/esri.js.map +1 -1
  55. package/build/models/incident-event.js +38 -6
  56. package/build/models/incident-event.js.map +1 -1
  57. package/build/models/incident-notified.js +20 -1
  58. package/build/models/incident-notified.js.map +1 -1
  59. package/build/models/incident-takeover.js +6 -1
  60. package/build/models/incident-takeover.js.map +1 -1
  61. package/build/models/location.js +117 -6
  62. package/build/models/location.js.map +1 -1
  63. package/build/models/mail-log.js +5 -0
  64. package/build/models/mail-log.js.map +1 -1
  65. package/build/models/managed-incident.js +67 -4
  66. package/build/models/managed-incident.js.map +1 -1
  67. package/build/models/mark43-incident-retry.js +0 -1
  68. package/build/models/mark43-incident-retry.js.map +1 -1
  69. package/build/models/message.js +19 -1
  70. package/build/models/message.js.map +1 -1
  71. package/build/models/monitor.js +15 -1
  72. package/build/models/monitor.js.map +1 -1
  73. package/build/models/personnel-import.js +74 -0
  74. package/build/models/personnel-import.js.map +1 -1
  75. package/build/models/personnel-known.js +8 -0
  76. package/build/models/personnel-known.js.map +1 -1
  77. package/build/models/rate-limit.js +6 -0
  78. package/build/models/rate-limit.js.map +1 -1
  79. package/build/models/remote-log-stream.js +0 -1
  80. package/build/models/remote-log-stream.js.map +1 -1
  81. package/build/models/remote-log.js +0 -1
  82. package/build/models/remote-log.js.map +1 -1
  83. package/build/models/schema/agency-saml.js +1 -1
  84. package/build/models/schema/agency-saml.js.map +1 -1
  85. package/build/models/schema/cad-incident.js +0 -1
  86. package/build/models/schema/cad-incident.js.map +1 -1
  87. package/build/models/session.js +44 -6
  88. package/build/models/session.js.map +1 -1
  89. package/build/models/template.js +17 -7
  90. package/build/models/template.js.map +1 -1
  91. package/build/models/user-device.js +17 -0
  92. package/build/models/user-device.js.map +1 -1
  93. package/build/models/user-registration.js +5 -1
  94. package/build/models/user-registration.js.map +1 -1
  95. package/build/models/user.js +59 -6
  96. package/build/models/user.js.map +1 -1
  97. package/build/models/validation-report.js +6 -1
  98. package/build/models/validation-report.js.map +1 -1
  99. package/build/test/location.js +1 -1
  100. package/build/test/location.js.map +1 -1
  101. package/build/test/mock.js +5 -2
  102. package/build/test/mock.js.map +1 -1
  103. package/cspell.json +1 -0
  104. package/definitions/helpers.d.ts +27 -26
  105. package/definitions/helpers.d.ts.map +1 -1
  106. package/definitions/index.d.ts +4 -4
  107. package/definitions/index.d.ts.map +1 -1
  108. package/definitions/models/action-log.d.ts.map +1 -1
  109. package/definitions/models/agency.d.ts.map +1 -1
  110. package/definitions/models/arcgis-group.d.ts.map +1 -1
  111. package/definitions/models/assignment.d.ts.map +1 -1
  112. package/definitions/models/battalion.d.ts.map +1 -1
  113. package/definitions/models/beacon-log.d.ts.map +1 -1
  114. package/definitions/models/cad-incident-block.d.ts.map +1 -1
  115. package/definitions/models/cad-incident-stream.d.ts.map +1 -1
  116. package/definitions/models/cad-incident.d.ts.map +1 -1
  117. package/definitions/models/cad-simulation.d.ts.map +1 -1
  118. package/definitions/models/cad-status-map.d.ts.map +1 -1
  119. package/definitions/models/cad-status.d.ts.map +1 -1
  120. package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
  121. package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
  122. package/definitions/models/cad-vehicle.d.ts.map +1 -1
  123. package/definitions/models/chart-device-stats.d.ts.map +1 -1
  124. package/definitions/models/chart-incident.d.ts.map +1 -1
  125. package/definitions/models/chart-managed-incident.d.ts.map +1 -1
  126. package/definitions/models/chart-user.d.ts.map +1 -1
  127. package/definitions/models/checklist-item.d.ts.map +1 -1
  128. package/definitions/models/checklist.d.ts.map +1 -1
  129. package/definitions/models/csv-import.d.ts.map +1 -1
  130. package/definitions/models/department.d.ts.map +1 -1
  131. package/definitions/models/device-mapping.d.ts.map +1 -1
  132. package/definitions/models/esri.d.ts.map +1 -1
  133. package/definitions/models/incident-event.d.ts.map +1 -1
  134. package/definitions/models/incident-notified.d.ts.map +1 -1
  135. package/definitions/models/incident-takeover.d.ts.map +1 -1
  136. package/definitions/models/location.d.ts.map +1 -1
  137. package/definitions/models/mail-log.d.ts.map +1 -1
  138. package/definitions/models/managed-incident.d.ts.map +1 -1
  139. package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
  140. package/definitions/models/message.d.ts.map +1 -1
  141. package/definitions/models/monitor.d.ts.map +1 -1
  142. package/definitions/models/personnel-import.d.ts.map +1 -1
  143. package/definitions/models/personnel-known.d.ts.map +1 -1
  144. package/definitions/models/rate-limit.d.ts.map +1 -1
  145. package/definitions/models/remote-log-stream.d.ts.map +1 -1
  146. package/definitions/models/remote-log.d.ts.map +1 -1
  147. package/definitions/models/schema/cad-incident.d.ts.map +1 -1
  148. package/definitions/models/session.d.ts.map +1 -1
  149. package/definitions/models/template.d.ts.map +1 -1
  150. package/definitions/models/user-device.d.ts.map +1 -1
  151. package/definitions/models/user-registration.d.ts.map +1 -1
  152. package/definitions/models/user.d.ts.map +1 -1
  153. package/definitions/models/validation-report.d.ts.map +1 -1
  154. package/definitions/test/mock.d.ts.map +1 -1
  155. package/package.json +6 -5
  156. package/src/helpers.ts +4 -0
  157. package/src/index.ts +2 -1
  158. package/src/models/action-log.ts +8 -0
  159. package/src/models/agency.ts +41 -0
  160. package/src/models/arcgis-group.ts +10 -1
  161. package/src/models/assignment.ts +24 -4
  162. package/src/models/battalion.ts +42 -16
  163. package/src/models/beacon-log.ts +6 -1
  164. package/src/models/cad-incident-block.ts +8 -1
  165. package/src/models/cad-incident-stream.ts +31 -1
  166. package/src/models/cad-incident.ts +111 -1
  167. package/src/models/cad-simulation.ts +0 -2
  168. package/src/models/cad-status-map.ts +6 -1
  169. package/src/models/cad-status.ts +13 -2
  170. package/src/models/cad-vehicle-status-history.ts +47 -2
  171. package/src/models/cad-vehicle-status.ts +51 -3
  172. package/src/models/cad-vehicle.ts +35 -2
  173. package/src/models/chart-device-stats.ts +8 -1
  174. package/src/models/chart-incident.ts +14 -1
  175. package/src/models/chart-managed-incident.ts +22 -1
  176. package/src/models/chart-user.ts +14 -1
  177. package/src/models/checklist-item.ts +0 -1
  178. package/src/models/checklist.ts +28 -4
  179. package/src/models/csv-import.ts +7 -0
  180. package/src/models/department.ts +35 -7
  181. package/src/models/device-mapping.ts +19 -0
  182. package/src/models/esri.ts +7 -0
  183. package/src/models/incident-event.ts +45 -6
  184. package/src/models/incident-notified.ts +23 -1
  185. package/src/models/incident-takeover.ts +7 -1
  186. package/src/models/location.ts +133 -8
  187. package/src/models/mail-log.ts +6 -0
  188. package/src/models/managed-incident.ts +75 -4
  189. package/src/models/mark43-incident-retry.ts +0 -1
  190. package/src/models/message.ts +22 -1
  191. package/src/models/monitor.ts +17 -1
  192. package/src/models/personnel-import.ts +84 -0
  193. package/src/models/personnel-known.ts +9 -0
  194. package/src/models/rate-limit.ts +7 -0
  195. package/src/models/remote-log-stream.ts +0 -1
  196. package/src/models/remote-log.ts +0 -1
  197. package/src/models/schema/agency-saml.ts +1 -1
  198. package/src/models/schema/cad-incident.ts +0 -1
  199. package/src/models/session.ts +49 -6
  200. package/src/models/template.ts +17 -7
  201. package/src/models/user-device.ts +20 -0
  202. package/src/models/user-registration.ts +6 -1
  203. package/src/models/user.ts +65 -7
  204. package/src/models/validation-report.ts +7 -1
  205. package/src/test/location.ts +2 -2
  206. package/src/test/mock.ts +7 -2
  207. package/test.sh +1 -1
@@ -12,7 +12,36 @@ export default async function CADIncidentModule(mongoose: MongooseModule) {
12
12
  const modelSchema = CADIncidentSchema(mongoose);
13
13
  modelSchema.set("strict", false); // Because we accept all kind of data in
14
14
 
15
- // Indexes
15
+ modelSchema.index({
16
+ closed_unix_date: 1,
17
+ departmentId: 1,
18
+ modified_unix_date: 1
19
+ }, {
20
+ name: "closed_unix_date_1_departmentId_1_modified_unix_date_1",
21
+ });
22
+
23
+ modelSchema.index({
24
+ closed_unix_date: 1,
25
+ modified_unix_date: 1
26
+ }, {
27
+ name: "closed_unix_date_modified_unix_date",
28
+ });
29
+
30
+ modelSchema.index({
31
+ departmentId: 1,
32
+ ClosedDateTime: -1
33
+ }, {
34
+ name: "departmentId_1_ClosedDateTime_-1",
35
+ });
36
+
37
+ modelSchema.index({
38
+ departmentId: 1,
39
+ ClosedDateTime: 1,
40
+ expiration_date: 1
41
+ }, {
42
+ name: "departmentId_1_ClosedDateTime_1_expiration_date_1",
43
+ });
44
+
16
45
  modelSchema.index({
17
46
  departmentId: 1,
18
47
  IncidentNumber: 1
@@ -21,6 +50,87 @@ export default async function CADIncidentModule(mongoose: MongooseModule) {
21
50
  unique: true,
22
51
  });
23
52
 
53
+ modelSchema.index({
54
+ departmentId: 1,
55
+ closed_unix_date: 1,
56
+ modified_unix_date: 1
57
+ }, {
58
+ name: "departmentId_1_closed_unix_date_1_modified_unix_date_1",
59
+ });
60
+
61
+ modelSchema.index({
62
+ departmentId: 1,
63
+ modified_unix_date: 1
64
+ }, {
65
+ name: "departmentId_1_modified_unix_date_1",
66
+ });
67
+
68
+ modelSchema.index({
69
+ departmentId: 1,
70
+ start_unix_date: -1,
71
+ closed_unix_date: 1
72
+ }, {
73
+ name: "departmentId_1_start_unix_date_-1_closed_unix_date_1",
74
+ });
75
+
76
+ modelSchema.index({
77
+ departmentId: 1,
78
+ start_unix_date: 1
79
+ }, {
80
+ name: "departmentId_1_start_unix_date_1",
81
+ });
82
+
83
+ modelSchema.index({
84
+ expiration_date: 1,
85
+ ClosedDateTime: 1
86
+ }, {
87
+ name: "expiration_date_1_ClosedDateTime_1",
88
+ partialFilterExpression: {
89
+ expiration_date: {
90
+ "$gt": ""
91
+ },
92
+ ClosedDateTime: {
93
+ "$eq": ""
94
+ }
95
+ },
96
+ });
97
+
98
+ modelSchema.index({
99
+ expiration_date: 1,
100
+ ClosedDateTime: 1,
101
+ departmentId: 1
102
+ }, {
103
+ name: "expiration_date_1_ClosedDateTime_1_departmentId_1",
104
+ partialFilterExpression: {
105
+ expiration_date: {
106
+ "$gt": ""
107
+ },
108
+ ClosedDateTime: ""
109
+ }
110
+ });
111
+
112
+ modelSchema.index({
113
+ "sharedTo.departmentId": 1,
114
+ start_unix_date: -1,
115
+ closed_unix_date: 1
116
+ }, {
117
+ name: "sharedTo.departmentId_1_start_unix_date_-1_closed_unix_date_1",
118
+ });
119
+
120
+ modelSchema.index({
121
+ "sharedTo.departmentId": 1,
122
+ "sharedTo.expireAt": 1
123
+ }, {
124
+ name: "sharedTo_departmentId_1_sharedTo_expireAt_1",
125
+ });
126
+
127
+ modelSchema.index({
128
+ uuid: 1,
129
+ }, {
130
+ name: "uuid_1",
131
+ unique: true,
132
+ });
133
+
24
134
  return mongoose.model<CADIncident>("CADIncident", modelSchema, "massive_incident_cad", { overwriteModels: true });
25
135
  }
26
136
 
@@ -132,14 +132,12 @@ export default async function CADSimulationModule(mongoose: MongooseModule) {
132
132
  // Internal
133
133
  uuid: {
134
134
  type: String,
135
- index: true,
136
135
  default: uuid.v4,
137
136
  },
138
137
  departmentId: {
139
138
  type: String,
140
139
  default: "",
141
140
  required: true,
142
- index: true,
143
141
  },
144
142
  modifiedDate: {
145
143
  type: Number,
@@ -35,7 +35,6 @@ export default async function CADStatusMapModule(mongoose: MongooseModule) {
35
35
  type: String,
36
36
  default: "",
37
37
  required: true,
38
- index: true,
39
38
  },
40
39
  modifiedDate: {
41
40
  type: Number,
@@ -63,6 +62,12 @@ export default async function CADStatusMapModule(mongoose: MongooseModule) {
63
62
  autoIndex: false,
64
63
  });
65
64
 
65
+ modelSchema.index({
66
+ departmentId: 1
67
+ }, {
68
+ name: "departmentId_1",
69
+ });
70
+
66
71
  return mongoose.model<CADStatusMap>("CADStatusMap", modelSchema, "massive_cad_status_map", { overwriteModels: true });
67
72
  }
68
73
 
@@ -89,14 +89,12 @@ export default async function CADStatusModule(mongoose: MongooseModule) {
89
89
  const modelSchema = new Schema<CADStatus>({
90
90
  uuid: {
91
91
  type: String,
92
- index: true,
93
92
  default: uuid.v4,
94
93
  },
95
94
  departmentId: {
96
95
  type: String,
97
96
  default: "",
98
97
  required: true,
99
- index: true,
100
98
  },
101
99
  modifiedDate: {
102
100
  type: Number,
@@ -160,6 +158,19 @@ export default async function CADStatusModule(mongoose: MongooseModule) {
160
158
  autoIndex: false,
161
159
  });
162
160
 
161
+ modelSchema.index({
162
+ departmentId: 1
163
+ }, {
164
+ name: "departmentId_1",
165
+ });
166
+
167
+ modelSchema.index({
168
+ uuid: 1
169
+ }, {
170
+ name: "uuid_1_unique",
171
+ unique: true,
172
+ });
173
+
163
174
  return mongoose.model<CADStatus>("CADStatus", modelSchema, "massive_cad_status", { overwriteModels: true });
164
175
  }
165
176
 
@@ -17,12 +17,10 @@ export default async function CADVehicleStatusHistoryModule(mongoose: MongooseMo
17
17
  type: String,
18
18
  default: "",
19
19
  required: true,
20
- index: true,
21
20
  },
22
21
  vehicleId: {
23
22
  type: String,
24
23
  default: "",
25
- index: true,
26
24
  },
27
25
  radioName: {
28
26
  type: String,
@@ -78,6 +76,53 @@ export default async function CADVehicleStatusHistoryModule(mongoose: MongooseMo
78
76
  autoIndex: false,
79
77
  });
80
78
 
79
+ modelSchema.index({
80
+ departmentId: 1,
81
+ incidentNumber: 1,
82
+ requested: -1
83
+ }, {
84
+ name: "departmentId_1_incidentNumber_1_requested__1",
85
+ });
86
+
87
+ modelSchema.index({
88
+ departmentId: 1,
89
+ requestedAt: -1,
90
+ requestDelay: 1
91
+ }, {
92
+ name: "departmentId_1_requestedAt_-1_requestDelay_1",
93
+ });
94
+
95
+ modelSchema.index({
96
+ departmentId: 1,
97
+ requested: -1,
98
+ requestDelay: 1
99
+ }, {
100
+ name: "departmentId_1_requested_-1_requestDelay_1",
101
+ });
102
+
103
+ modelSchema.index({
104
+ departmentId: 1,
105
+ vehicleId: 1,
106
+ requestedAt: -1
107
+ }, {
108
+ name: "departmentId_1_vehicleId_1_requestedAt_-1",
109
+ });
110
+
111
+ modelSchema.index({
112
+ departmentId: 1,
113
+ vehicleId: 1,
114
+ requested: -1,
115
+ }, {
116
+ name: "departmentId_1_vehicleId_1_requested_-1",
117
+ });
118
+
119
+ modelSchema.index({
120
+ requested: 1,
121
+ }, {
122
+ name: "ttl_30d_requested_1",
123
+ expireAfterSeconds: 2654300,
124
+ });
125
+
81
126
  return mongoose.model<CADVehicleStatusHistory>("CADVehicleStatusHistory", modelSchema, "massive_cad_vehicle_status_history", { overwriteModels: true });
82
127
  }
83
128
 
@@ -34,18 +34,15 @@ export default async function CADVehicleStatusModule(mongoose: MongooseModule) {
34
34
  id: false,
35
35
  });
36
36
 
37
-
38
37
  const modelSchema = new Schema<CADVehicleStatusType>({
39
38
  uuid: {
40
39
  type: String,
41
- index: true,
42
40
  default: uuid.v4,
43
41
  },
44
42
  departmentId: {
45
43
  type: String,
46
44
  default: "",
47
45
  required: true,
48
- index: true,
49
46
  },
50
47
  vehicleId: {
51
48
  type: String,
@@ -142,6 +139,57 @@ export default async function CADVehicleStatusModule(mongoose: MongooseModule) {
142
139
  autoIndex: false,
143
140
  });
144
141
 
142
+ modelSchema.index({
143
+ departmentId: 1,
144
+ }, {
145
+ name: "departmentId_1",
146
+ });
147
+
148
+ modelSchema.index({
149
+ departmentId: 1,
150
+ modified_unix_date: 1,
151
+ }, {
152
+ name: "departmentId_1_modified_unix_date_1",
153
+ });
154
+
155
+ modelSchema.index({
156
+ departmentId: 1,
157
+ owner: 1,
158
+ modifiedDate: 1
159
+ }, {
160
+ name: "departmentId_1_owner_1_modifiedDate_1",
161
+ });
162
+
163
+ modelSchema.index({
164
+ departmentId: 1,
165
+ owner: 1,
166
+ modified: -1
167
+ }, {
168
+ name: "departmentId_1_owner_1_modified_-1",
169
+ });
170
+
171
+ modelSchema.index({
172
+ departmentId: 1,
173
+ radioName: 1
174
+ }, {
175
+ name: "departmentId_1_radioName_1",
176
+ });
177
+
178
+ modelSchema.index({
179
+ departmentId: 1,
180
+ vehicleId: 1
181
+ }, {
182
+ name: "departmentId_1_vehicleId_1_unique",
183
+ unique: true,
184
+ });
185
+
186
+ modelSchema.index({
187
+ uuid: 1,
188
+ }, {
189
+ name: "uuid_1_unique",
190
+ unique: true,
191
+ });
192
+
145
193
  return mongoose.model<CADVehicleStatus>("CADVehicleStatus", modelSchema, "massive_cad_vehicle_status", { overwriteModels: true });
146
194
  }
147
195
 
@@ -29,14 +29,12 @@ export default async function CADVehicleModule(mongoose: MongooseModule) {
29
29
  // Internal
30
30
  uuid: {
31
31
  type: String,
32
- index: true,
33
32
  default: uuid.v4,
34
33
  },
35
34
  departmentId: {
36
35
  type: String,
37
36
  default: "",
38
37
  required: true,
39
- index: true,
40
38
  },
41
39
  modifiedDate: {
42
40
  type: Number,
@@ -86,6 +84,41 @@ export default async function CADVehicleModule(mongoose: MongooseModule) {
86
84
  autoIndex: false,
87
85
  });
88
86
 
87
+ modelSchema.index({
88
+ departmentId: 1,
89
+ modifiedDate: 1
90
+ }, {
91
+ name: "departmentId_1_modifiedDate_1",
92
+ });
93
+
94
+ modelSchema.index({
95
+ departmentId: 1,
96
+ modified: 1
97
+ }, {
98
+ name: "departmentId_1_modified_1",
99
+ });
100
+
101
+ modelSchema.index({
102
+ departmentId: 1,
103
+ radioName: 1
104
+ }, {
105
+ name: "departmentId_1_radioName_1",
106
+ });
107
+
108
+ modelSchema.index({
109
+ departmentId: 1,
110
+ vehicleId: 1
111
+ }, {
112
+ name: "departmentId_1_vehicleId_1",
113
+ });
114
+
115
+ modelSchema.index({
116
+ uuid: 1,
117
+ }, {
118
+ name: "uuid_1_unique",
119
+ unique: true,
120
+ });
121
+
89
122
  return mongoose.model<CADVehicle>("CADVehicle", modelSchema, "massive_cad_vehicle", { overwriteModels: true });
90
123
  }
91
124
 
@@ -62,7 +62,6 @@ export default async function ChartDeviceStatsModule(mongoose: MongooseModule) {
62
62
  type: String,
63
63
  default: "",
64
64
  required: true,
65
- index: true,
66
65
  },
67
66
  items: {
68
67
  type: [ChartItem],
@@ -75,6 +74,14 @@ export default async function ChartDeviceStatsModule(mongoose: MongooseModule) {
75
74
  }
76
75
  });
77
76
 
77
+ modelSchema.index({
78
+ dateAt: 1,
79
+ "items.email": 1,
80
+ departmentId: 1
81
+ }, {
82
+ name: "dateAt_1_items_email_1_departmentId_1",
83
+ });
84
+
78
85
  return mongoose.model<ChartDeviceStats>("ChartDeviceStat", modelSchema, "massive_chart_device_stat", { overwriteModels: true });
79
86
  }
80
87
 
@@ -38,7 +38,6 @@ export default async function ChartIncidentModule(mongoose: MongooseModule) {
38
38
  type: String,
39
39
  default: "",
40
40
  required: true,
41
- index: true,
42
41
  },
43
42
  count: {
44
43
  type: Number,
@@ -55,6 +54,20 @@ export default async function ChartIncidentModule(mongoose: MongooseModule) {
55
54
  }
56
55
  });
57
56
 
57
+ modelSchema.index({
58
+ departmentId: 1,
59
+ date: 1,
60
+ }, {
61
+ name: "departmentId1_date_1",
62
+ });
63
+
64
+ modelSchema.index({
65
+ departmentId: 1,
66
+ dateAt: -1
67
+ }, {
68
+ name: "departmentId_1_dateAt_-1",
69
+ });
70
+
58
71
  return mongoose.model<ChartIncident>("ChartIncident", modelSchema, "massive_chart_incident", { overwriteModels: true });
59
72
  }
60
73
 
@@ -39,7 +39,6 @@ export default async function ChartManagedIncidentModule(mongoose: MongooseModul
39
39
  type: String,
40
40
  default: "",
41
41
  required: true,
42
- index: true,
43
42
  },
44
43
  userId: {
45
44
  type: String,
@@ -61,6 +60,28 @@ export default async function ChartManagedIncidentModule(mongoose: MongooseModul
61
60
  }
62
61
  });
63
62
 
63
+ modelSchema.index({
64
+ departmentId: 1,
65
+ dateAt: -1
66
+ }, {
67
+ name: "departmentId_1_dateAt_-1",
68
+ });
69
+
70
+ modelSchema.index({
71
+ departmentId: 1,
72
+ date: 1,
73
+ }, {
74
+ name: "departmentId_1_date_1",
75
+ });
76
+
77
+ modelSchema.index({
78
+ departmentId: 1,
79
+ userId: 1,
80
+ dateAt: -1
81
+ }, {
82
+ name: "departmentId_1_userId_1_dateAt_-1",
83
+ });
84
+
64
85
  return mongoose.model<ChartManagedIncident>("ChartManagedIncident", modelSchema, "massive_chart_managed_incident", { overwriteModels: true });
65
86
  }
66
87
 
@@ -24,7 +24,6 @@ export default async function ChartUserModule(mongoose: MongooseModule) {
24
24
  type: String,
25
25
  default: "",
26
26
  required: true,
27
- index: true,
28
27
  },
29
28
  count: {
30
29
  type: Number,
@@ -41,6 +40,20 @@ export default async function ChartUserModule(mongoose: MongooseModule) {
41
40
  }
42
41
  });
43
42
 
43
+ modelSchema.index({
44
+ departmentId: 1,
45
+ dateAt: -1,
46
+ }, {
47
+ name: "departmentId_1_dateAt_-1",
48
+ });
49
+
50
+ modelSchema.index({
51
+ departmentId: 1,
52
+ date: 1,
53
+ }, {
54
+ name: "departmentId_1_date_1",
55
+ });
56
+
44
57
  return mongoose.model<ChartUser>("ChartUser", modelSchema, "massive_chart_user", { overwriteModels: true });
45
58
  }
46
59
 
@@ -47,7 +47,6 @@ export function ChecklistItemSchema(mongoose: MongooseModule) {
47
47
  departmentId: {
48
48
  type: String,
49
49
  required: true,
50
- index: true,
51
50
  },
52
51
  active: {
53
52
  type: Boolean,
@@ -53,7 +53,6 @@ export function ChecklistSchema(mongoose: MongooseModule) {
53
53
  departmentId: {
54
54
  type: String,
55
55
  required: true,
56
- index: true,
57
56
  },
58
57
  active: {
59
58
  type: Boolean,
@@ -74,17 +73,42 @@ export function ChecklistSchema(mongoose: MongooseModule) {
74
73
  }
75
74
  }, {
76
75
  autoIndex: false,
76
+ toJSON: {
77
+ virtuals: true,
78
+ versionKey: false,
79
+ }
77
80
  });
78
81
  modelSchema.virtual("id").get(function(this: MongooseDocument) {
79
82
  // tslint:disable-next-line: no-unsafe-any
80
83
  return this._id.toString();
81
84
  });
82
85
 
83
- modelSchema.set("toJSON", {
84
- virtuals: true,
85
- versionKey: false,
86
+ modelSchema.index({
87
+ departmentId: 1,
88
+ isMandatory: 1
89
+ }, {
90
+ name: "departmentId_1_isMandatory_1",
91
+ });
92
+
93
+ modelSchema.index({
94
+ departmentId: 1,
95
+ modified_date: 1,
96
+ }, {
97
+ name: "departmentId_1_modified_date_1",
98
+ });
99
+
100
+ modelSchema.index({
101
+ departmentId: 1,
102
+ userId: 1
103
+ }, {
104
+ name: "deptId_1_userId_1",
86
105
  });
87
106
 
107
+ modelSchema.index({
108
+ uuid: 1,
109
+ }, {
110
+ name: "uuid_1",
111
+ });
88
112
 
89
113
  return modelSchema;
90
114
  }
@@ -71,6 +71,13 @@ export default async function CSVImportModule(mongoose: MongooseModule) {
71
71
  autoIndex: false,
72
72
  });
73
73
 
74
+ modelSchema.index({
75
+ batchId: 1,
76
+ }, {
77
+ name: "batchId_1",
78
+ unique: true,
79
+ });
80
+
74
81
  return mongoose.model<CSVImport>("CSVImport", modelSchema, "massive_csv_import", { overwriteModels: true });
75
82
  }
76
83
 
@@ -1640,19 +1640,47 @@ export default async function DepartmentModule(mongoose: MongooseModule) {
1640
1640
  default: ForwardingConfigDefault,
1641
1641
  },
1642
1642
  }, {
1643
- "autoIndex": false,
1644
- "timestamps": {
1643
+ autoIndex: false,
1644
+ timestamps: {
1645
1645
  updatedAt: "modified",
1646
+ },
1647
+ toJSON: {
1648
+ virtuals: true,
1649
+ versionKey: false,
1646
1650
  }
1647
1651
  });
1648
1652
 
1649
- modelSchema.virtual("id").get(function(this: Department) {
1650
- return this._id.toHexString();
1653
+ modelSchema.index({
1654
+ apikey: 1,
1655
+ }, {
1656
+ name: "apikey_1",
1657
+ unique: true,
1658
+ });
1659
+
1660
+ modelSchema.index({
1661
+ department: 1,
1662
+ }, {
1663
+ name: "department_1_unique",
1664
+ unique: true,
1651
1665
  });
1652
1666
 
1653
- modelSchema.set("toJSON", {
1654
- virtuals: true,
1655
- versionKey: false,
1667
+ modelSchema.index({
1668
+ rtsChannelPrefix: 1,
1669
+ }, {
1670
+ name: "rtsChannelPrefix_1_unique",
1671
+ unique: true,
1672
+ });
1673
+
1674
+ // TODO: Create this
1675
+ // modelSchema.index({
1676
+ // uuid: 1,
1677
+ // }, {
1678
+ // name: "uuid_1_unique",
1679
+ // unique: true,
1680
+ // });
1681
+
1682
+ modelSchema.virtual("id").get(function(this: Department) {
1683
+ return this._id.toHexString();
1656
1684
  });
1657
1685
 
1658
1686
  modelSchema.plugin(mongooseLeanVirtuals);
@@ -80,6 +80,25 @@ export default async function DeviceMappingModule(mongoose: MongooseModule) {
80
80
  autoIndex: false,
81
81
  });
82
82
 
83
+ modelSchema.index({
84
+ departmentId: 1,
85
+ modified_unix_date: 1
86
+ }, {
87
+ name: "departmentId_1_modified_unix_date_1",
88
+ });
89
+
90
+ modelSchema.index({
91
+ deviceId: 1,
92
+ }, {
93
+ name: "deviceId_1",
94
+ });
95
+
96
+ modelSchema.index({
97
+ remoteAddress: 1,
98
+ }, {
99
+ name: "remoteAddress_1",
100
+ });
101
+
83
102
  return mongoose.model<DeviceMapping>("DeviceMapping", modelSchema, "massive_device_mapping", { overwriteModels: true });
84
103
  }
85
104
 
@@ -114,6 +114,13 @@ export function EsriSchema(mongoose: MongooseModule) {
114
114
  }
115
115
  });
116
116
 
117
+ modelSchema.index({
118
+ departmentId: 1,
119
+ }, {
120
+ name: "departmentId_unique",
121
+ unique: true,
122
+ });
123
+
117
124
  return modelSchema;
118
125
  }
119
126