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
|
+
}
|