tabletcommand-backend-models 7.1.0 → 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 (212) hide show
  1. package/build/constants.js +1 -1
  2. package/build/constants.js.map +1 -1
  3. package/build/helpers.js +5 -1
  4. package/build/helpers.js.map +1 -1
  5. package/build/index.js +2 -1
  6. package/build/index.js.map +1 -1
  7. package/build/models/action-log.js +6 -0
  8. package/build/models/action-log.js.map +1 -1
  9. package/build/models/agency.js +35 -0
  10. package/build/models/agency.js.map +1 -1
  11. package/build/models/arcgis-group.js +9 -1
  12. package/build/models/arcgis-group.js.map +1 -1
  13. package/build/models/assignment.js +21 -4
  14. package/build/models/assignment.js.map +1 -1
  15. package/build/models/battalion.js +39 -15
  16. package/build/models/battalion.js.map +1 -1
  17. package/build/models/beacon-log.js +5 -1
  18. package/build/models/beacon-log.js.map +1 -1
  19. package/build/models/cad-incident-block.js +7 -1
  20. package/build/models/cad-incident-block.js.map +1 -1
  21. package/build/models/cad-incident-stream.js +27 -1
  22. package/build/models/cad-incident-stream.js.map +1 -1
  23. package/build/models/cad-incident.js +98 -1
  24. package/build/models/cad-incident.js.map +1 -1
  25. package/build/models/cad-simulation.js +0 -2
  26. package/build/models/cad-simulation.js.map +1 -1
  27. package/build/models/cad-status-map.js +5 -1
  28. package/build/models/cad-status-map.js.map +1 -1
  29. package/build/models/cad-status.js +11 -2
  30. package/build/models/cad-status.js.map +1 -1
  31. package/build/models/cad-vehicle-status-history.js +41 -2
  32. package/build/models/cad-vehicle-status-history.js.map +1 -1
  33. package/build/models/cad-vehicle-status.js +44 -2
  34. package/build/models/cad-vehicle-status.js.map +1 -1
  35. package/build/models/cad-vehicle.js +30 -2
  36. package/build/models/cad-vehicle.js.map +1 -1
  37. package/build/models/chart-device-stats.js +7 -1
  38. package/build/models/chart-device-stats.js.map +1 -1
  39. package/build/models/chart-incident.js +12 -1
  40. package/build/models/chart-incident.js.map +1 -1
  41. package/build/models/chart-managed-incident.js +19 -1
  42. package/build/models/chart-managed-incident.js.map +1 -1
  43. package/build/models/chart-user.js +12 -1
  44. package/build/models/chart-user.js.map +1 -1
  45. package/build/models/checklist-item.js +0 -1
  46. package/build/models/checklist-item.js.map +1 -1
  47. package/build/models/checklist.js +26 -4
  48. package/build/models/checklist.js.map +1 -1
  49. package/build/models/csv-import.js +6 -0
  50. package/build/models/csv-import.js.map +1 -1
  51. package/build/models/department.js +31 -6
  52. package/build/models/department.js.map +1 -1
  53. package/build/models/device-mapping.js +16 -0
  54. package/build/models/device-mapping.js.map +1 -1
  55. package/build/models/esri.js +6 -0
  56. package/build/models/esri.js.map +1 -1
  57. package/build/models/incident-event.js +38 -6
  58. package/build/models/incident-event.js.map +1 -1
  59. package/build/models/incident-notified.js +20 -1
  60. package/build/models/incident-notified.js.map +1 -1
  61. package/build/models/incident-takeover.js +6 -1
  62. package/build/models/incident-takeover.js.map +1 -1
  63. package/build/models/location.js +117 -6
  64. package/build/models/location.js.map +1 -1
  65. package/build/models/mail-log.js +5 -0
  66. package/build/models/mail-log.js.map +1 -1
  67. package/build/models/managed-incident.js +67 -4
  68. package/build/models/managed-incident.js.map +1 -1
  69. package/build/models/mark43-incident-retry.js +0 -1
  70. package/build/models/mark43-incident-retry.js.map +1 -1
  71. package/build/models/message.js +19 -1
  72. package/build/models/message.js.map +1 -1
  73. package/build/models/monitor.js +15 -1
  74. package/build/models/monitor.js.map +1 -1
  75. package/build/models/personnel-import.js +74 -0
  76. package/build/models/personnel-import.js.map +1 -1
  77. package/build/models/personnel-known.js +8 -0
  78. package/build/models/personnel-known.js.map +1 -1
  79. package/build/models/rate-limit.js +6 -0
  80. package/build/models/rate-limit.js.map +1 -1
  81. package/build/models/remote-log-stream.js +0 -1
  82. package/build/models/remote-log-stream.js.map +1 -1
  83. package/build/models/remote-log.js +0 -1
  84. package/build/models/remote-log.js.map +1 -1
  85. package/build/models/schema/agency-saml.js +1 -1
  86. package/build/models/schema/agency-saml.js.map +1 -1
  87. package/build/models/schema/cad-incident.js +0 -1
  88. package/build/models/schema/cad-incident.js.map +1 -1
  89. package/build/models/session.js +44 -6
  90. package/build/models/session.js.map +1 -1
  91. package/build/models/template.js +17 -7
  92. package/build/models/template.js.map +1 -1
  93. package/build/models/user-device.js +17 -0
  94. package/build/models/user-device.js.map +1 -1
  95. package/build/models/user-registration.js +5 -1
  96. package/build/models/user-registration.js.map +1 -1
  97. package/build/models/user.js +59 -6
  98. package/build/models/user.js.map +1 -1
  99. package/build/models/validation-report.js +6 -1
  100. package/build/models/validation-report.js.map +1 -1
  101. package/build/test/location.js +1 -1
  102. package/build/test/location.js.map +1 -1
  103. package/build/test/mock.js +5 -2
  104. package/build/test/mock.js.map +1 -1
  105. package/cspell.json +1 -0
  106. package/definitions/constants.d.ts +1 -1
  107. package/definitions/constants.d.ts.map +1 -1
  108. package/definitions/helpers.d.ts +27 -26
  109. package/definitions/helpers.d.ts.map +1 -1
  110. package/definitions/index.d.ts +4 -4
  111. package/definitions/index.d.ts.map +1 -1
  112. package/definitions/models/action-log.d.ts.map +1 -1
  113. package/definitions/models/agency.d.ts.map +1 -1
  114. package/definitions/models/arcgis-group.d.ts.map +1 -1
  115. package/definitions/models/assignment.d.ts.map +1 -1
  116. package/definitions/models/battalion.d.ts.map +1 -1
  117. package/definitions/models/beacon-log.d.ts.map +1 -1
  118. package/definitions/models/cad-incident-block.d.ts.map +1 -1
  119. package/definitions/models/cad-incident-stream.d.ts.map +1 -1
  120. package/definitions/models/cad-incident.d.ts.map +1 -1
  121. package/definitions/models/cad-simulation.d.ts.map +1 -1
  122. package/definitions/models/cad-status-map.d.ts.map +1 -1
  123. package/definitions/models/cad-status.d.ts.map +1 -1
  124. package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
  125. package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
  126. package/definitions/models/cad-vehicle.d.ts.map +1 -1
  127. package/definitions/models/chart-device-stats.d.ts.map +1 -1
  128. package/definitions/models/chart-incident.d.ts.map +1 -1
  129. package/definitions/models/chart-managed-incident.d.ts.map +1 -1
  130. package/definitions/models/chart-user.d.ts.map +1 -1
  131. package/definitions/models/checklist-item.d.ts.map +1 -1
  132. package/definitions/models/checklist.d.ts.map +1 -1
  133. package/definitions/models/csv-import.d.ts.map +1 -1
  134. package/definitions/models/department.d.ts.map +1 -1
  135. package/definitions/models/device-mapping.d.ts.map +1 -1
  136. package/definitions/models/esri.d.ts.map +1 -1
  137. package/definitions/models/incident-event.d.ts.map +1 -1
  138. package/definitions/models/incident-notified.d.ts.map +1 -1
  139. package/definitions/models/incident-takeover.d.ts.map +1 -1
  140. package/definitions/models/location.d.ts.map +1 -1
  141. package/definitions/models/mail-log.d.ts.map +1 -1
  142. package/definitions/models/managed-incident.d.ts.map +1 -1
  143. package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
  144. package/definitions/models/message.d.ts.map +1 -1
  145. package/definitions/models/monitor.d.ts.map +1 -1
  146. package/definitions/models/personnel-import.d.ts.map +1 -1
  147. package/definitions/models/personnel-known.d.ts.map +1 -1
  148. package/definitions/models/rate-limit.d.ts.map +1 -1
  149. package/definitions/models/remote-log-stream.d.ts.map +1 -1
  150. package/definitions/models/remote-log.d.ts.map +1 -1
  151. package/definitions/models/schema/cad-incident.d.ts.map +1 -1
  152. package/definitions/models/session.d.ts.map +1 -1
  153. package/definitions/models/template.d.ts.map +1 -1
  154. package/definitions/models/user-device.d.ts.map +1 -1
  155. package/definitions/models/user-registration.d.ts.map +1 -1
  156. package/definitions/models/user.d.ts.map +1 -1
  157. package/definitions/models/validation-report.d.ts.map +1 -1
  158. package/definitions/test/mock.d.ts.map +1 -1
  159. package/package.json +7 -6
  160. package/src/constants.ts +1 -1
  161. package/src/helpers.ts +4 -0
  162. package/src/index.ts +2 -1
  163. package/src/models/action-log.ts +8 -0
  164. package/src/models/agency.ts +41 -0
  165. package/src/models/arcgis-group.ts +10 -1
  166. package/src/models/assignment.ts +24 -4
  167. package/src/models/battalion.ts +42 -16
  168. package/src/models/beacon-log.ts +6 -1
  169. package/src/models/cad-incident-block.ts +8 -1
  170. package/src/models/cad-incident-stream.ts +31 -1
  171. package/src/models/cad-incident.ts +111 -1
  172. package/src/models/cad-simulation.ts +0 -2
  173. package/src/models/cad-status-map.ts +6 -1
  174. package/src/models/cad-status.ts +13 -2
  175. package/src/models/cad-vehicle-status-history.ts +47 -2
  176. package/src/models/cad-vehicle-status.ts +51 -3
  177. package/src/models/cad-vehicle.ts +35 -2
  178. package/src/models/chart-device-stats.ts +8 -1
  179. package/src/models/chart-incident.ts +14 -1
  180. package/src/models/chart-managed-incident.ts +22 -1
  181. package/src/models/chart-user.ts +14 -1
  182. package/src/models/checklist-item.ts +0 -1
  183. package/src/models/checklist.ts +28 -4
  184. package/src/models/csv-import.ts +7 -0
  185. package/src/models/department.ts +35 -7
  186. package/src/models/device-mapping.ts +19 -0
  187. package/src/models/esri.ts +7 -0
  188. package/src/models/incident-event.ts +45 -6
  189. package/src/models/incident-notified.ts +23 -1
  190. package/src/models/incident-takeover.ts +7 -1
  191. package/src/models/location.ts +133 -8
  192. package/src/models/mail-log.ts +6 -0
  193. package/src/models/managed-incident.ts +75 -4
  194. package/src/models/mark43-incident-retry.ts +0 -1
  195. package/src/models/message.ts +22 -1
  196. package/src/models/monitor.ts +17 -1
  197. package/src/models/personnel-import.ts +84 -0
  198. package/src/models/personnel-known.ts +9 -0
  199. package/src/models/rate-limit.ts +7 -0
  200. package/src/models/remote-log-stream.ts +0 -1
  201. package/src/models/remote-log.ts +0 -1
  202. package/src/models/schema/agency-saml.ts +1 -1
  203. package/src/models/schema/cad-incident.ts +0 -1
  204. package/src/models/session.ts +49 -6
  205. package/src/models/template.ts +17 -7
  206. package/src/models/user-device.ts +20 -0
  207. package/src/models/user-registration.ts +6 -1
  208. package/src/models/user.ts +65 -7
  209. package/src/models/validation-report.ts +7 -1
  210. package/src/test/location.ts +2 -2
  211. package/src/test/mock.ts +7 -2
  212. package/test.sh +1 -1
@@ -32,7 +32,6 @@ export default async function CADIncidentStreamModule(mongoose: MongooseModule)
32
32
  type: String,
33
33
  default: "",
34
34
  required: true,
35
- index: true,
36
35
  },
37
36
  incidentNumber: {
38
37
  type: String,
@@ -54,6 +53,37 @@ export default async function CADIncidentStreamModule(mongoose: MongooseModule)
54
53
  }
55
54
  });
56
55
 
56
+ modelSchema.index({
57
+ departmentId: 1,
58
+ incidentNumber: 1,
59
+ createdAt: -1,
60
+ _id: -1
61
+ }, {
62
+ name: "departmentId_1_incidentNumber_1_createdAt_-1__id_-1",
63
+ });
64
+
65
+ modelSchema.index({
66
+ departmentId: 1,
67
+ createdAt: -1
68
+ }, {
69
+ name: "departmentId_createdAt",
70
+ });
71
+
72
+ modelSchema.index({
73
+ departmentId: 1,
74
+ incidentNumber: 1,
75
+ createdAt: 1
76
+ }, {
77
+ name: "departmentId_incidentNumber_createdAt",
78
+ });
79
+
80
+ modelSchema.index({
81
+ createdAt: -1,
82
+ }, {
83
+ name: "ttl_90d_createdAt_-1",
84
+ expireAfterSeconds: 7786800,
85
+ });
86
+
57
87
  return mongoose.model<CADIncidentStream>("CADIncidentStream", modelSchema, "massive_cad_incident_stream", { overwriteModels: true });
58
88
  }
59
89
 
@@ -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);