tabletcommand-backend-models 7.1.1 → 7.2.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.
- package/build/helpers.js +5 -1
- package/build/helpers.js.map +1 -1
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/models/action-log.js +6 -0
- package/build/models/action-log.js.map +1 -1
- package/build/models/agency.js +35 -0
- package/build/models/agency.js.map +1 -1
- package/build/models/arcgis-group.js +9 -1
- package/build/models/arcgis-group.js.map +1 -1
- package/build/models/assignment.js +21 -4
- package/build/models/assignment.js.map +1 -1
- package/build/models/battalion.js +39 -15
- package/build/models/battalion.js.map +1 -1
- package/build/models/beacon-log.js +5 -1
- package/build/models/beacon-log.js.map +1 -1
- package/build/models/cad-incident-block.js +7 -1
- package/build/models/cad-incident-block.js.map +1 -1
- package/build/models/cad-incident-stream.js +27 -1
- package/build/models/cad-incident-stream.js.map +1 -1
- package/build/models/cad-incident.js +98 -1
- package/build/models/cad-incident.js.map +1 -1
- package/build/models/cad-simulation.js +0 -2
- package/build/models/cad-simulation.js.map +1 -1
- package/build/models/cad-status-map.js +5 -1
- package/build/models/cad-status-map.js.map +1 -1
- package/build/models/cad-status.js +11 -2
- package/build/models/cad-status.js.map +1 -1
- package/build/models/cad-vehicle-status-history.js +41 -2
- package/build/models/cad-vehicle-status-history.js.map +1 -1
- package/build/models/cad-vehicle-status.js +44 -2
- package/build/models/cad-vehicle-status.js.map +1 -1
- package/build/models/cad-vehicle.js +30 -2
- package/build/models/cad-vehicle.js.map +1 -1
- package/build/models/chart-device-stats.js +7 -1
- package/build/models/chart-device-stats.js.map +1 -1
- package/build/models/chart-incident.js +12 -1
- package/build/models/chart-incident.js.map +1 -1
- package/build/models/chart-managed-incident.js +19 -1
- package/build/models/chart-managed-incident.js.map +1 -1
- package/build/models/chart-user.js +12 -1
- package/build/models/chart-user.js.map +1 -1
- package/build/models/checklist-item.js +0 -1
- package/build/models/checklist-item.js.map +1 -1
- package/build/models/checklist.js +26 -4
- package/build/models/checklist.js.map +1 -1
- package/build/models/csv-import.js +6 -0
- package/build/models/csv-import.js.map +1 -1
- package/build/models/department.js +129 -6
- package/build/models/department.js.map +1 -1
- package/build/models/device-mapping.js +16 -0
- package/build/models/device-mapping.js.map +1 -1
- package/build/models/esri.js +6 -0
- package/build/models/esri.js.map +1 -1
- package/build/models/incident-event.js +38 -6
- package/build/models/incident-event.js.map +1 -1
- package/build/models/incident-notified.js +20 -1
- package/build/models/incident-notified.js.map +1 -1
- package/build/models/incident-takeover.js +6 -1
- package/build/models/incident-takeover.js.map +1 -1
- package/build/models/location.js +117 -6
- package/build/models/location.js.map +1 -1
- package/build/models/mail-log.js +5 -0
- package/build/models/mail-log.js.map +1 -1
- package/build/models/managed-incident.js +67 -4
- package/build/models/managed-incident.js.map +1 -1
- package/build/models/mark43-incident-retry.js +0 -1
- package/build/models/mark43-incident-retry.js.map +1 -1
- package/build/models/message.js +19 -1
- package/build/models/message.js.map +1 -1
- package/build/models/monitor.js +15 -1
- package/build/models/monitor.js.map +1 -1
- package/build/models/personnel-import.js +74 -0
- package/build/models/personnel-import.js.map +1 -1
- package/build/models/personnel-known.js +8 -0
- package/build/models/personnel-known.js.map +1 -1
- package/build/models/rate-limit.js +6 -0
- package/build/models/rate-limit.js.map +1 -1
- package/build/models/remote-log-stream.js +0 -1
- package/build/models/remote-log-stream.js.map +1 -1
- package/build/models/remote-log.js +0 -1
- package/build/models/remote-log.js.map +1 -1
- package/build/models/schema/agency-saml.js +1 -1
- package/build/models/schema/agency-saml.js.map +1 -1
- package/build/models/schema/cad-incident.js +0 -1
- package/build/models/schema/cad-incident.js.map +1 -1
- package/build/models/session.js +44 -6
- package/build/models/session.js.map +1 -1
- package/build/models/template.js +17 -7
- package/build/models/template.js.map +1 -1
- package/build/models/user-device.js +17 -0
- package/build/models/user-device.js.map +1 -1
- package/build/models/user-registration.js +5 -1
- package/build/models/user-registration.js.map +1 -1
- package/build/models/user.js +59 -6
- package/build/models/user.js.map +1 -1
- package/build/models/validation-report.js +6 -1
- package/build/models/validation-report.js.map +1 -1
- package/build/test/location.js +1 -1
- package/build/test/location.js.map +1 -1
- package/build/test/mock.js +5 -2
- package/build/test/mock.js.map +1 -1
- package/cspell.json +1 -0
- package/definitions/helpers.d.ts +27 -26
- package/definitions/helpers.d.ts.map +1 -1
- package/definitions/index.d.ts +4 -4
- package/definitions/index.d.ts.map +1 -1
- package/definitions/models/action-log.d.ts.map +1 -1
- package/definitions/models/agency.d.ts.map +1 -1
- package/definitions/models/arcgis-group.d.ts.map +1 -1
- package/definitions/models/assignment.d.ts.map +1 -1
- package/definitions/models/battalion.d.ts.map +1 -1
- package/definitions/models/beacon-log.d.ts.map +1 -1
- package/definitions/models/cad-incident-block.d.ts.map +1 -1
- package/definitions/models/cad-incident-stream.d.ts.map +1 -1
- package/definitions/models/cad-incident.d.ts.map +1 -1
- package/definitions/models/cad-simulation.d.ts.map +1 -1
- package/definitions/models/cad-status-map.d.ts.map +1 -1
- package/definitions/models/cad-status.d.ts.map +1 -1
- package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
- package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
- package/definitions/models/cad-vehicle.d.ts.map +1 -1
- package/definitions/models/chart-device-stats.d.ts.map +1 -1
- package/definitions/models/chart-incident.d.ts.map +1 -1
- package/definitions/models/chart-managed-incident.d.ts.map +1 -1
- package/definitions/models/chart-user.d.ts.map +1 -1
- package/definitions/models/checklist-item.d.ts.map +1 -1
- package/definitions/models/checklist.d.ts.map +1 -1
- package/definitions/models/csv-import.d.ts.map +1 -1
- package/definitions/models/department.d.ts.map +1 -1
- package/definitions/models/device-mapping.d.ts.map +1 -1
- package/definitions/models/esri.d.ts.map +1 -1
- package/definitions/models/incident-event.d.ts.map +1 -1
- package/definitions/models/incident-notified.d.ts.map +1 -1
- package/definitions/models/incident-takeover.d.ts.map +1 -1
- package/definitions/models/location.d.ts.map +1 -1
- package/definitions/models/mail-log.d.ts.map +1 -1
- package/definitions/models/managed-incident.d.ts.map +1 -1
- package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
- package/definitions/models/message.d.ts.map +1 -1
- package/definitions/models/monitor.d.ts.map +1 -1
- package/definitions/models/personnel-import.d.ts.map +1 -1
- package/definitions/models/personnel-known.d.ts.map +1 -1
- package/definitions/models/rate-limit.d.ts.map +1 -1
- package/definitions/models/remote-log-stream.d.ts.map +1 -1
- package/definitions/models/remote-log.d.ts.map +1 -1
- package/definitions/models/schema/cad-incident.d.ts.map +1 -1
- package/definitions/models/session.d.ts.map +1 -1
- package/definitions/models/template.d.ts.map +1 -1
- package/definitions/models/user-device.d.ts.map +1 -1
- package/definitions/models/user-registration.d.ts.map +1 -1
- package/definitions/models/user.d.ts.map +1 -1
- package/definitions/models/validation-report.d.ts.map +1 -1
- package/definitions/test/mock.d.ts.map +1 -1
- package/definitions/types/department.d.ts +14 -0
- package/definitions/types/department.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/helpers.ts +4 -0
- package/src/index.ts +2 -1
- package/src/models/action-log.ts +8 -0
- package/src/models/agency.ts +41 -0
- package/src/models/arcgis-group.ts +10 -1
- package/src/models/assignment.ts +24 -4
- package/src/models/battalion.ts +42 -16
- package/src/models/beacon-log.ts +6 -1
- package/src/models/cad-incident-block.ts +8 -1
- package/src/models/cad-incident-stream.ts +31 -1
- package/src/models/cad-incident.ts +111 -1
- package/src/models/cad-simulation.ts +0 -2
- package/src/models/cad-status-map.ts +6 -1
- package/src/models/cad-status.ts +13 -2
- package/src/models/cad-vehicle-status-history.ts +47 -2
- package/src/models/cad-vehicle-status.ts +51 -3
- package/src/models/cad-vehicle.ts +35 -2
- package/src/models/chart-device-stats.ts +8 -1
- package/src/models/chart-incident.ts +14 -1
- package/src/models/chart-managed-incident.ts +22 -1
- package/src/models/chart-user.ts +14 -1
- package/src/models/checklist-item.ts +0 -1
- package/src/models/checklist.ts +28 -4
- package/src/models/csv-import.ts +7 -0
- package/src/models/department.ts +141 -8
- package/src/models/device-mapping.ts +19 -0
- package/src/models/esri.ts +7 -0
- package/src/models/incident-event.ts +45 -6
- package/src/models/incident-notified.ts +23 -1
- package/src/models/incident-takeover.ts +7 -1
- package/src/models/location.ts +133 -8
- package/src/models/mail-log.ts +6 -0
- package/src/models/managed-incident.ts +75 -4
- package/src/models/mark43-incident-retry.ts +0 -1
- package/src/models/message.ts +22 -1
- package/src/models/monitor.ts +17 -1
- package/src/models/personnel-import.ts +84 -0
- package/src/models/personnel-known.ts +9 -0
- package/src/models/rate-limit.ts +7 -0
- package/src/models/remote-log-stream.ts +0 -1
- package/src/models/remote-log.ts +0 -1
- package/src/models/schema/agency-saml.ts +1 -1
- package/src/models/schema/cad-incident.ts +0 -1
- package/src/models/session.ts +49 -6
- package/src/models/template.ts +17 -7
- package/src/models/user-device.ts +20 -0
- package/src/models/user-registration.ts +6 -1
- package/src/models/user.ts +65 -7
- package/src/models/validation-report.ts +7 -1
- package/src/test/location.ts +2 -2
- package/src/test/mock.ts +7 -2
- package/src/types/department.ts +17 -1
- package/test.sh +1 -1
@@ -15,7 +15,6 @@ export default async function UserRegistrationModule(mongoose: MongooseModule) {
|
|
15
15
|
type: String,
|
16
16
|
default: "",
|
17
17
|
required: true,
|
18
|
-
index: true,
|
19
18
|
},
|
20
19
|
name: {
|
21
20
|
type: String,
|
@@ -89,6 +88,12 @@ export default async function UserRegistrationModule(mongoose: MongooseModule) {
|
|
89
88
|
autoIndex: false
|
90
89
|
});
|
91
90
|
|
91
|
+
modelSchema.index({
|
92
|
+
email: 1,
|
93
|
+
}, {
|
94
|
+
name: "email_1",
|
95
|
+
});
|
96
|
+
|
92
97
|
return mongoose.model<UserRegistration>("UserRegistration", modelSchema, "massive_user_registration", { overwriteModels: true });
|
93
98
|
}
|
94
99
|
|
package/src/models/user.ts
CHANGED
@@ -36,12 +36,10 @@ export function UserSchema(mongoose: MongooseModule) {
|
|
36
36
|
nick: {
|
37
37
|
type: String,
|
38
38
|
default: "",
|
39
|
-
index: true,
|
40
39
|
},
|
41
40
|
email: {
|
42
41
|
type: String,
|
43
42
|
default: "",
|
44
|
-
index: true,
|
45
43
|
},
|
46
44
|
name: {
|
47
45
|
type: String,
|
@@ -55,7 +53,6 @@ export function UserSchema(mongoose: MongooseModule) {
|
|
55
53
|
type: String,
|
56
54
|
default: "",
|
57
55
|
required: true,
|
58
|
-
index: true,
|
59
56
|
},
|
60
57
|
modified_date: {
|
61
58
|
type: Date,
|
@@ -271,6 +268,10 @@ export function UserSchema(mongoose: MongooseModule) {
|
|
271
268
|
},
|
272
269
|
}, {
|
273
270
|
autoIndex: false,
|
271
|
+
toJSON: {
|
272
|
+
virtuals: true,
|
273
|
+
versionKey: false,
|
274
|
+
}
|
274
275
|
});
|
275
276
|
|
276
277
|
// NO _id on User schema?
|
@@ -278,11 +279,68 @@ export function UserSchema(mongoose: MongooseModule) {
|
|
278
279
|
return this._id.toHexString();
|
279
280
|
});
|
280
281
|
|
281
|
-
modelSchema.
|
282
|
-
|
283
|
-
|
282
|
+
modelSchema.index({
|
283
|
+
departmentId: 1,
|
284
|
+
}, {
|
285
|
+
name: "departmentId_1",
|
286
|
+
});
|
287
|
+
|
288
|
+
modelSchema.index({
|
289
|
+
departmentId: 1,
|
290
|
+
email: 1
|
291
|
+
}, {
|
292
|
+
name: "departmentId_1_email_1",
|
293
|
+
});
|
294
|
+
|
295
|
+
modelSchema.index({
|
296
|
+
departmentId: 1,
|
297
|
+
vehicle: 1
|
298
|
+
}, {
|
299
|
+
name: "departmentId_1_vehicle_1_partial",
|
300
|
+
partialFilterExpression: {
|
301
|
+
"vehicle": {
|
302
|
+
"$exists": true
|
303
|
+
}
|
304
|
+
}
|
305
|
+
});
|
306
|
+
|
307
|
+
modelSchema.index({
|
308
|
+
email: 1,
|
309
|
+
}, {
|
310
|
+
name: "email_1_unique",
|
311
|
+
unique: true,
|
284
312
|
});
|
285
313
|
|
314
|
+
modelSchema.index({
|
315
|
+
nick: 1,
|
316
|
+
}, {
|
317
|
+
name: "nick_1_unique",
|
318
|
+
unique: true,
|
319
|
+
});
|
320
|
+
|
321
|
+
// A field has to be defined as text and weight
|
322
|
+
modelSchema.index({
|
323
|
+
nick: "text",
|
324
|
+
email: "text",
|
325
|
+
name: "text",
|
326
|
+
}, {
|
327
|
+
name: "nick_text_email_text_name_text_mapId_text_arcGISAuth.username_text_vehicle.radioName_text",
|
328
|
+
weights: {
|
329
|
+
email: 10,
|
330
|
+
name: 1,
|
331
|
+
nick: 9,
|
332
|
+
},
|
333
|
+
textIndexVersion: 3,
|
334
|
+
language_override: "language",
|
335
|
+
default_language: "english",
|
336
|
+
});
|
337
|
+
|
338
|
+
modelSchema.index({
|
339
|
+
token: 1,
|
340
|
+
tokenExpireAt: 1
|
341
|
+
}, {
|
342
|
+
name: "token_1_tokenExpireAt_1",
|
343
|
+
});
|
286
344
|
|
287
345
|
return modelSchema;
|
288
346
|
}
|
@@ -292,4 +350,4 @@ export default async function UserModule(mongoose: MongooseModule) {
|
|
292
350
|
return mongoose.model<User>("User", modelSchema, "sys_user", { overwriteModels: true });
|
293
351
|
}
|
294
352
|
|
295
|
-
export interface UserModel extends Model<User> { }
|
353
|
+
export interface UserModel extends Model<User> { }
|
@@ -21,7 +21,6 @@ export function ValidationReportSchema(mongoose: MongooseModule) {
|
|
21
21
|
type: Schema.Types.ObjectId,
|
22
22
|
ref: "Department",
|
23
23
|
required: true,
|
24
|
-
unique: true,
|
25
24
|
},
|
26
25
|
location: {
|
27
26
|
type: [ValidationErrorItem],
|
@@ -59,6 +58,13 @@ export function ValidationReportSchema(mongoose: MongooseModule) {
|
|
59
58
|
autoIndex: false,
|
60
59
|
});
|
61
60
|
|
61
|
+
modelSchema.index({
|
62
|
+
departmentId: 1,
|
63
|
+
}, {
|
64
|
+
name: "departmentId_unique",
|
65
|
+
unique: true,
|
66
|
+
});
|
67
|
+
|
62
68
|
return modelSchema;
|
63
69
|
}
|
64
70
|
|
package/src/test/location.ts
CHANGED
@@ -18,6 +18,8 @@ describe("Location", function() {
|
|
18
18
|
mongoose
|
19
19
|
});
|
20
20
|
testItem = mock.location;
|
21
|
+
|
22
|
+
await mock.beforeEach();
|
21
23
|
});
|
22
24
|
afterEach(async function() {
|
23
25
|
await mongoose.disconnect();
|
@@ -74,8 +76,6 @@ describe("Location", function() {
|
|
74
76
|
|
75
77
|
const found = await models.Location.findOne(geoQuery);
|
76
78
|
assert.isObject(found);
|
77
|
-
|
78
|
-
await models.Location.collection.dropIndexes();
|
79
79
|
});
|
80
80
|
|
81
81
|
it("decodes .visibility", async function() {
|
package/src/test/mock.ts
CHANGED
@@ -22,8 +22,12 @@ export default function mockModule(dependencies: { mongoose: Mongoose; }) {
|
|
22
22
|
mongoose
|
23
23
|
} = dependencies;
|
24
24
|
|
25
|
+
const ObjectId = mongoose.Types.ObjectId;
|
26
|
+
|
27
|
+
const departmentId = new ObjectId().toString();
|
28
|
+
|
25
29
|
const mark43IncidentRetry = {
|
26
|
-
departmentId
|
30
|
+
departmentId,
|
27
31
|
incidentNumber: "abc123",
|
28
32
|
active: true,
|
29
33
|
mark43IncidentId: 123,
|
@@ -935,7 +939,7 @@ export default function mockModule(dependencies: { mongoose: Mongoose; }) {
|
|
935
939
|
|
936
940
|
const location = {
|
937
941
|
_id: new mongoose.Types.ObjectId(),
|
938
|
-
departmentId
|
942
|
+
departmentId,
|
939
943
|
userId: "542a40db20783c000000153d",
|
940
944
|
uuid: "92c8f732-52b7-46cc-855a-d54fddfe3172",
|
941
945
|
username: "E23",
|
@@ -1341,6 +1345,7 @@ export default function mockModule(dependencies: { mongoose: Mongoose; }) {
|
|
1341
1345
|
for (const coll of items ?? []) {
|
1342
1346
|
// console.log(`Emptying ${coll.collectionName}.`);
|
1343
1347
|
await coll.deleteMany({});
|
1348
|
+
await coll.dropIndexes();
|
1344
1349
|
}
|
1345
1350
|
}
|
1346
1351
|
|
package/src/types/department.ts
CHANGED
@@ -249,11 +249,26 @@ export interface ForwardingConnectionType {
|
|
249
249
|
description: string,
|
250
250
|
}
|
251
251
|
|
252
|
+
export interface VehicleStatusWebhookConnectionType {
|
253
|
+
active: boolean,
|
254
|
+
connectionType: string,
|
255
|
+
fields: ForwardFieldsType[],
|
256
|
+
apiUrl: string,
|
257
|
+
apiKey: string,
|
258
|
+
authType: string,
|
259
|
+
description: string,
|
260
|
+
}
|
261
|
+
|
252
262
|
export interface ForwardingConfigType {
|
253
263
|
enabled: boolean,
|
254
264
|
connections: ForwardingConnectionType[],
|
255
265
|
}
|
256
266
|
|
267
|
+
export interface VehicleStatusWebhookConfigType {
|
268
|
+
enabled: boolean,
|
269
|
+
connections: VehicleStatusWebhookConnectionType[],
|
270
|
+
}
|
271
|
+
|
257
272
|
export interface DepartmentType {
|
258
273
|
_id: Types.ObjectId,
|
259
274
|
id?: string,
|
@@ -385,5 +400,6 @@ export interface DepartmentType {
|
|
385
400
|
somewear: SomewearType,
|
386
401
|
cadBidirectionalException: boolean,
|
387
402
|
forwarding: ForwardingConfigType,
|
403
|
+
vehicleStatusWebhook: VehicleStatusWebhookConfigType,
|
388
404
|
reportOdometer: string,
|
389
|
-
}
|
405
|
+
}
|