tabletcommand-backend-models 7.3.39 → 7.4.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.
- package/build/constants.js +6 -6
- package/build/constants.js.map +1 -1
- package/build/helpers.js.map +1 -1
- package/build/models/agency.js +1 -1
- package/build/models/agency.js.map +1 -1
- package/build/models/battalion.js.map +1 -1
- package/build/models/cad-incident.js +3 -3
- package/build/models/cad-incident.js.map +1 -1
- package/build/models/cad-vehicle-status.js.map +1 -1
- package/build/models/chart-device-stats.js +1 -1
- package/build/models/chart-device-stats.js.map +1 -1
- package/build/models/chart-incident.js.map +1 -1
- package/build/models/chart-managed-incident.js.map +1 -1
- package/build/models/checklist-item.js.map +1 -1
- package/build/models/department.js +173 -173
- package/build/models/department.js.map +1 -1
- package/build/models/device-mapping.js.map +1 -1
- package/build/models/gst-mapping.js.map +1 -1
- package/build/models/incident-event.js +1 -1
- package/build/models/incident-event.js.map +1 -1
- package/build/models/location.js +2 -2
- package/build/models/location.js.map +1 -1
- package/build/models/personnel-known.js +5 -1
- package/build/models/personnel-known.js.map +1 -1
- package/build/models/remote-log-stream.js +1 -1
- package/build/models/remote-log-stream.js.map +1 -1
- package/build/models/remote-log.js +1 -1
- package/build/models/remote-log.js.map +1 -1
- package/build/models/schema/cad-incident.js.map +1 -1
- package/build/models/schema/common-incident.js +1 -1
- package/build/models/schema/common-incident.js.map +1 -1
- package/build/models/sms-log.js.map +1 -1
- package/build/models/user-device.js +1 -1
- package/build/models/user-device.js.map +1 -1
- package/build/models/user.js +3 -3
- package/build/models/user.js.map +1 -1
- package/build/test/cad-status.js.map +1 -1
- package/build/test/device-mapping.js.map +1 -1
- package/build/test/mock.js +204 -203
- package/build/test/mock.js.map +1 -1
- package/build/test/personnel-import.js.map +1 -1
- package/build/test/release-note.js.map +1 -1
- package/definitions/helpers.d.ts.map +1 -1
- package/definitions/index.d.ts +203 -97
- package/definitions/index.d.ts.map +1 -1
- package/definitions/models/action-log.d.ts +4 -2
- package/definitions/models/action-log.d.ts.map +1 -1
- package/definitions/models/agency.d.ts +11 -5
- package/definitions/models/agency.d.ts.map +1 -1
- package/definitions/models/arcgis-group.d.ts +3 -1
- package/definitions/models/arcgis-group.d.ts.map +1 -1
- package/definitions/models/assignment.d.ts +4 -2
- package/definitions/models/assignment.d.ts.map +1 -1
- package/definitions/models/battalion.d.ts +11 -5
- package/definitions/models/battalion.d.ts.map +1 -1
- package/definitions/models/beacon-log.d.ts +4 -2
- package/definitions/models/beacon-log.d.ts.map +1 -1
- package/definitions/models/cad-incident-block.d.ts +4 -2
- package/definitions/models/cad-incident-block.d.ts.map +1 -1
- package/definitions/models/cad-incident-stream.d.ts +4 -2
- package/definitions/models/cad-incident-stream.d.ts.map +1 -1
- package/definitions/models/cad-incident.d.ts +4 -2
- package/definitions/models/cad-incident.d.ts.map +1 -1
- package/definitions/models/cad-simulation.d.ts +3 -1
- package/definitions/models/cad-simulation.d.ts.map +1 -1
- package/definitions/models/cad-status-map.d.ts +3 -1
- package/definitions/models/cad-status-map.d.ts.map +1 -1
- package/definitions/models/cad-status.d.ts +3 -1
- package/definitions/models/cad-status.d.ts.map +1 -1
- package/definitions/models/cad-vehicle-status-history.d.ts +3 -1
- package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
- package/definitions/models/cad-vehicle-status.d.ts +3 -1
- package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
- package/definitions/models/cad-vehicle.d.ts +3 -1
- package/definitions/models/cad-vehicle.d.ts.map +1 -1
- package/definitions/models/chart-device-stats.d.ts +4 -2
- package/definitions/models/chart-device-stats.d.ts.map +1 -1
- package/definitions/models/chart-incident.d.ts +4 -2
- package/definitions/models/chart-incident.d.ts.map +1 -1
- package/definitions/models/chart-managed-incident.d.ts +4 -2
- package/definitions/models/chart-managed-incident.d.ts.map +1 -1
- package/definitions/models/chart-user.d.ts +4 -2
- package/definitions/models/chart-user.d.ts.map +1 -1
- package/definitions/models/checklist-item.d.ts +11 -5
- package/definitions/models/checklist-item.d.ts.map +1 -1
- package/definitions/models/checklist.d.ts +11 -5
- package/definitions/models/checklist.d.ts.map +1 -1
- package/definitions/models/csv-import.d.ts +4 -2
- package/definitions/models/csv-import.d.ts.map +1 -1
- package/definitions/models/department.d.ts +4 -2
- package/definitions/models/department.d.ts.map +1 -1
- package/definitions/models/device-mapping.d.ts +4 -2
- package/definitions/models/device-mapping.d.ts.map +1 -1
- package/definitions/models/esri.d.ts +11 -5
- package/definitions/models/esri.d.ts.map +1 -1
- package/definitions/models/gst-mapping.d.ts +4 -2
- package/definitions/models/gst-mapping.d.ts.map +1 -1
- package/definitions/models/incident-event.d.ts +11 -5
- package/definitions/models/incident-event.d.ts.map +1 -1
- package/definitions/models/incident-filter.d.ts +4 -2
- package/definitions/models/incident-filter.d.ts.map +1 -1
- package/definitions/models/incident-notified.d.ts +4 -2
- package/definitions/models/incident-notified.d.ts.map +1 -1
- package/definitions/models/incident-share-code.d.ts +4 -2
- package/definitions/models/incident-share-code.d.ts.map +1 -1
- package/definitions/models/incident-takeover.d.ts +4 -2
- package/definitions/models/incident-takeover.d.ts.map +1 -1
- package/definitions/models/job-log.d.ts +4 -2
- package/definitions/models/job-log.d.ts.map +1 -1
- package/definitions/models/location.d.ts +4 -2
- package/definitions/models/location.d.ts.map +1 -1
- package/definitions/models/mail-log.d.ts +4 -2
- package/definitions/models/mail-log.d.ts.map +1 -1
- package/definitions/models/managed-incident.d.ts +4 -2
- package/definitions/models/managed-incident.d.ts.map +1 -1
- package/definitions/models/mark43-incident-retry.d.ts +3 -1
- package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
- package/definitions/models/message.d.ts +4 -2
- package/definitions/models/message.d.ts.map +1 -1
- package/definitions/models/monitor.d.ts +4 -2
- package/definitions/models/monitor.d.ts.map +1 -1
- package/definitions/models/personnel-import.d.ts +11 -5
- package/definitions/models/personnel-import.d.ts.map +1 -1
- package/definitions/models/personnel-known.d.ts +11 -5
- package/definitions/models/personnel-known.d.ts.map +1 -1
- package/definitions/models/personnel-roster.d.ts +11 -5
- package/definitions/models/personnel-roster.d.ts.map +1 -1
- package/definitions/models/rate-limit.d.ts +4 -2
- package/definitions/models/rate-limit.d.ts.map +1 -1
- package/definitions/models/release-note.d.ts +4 -2
- package/definitions/models/release-note.d.ts.map +1 -1
- package/definitions/models/remote-log-stream.d.ts +4 -2
- package/definitions/models/remote-log-stream.d.ts.map +1 -1
- package/definitions/models/remote-log.d.ts +4 -2
- package/definitions/models/remote-log.d.ts.map +1 -1
- package/definitions/models/schema/agency-cron-config.d.ts +6 -2
- package/definitions/models/schema/agency-cron-config.d.ts.map +1 -1
- package/definitions/models/schema/agency-saml.d.ts +6 -2
- package/definitions/models/schema/agency-saml.d.ts.map +1 -1
- package/definitions/models/schema/cad-incident.d.ts +7 -3
- package/definitions/models/schema/cad-incident.d.ts.map +1 -1
- package/definitions/models/schema/cad-status-option-selected.d.ts +6 -2
- package/definitions/models/schema/cad-status-option-selected.d.ts.map +1 -1
- package/definitions/models/schema/color.d.ts +6 -2
- package/definitions/models/schema/color.d.ts.map +1 -1
- package/definitions/models/schema/common-incident.d.ts +54 -18
- package/definitions/models/schema/common-incident.d.ts.map +1 -1
- package/definitions/models/schema/esri-auth.d.ts +6 -2
- package/definitions/models/schema/esri-auth.d.ts.map +1 -1
- package/definitions/models/schema/esri-error.d.ts +6 -2
- package/definitions/models/schema/esri-error.d.ts.map +1 -1
- package/definitions/models/schema/esri-map.d.ts +6 -2
- package/definitions/models/schema/esri-map.d.ts.map +1 -1
- package/definitions/models/schema/firemapper-auth.d.ts +6 -2
- package/definitions/models/schema/firemapper-auth.d.ts.map +1 -1
- package/definitions/models/schema/geojson.d.ts +12 -4
- package/definitions/models/schema/geojson.d.ts.map +1 -1
- package/definitions/models/schema/oauth.d.ts +6 -2
- package/definitions/models/schema/oauth.d.ts.map +1 -1
- package/definitions/models/schema/pubnub-token.d.ts +6 -2
- package/definitions/models/schema/pubnub-token.d.ts.map +1 -1
- package/definitions/models/schema/remote-file.d.ts +6 -2
- package/definitions/models/schema/remote-file.d.ts.map +1 -1
- package/definitions/models/schema/validation-error-item.d.ts +6 -2
- package/definitions/models/schema/validation-error-item.d.ts.map +1 -1
- package/definitions/models/schema/webhook.d.ts +18 -6
- package/definitions/models/schema/webhook.d.ts.map +1 -1
- package/definitions/models/session.d.ts +4 -2
- package/definitions/models/session.d.ts.map +1 -1
- package/definitions/models/sms-log.d.ts +4 -2
- package/definitions/models/sms-log.d.ts.map +1 -1
- package/definitions/models/smtp-unhandled.d.ts +4 -2
- package/definitions/models/smtp-unhandled.d.ts.map +1 -1
- package/definitions/models/template.d.ts +11 -5
- package/definitions/models/template.d.ts.map +1 -1
- package/definitions/models/user-device.d.ts +4 -2
- package/definitions/models/user-device.d.ts.map +1 -1
- package/definitions/models/user-registration.d.ts +3 -1
- package/definitions/models/user-registration.d.ts.map +1 -1
- package/definitions/models/user.d.ts +11 -5
- package/definitions/models/user.d.ts.map +1 -1
- package/definitions/models/validation-report.d.ts +11 -5
- package/definitions/models/validation-report.d.ts.map +1 -1
- package/definitions/test/mock.d.ts +1 -0
- package/definitions/test/mock.d.ts.map +1 -1
- package/definitions/types/chart.d.ts +5 -9
- package/definitions/types/chart.d.ts.map +1 -1
- package/definitions/types/department.d.ts.map +1 -1
- package/definitions/types/esri.d.ts.map +1 -1
- package/definitions/types/geojson.d.ts.map +1 -1
- package/definitions/types/personnel.d.ts +0 -4
- package/definitions/types/personnel.d.ts.map +1 -1
- package/definitions/types/sms-log.d.ts.map +1 -1
- package/definitions/types/validation.d.ts.map +1 -1
- package/eslint.config.mjs +51 -31
- package/package.json +13 -12
- package/src/constants.ts +6 -6
- package/src/helpers.ts +16 -17
- package/src/models/action-log.ts +1 -1
- package/src/models/agency.ts +2 -2
- package/src/models/arcgis-group.ts +1 -1
- package/src/models/assignment.ts +1 -1
- package/src/models/battalion.ts +4 -4
- package/src/models/beacon-log.ts +1 -1
- package/src/models/cad-incident-block.ts +1 -1
- package/src/models/cad-incident-stream.ts +1 -1
- package/src/models/cad-incident.ts +3 -3
- package/src/models/cad-simulation.ts +1 -1
- package/src/models/cad-status-map.ts +1 -1
- package/src/models/cad-status.ts +1 -1
- package/src/models/cad-vehicle-status-history.ts +1 -1
- package/src/models/cad-vehicle-status.ts +2 -2
- package/src/models/cad-vehicle.ts +1 -1
- package/src/models/chart-device-stats.ts +4 -4
- package/src/models/chart-incident.ts +3 -3
- package/src/models/chart-managed-incident.ts +3 -3
- package/src/models/chart-user.ts +1 -1
- package/src/models/checklist-item.ts +1 -2
- package/src/models/checklist.ts +1 -1
- package/src/models/csv-import.ts +1 -1
- package/src/models/department.ts +173 -173
- package/src/models/device-mapping.ts +2 -2
- package/src/models/esri.ts +1 -1
- package/src/models/gst-mapping.ts +2 -2
- package/src/models/incident-event.ts +2 -2
- package/src/models/incident-notified.ts +1 -1
- package/src/models/incident-takeover.ts +1 -1
- package/src/models/location.ts +2 -2
- package/src/models/mail-log.ts +1 -1
- package/src/models/mark43-incident-retry.ts +1 -1
- package/src/models/message.ts +1 -1
- package/src/models/monitor.ts +1 -1
- package/src/models/personnel-import.ts +1 -1
- package/src/models/personnel-known.ts +6 -2
- package/src/models/personnel-roster.ts +1 -1
- package/src/models/rate-limit.ts +1 -1
- package/src/models/remote-log-stream.ts +1 -1
- package/src/models/remote-log.ts +2 -2
- package/src/models/schema/agency-saml.ts +1 -1
- package/src/models/schema/cad-incident.ts +0 -1
- package/src/models/schema/common-incident.ts +1 -1
- package/src/models/schema/webhook.ts +3 -3
- package/src/models/session.ts +1 -1
- package/src/models/sms-log.ts +51 -51
- package/src/models/smtp-unhandled.ts +1 -1
- package/src/models/template.ts +1 -1
- package/src/models/user-device.ts +2 -2
- package/src/models/user-registration.ts +1 -1
- package/src/models/user.ts +3 -3
- package/src/models/validation-report.ts +1 -1
- package/src/test/cad-status.ts +0 -1
- package/src/test/csv-import.ts +0 -1
- package/src/test/device-mapping.ts +0 -1
- package/src/test/mock.ts +204 -205
- package/src/test/personnel-import.ts +0 -2
- package/src/test/release-note.ts +1 -2
- package/src/types/action-log.ts +1 -1
- package/src/types/chart.ts +6 -10
- package/src/types/checklist.ts +1 -1
- package/src/types/color.ts +1 -1
- package/src/types/department.ts +4 -4
- package/src/types/esri.ts +0 -1
- package/src/types/geojson.ts +0 -1
- package/src/types/incident-events.ts +1 -1
- package/src/types/personnel.ts +1 -6
- package/src/types/sms-log.ts +10 -10
- package/src/types/validation.ts +0 -1
- package/test-legacy/0index.js +0 -72
- package/test-legacy/action-log.js +0 -42
- package/test-legacy/agency.js +0 -42
- package/test-legacy/arcgis-group.js +0 -69
- package/test-legacy/assignment.js +0 -42
- package/test-legacy/battalion.js +0 -43
- package/test-legacy/cad-incident-block.js +0 -44
- package/test-legacy/cad-incident.js +0 -161
- package/test-legacy/cad-simulation.js +0 -34
- package/test-legacy/cad-status-map.js +0 -38
- package/test-legacy/cad-status.js +0 -53
- package/test-legacy/cad-vehicle-status-history.js +0 -36
- package/test-legacy/cad-vehicle-status.js +0 -44
- package/test-legacy/cad-vehicle.js +0 -39
- package/test-legacy/checklist-item.js +0 -44
- package/test-legacy/checklist.js +0 -45
- package/test-legacy/config.js +0 -15
- package/test-legacy/csv-import.js +0 -45
- package/test-legacy/department.js +0 -81
- package/test-legacy/device-mapping.js +0 -40
- package/test-legacy/esri.js +0 -69
- package/test-legacy/gst-mapping.js +0 -39
- package/test-legacy/helpers.js +0 -15
- package/test-legacy/incident-event.js +0 -54
- package/test-legacy/incident-notified.js +0 -38
- package/test-legacy/incident-takeover.js +0 -40
- package/test-legacy/job-log.js +0 -38
- package/test-legacy/location.js +0 -80
- package/test-legacy/mail-log.js +0 -48
- package/test-legacy/managed-incident.js +0 -117
- package/test-legacy/mark43-incident-retry.js +0 -35
- package/test-legacy/message.js +0 -40
- package/test-legacy/mock.js +0 -1285
- package/test-legacy/monitor.js +0 -36
- package/test-legacy/personnel-import.js +0 -51
- package/test-legacy/rate-limit.js +0 -34
- package/test-legacy/release-note.js +0 -36
- package/test-legacy/session.js +0 -44
- package/test-legacy/template.js +0 -45
- package/test-legacy/user-device.js +0 -56
- package/test-legacy/user-registration.js +0 -46
- package/test-legacy/user.js +0 -54
- package/test-legacy/validation-report.js +0 -34
package/test-legacy/mock.js
DELETED
@@ -1,1285 +0,0 @@
|
|
1
|
-
module.exports = function mockModule(dependencies) {
|
2
|
-
"use strict";
|
3
|
-
|
4
|
-
const uuid = require("uuid");
|
5
|
-
|
6
|
-
function shouldRun() {
|
7
|
-
const mongoUrl = process.env.NODE_MONGO_URL || "";
|
8
|
-
if (!/massive-test/i.exec(mongoUrl)) {
|
9
|
-
console.log(`Not a test database: ${mongoUrl}? Expecting database: massive-test.`);
|
10
|
-
return false;
|
11
|
-
}
|
12
|
-
return true;
|
13
|
-
}
|
14
|
-
|
15
|
-
if (!shouldRun()) {
|
16
|
-
process.exit(1);
|
17
|
-
}
|
18
|
-
|
19
|
-
const {
|
20
|
-
models,
|
21
|
-
mongoose
|
22
|
-
} = dependencies;
|
23
|
-
|
24
|
-
const mark43IncidentRetry = {
|
25
|
-
departmentId: "123",
|
26
|
-
incidentNumber: "abc123",
|
27
|
-
active: true,
|
28
|
-
mark43IncidentId: 123,
|
29
|
-
attempts: 0,
|
30
|
-
created: new Date(),
|
31
|
-
modified: new Date(),
|
32
|
-
retryPayload: {
|
33
|
-
departmentId: 4321,
|
34
|
-
activityType: "EVENT_CREATED",
|
35
|
-
relatedEvent: {
|
36
|
-
mark43Id: 1234,
|
37
|
-
cadAgencyEventNumber: "1234"
|
38
|
-
}
|
39
|
-
}
|
40
|
-
};
|
41
|
-
|
42
|
-
const actionLog = {
|
43
|
-
departmentId: "d1234",
|
44
|
-
email: "hello@example.com",
|
45
|
-
action: "someAction",
|
46
|
-
userId: "1234",
|
47
|
-
object: {
|
48
|
-
vehicleId: "v1171",
|
49
|
-
radioName: "E10"
|
50
|
-
},
|
51
|
-
before: {
|
52
|
-
test: "test1"
|
53
|
-
},
|
54
|
-
after: {
|
55
|
-
test: "test2"
|
56
|
-
},
|
57
|
-
delta: {
|
58
|
-
test: "test2"
|
59
|
-
}
|
60
|
-
};
|
61
|
-
|
62
|
-
const jobLog = {
|
63
|
-
host: "TestHost-01",
|
64
|
-
jobName: "Test Job 1",
|
65
|
-
state: "ready",
|
66
|
-
bidDate: new Date(),
|
67
|
-
startDate: new Date(),
|
68
|
-
completedDate: new Date(),
|
69
|
-
forceClosed: false
|
70
|
-
};
|
71
|
-
|
72
|
-
const releaseNote = {
|
73
|
-
title: "test note",
|
74
|
-
notes: "long form note...",
|
75
|
-
version: "1.94.0",
|
76
|
-
releaseDate: new Date(),
|
77
|
-
status: "draft"
|
78
|
-
};
|
79
|
-
|
80
|
-
const cadSimulation = {
|
81
|
-
"departmentId": "123",
|
82
|
-
"active": true,
|
83
|
-
"friendlyId": "test-1",
|
84
|
-
"modifiedDate": 1544771122.997,
|
85
|
-
"modified": new Date(),
|
86
|
-
"title": "Structure Fire with Confirming stills and Rescues",
|
87
|
-
"notes": "3 story apartment building ",
|
88
|
-
"simulation": true,
|
89
|
-
"notify": true,
|
90
|
-
"rts": true,
|
91
|
-
"tags":
|
92
|
-
[],
|
93
|
-
"incidentType": "Structure Fire ",
|
94
|
-
"streetName": "123 test Blvd.",
|
95
|
-
"locationComment": "3 Story Apartment building ",
|
96
|
-
"suite": "Apartment Building",
|
97
|
-
"CrossStreet1": "321 Ave",
|
98
|
-
"city": "Test",
|
99
|
-
"state": "Ca",
|
100
|
-
"lat": "55.784387",
|
101
|
-
"lon": "-122.228394",
|
102
|
-
"firemap": "",
|
103
|
-
"mapPages": "",
|
104
|
-
"tacticalChannel": "Test 2 ",
|
105
|
-
"commandChannel": "",
|
106
|
-
"radioChannels":
|
107
|
-
[],
|
108
|
-
"closeDelay": 1800,
|
109
|
-
"priorIncidents": [],
|
110
|
-
"randomPriorIncidents": false,
|
111
|
-
"randomStaffing": false,
|
112
|
-
"sequences":
|
113
|
-
[
|
114
|
-
{
|
115
|
-
"title": "test Alarm ",
|
116
|
-
"alarm": "1",
|
117
|
-
"sequenceId": 0,
|
118
|
-
"unitsConfig": {
|
119
|
-
"alarmLevelAtDispatch": "1",
|
120
|
-
"units":
|
121
|
-
[
|
122
|
-
"E13",
|
123
|
-
"E4",
|
124
|
-
"E18",
|
125
|
-
"E16",
|
126
|
-
"T2",
|
127
|
-
"T6",
|
128
|
-
"B4",
|
129
|
-
"B2"
|
130
|
-
]
|
131
|
-
},
|
132
|
-
"comments":
|
133
|
-
[
|
134
|
-
{
|
135
|
-
"comment": "4-2-2 alarm assignment ",
|
136
|
-
"source": "DISP2"
|
137
|
-
}
|
138
|
-
]
|
139
|
-
},
|
140
|
-
{
|
141
|
-
"title": "2nd Alarm ",
|
142
|
-
"alarm": "2",
|
143
|
-
"sequenceId": 1,
|
144
|
-
"unitsConfig": {
|
145
|
-
"alarmLevelAtDispatch": "2",
|
146
|
-
"units":
|
147
|
-
[
|
148
|
-
"E17",
|
149
|
-
"E12",
|
150
|
-
"E29",
|
151
|
-
"T1",
|
152
|
-
"B3"
|
153
|
-
]
|
154
|
-
}
|
155
|
-
},
|
156
|
-
{
|
157
|
-
"title": "3 Alarm ",
|
158
|
-
"alarm": "3",
|
159
|
-
"sequenceId": 2,
|
160
|
-
"unitsConfig": {
|
161
|
-
"alarmLevelAtDispatch": "3",
|
162
|
-
"units":
|
163
|
-
[
|
164
|
-
"E1",
|
165
|
-
"E2",
|
166
|
-
"E25",
|
167
|
-
"T4"
|
168
|
-
]
|
169
|
-
}
|
170
|
-
}
|
171
|
-
]
|
172
|
-
};
|
173
|
-
|
174
|
-
const agency = {
|
175
|
-
_id: new mongoose.Types.ObjectId(),
|
176
|
-
departmentId: new mongoose.Types.ObjectId("56131f724143487a10000001"),
|
177
|
-
code: "TC",
|
178
|
-
name: "Tablet Command",
|
179
|
-
active: true,
|
180
|
-
administrators: [
|
181
|
-
new mongoose.Types.ObjectId()
|
182
|
-
],
|
183
|
-
personnelIntegration: true,
|
184
|
-
personnelMonitorHours: 24,
|
185
|
-
crossStaffing: [
|
186
|
-
{
|
187
|
-
radioName: "E1",
|
188
|
-
crossStaffedUnits: ["E2", "E3"],
|
189
|
-
alwaysCrossStaff: true
|
190
|
-
}
|
191
|
-
]
|
192
|
-
};
|
193
|
-
|
194
|
-
const arcGISGroup = {
|
195
|
-
access: "private",
|
196
|
-
linkedDepartments: [
|
197
|
-
{
|
198
|
-
department: "Demo RTS Fire Department",
|
199
|
-
departmentId: "558365a198b2fa4278000053",
|
200
|
-
authUsername: "tabletcmd",
|
201
|
-
authError: null,
|
202
|
-
users: [
|
203
|
-
//
|
204
|
-
{
|
205
|
-
username: "tc_someone",
|
206
|
-
email: "hello@tc.com",
|
207
|
-
userId: "558365a198a2aa42780000aa",
|
208
|
-
}
|
209
|
-
]
|
210
|
-
}
|
211
|
-
],
|
212
|
-
externalOrgIds: [
|
213
|
-
"MyTOuXKXZoizaaa"
|
214
|
-
],
|
215
|
-
groupId: "c5d013e197244577a583c49984d319d9",
|
216
|
-
outsiders: [
|
217
|
-
{
|
218
|
-
fullName: "Michael Kallum",
|
219
|
-
memberType: "member",
|
220
|
-
orgId: "MyTOuXKXZoizaaa",
|
221
|
-
username: "Michael_Kallum"
|
222
|
-
}
|
223
|
-
],
|
224
|
-
owner: "jane_tabletcommand",
|
225
|
-
protected: true,
|
226
|
-
title: "TC - City of Fire Department",
|
227
|
-
users: [
|
228
|
-
{
|
229
|
-
fullName: "Jane Serrano",
|
230
|
-
memberType: "admin",
|
231
|
-
orgId: "zGXMcUaDlMGoAAAg",
|
232
|
-
username: "jane_tabletcommand"
|
233
|
-
},
|
234
|
-
]
|
235
|
-
};
|
236
|
-
|
237
|
-
const assignment = {
|
238
|
-
position: 1,
|
239
|
-
active: true,
|
240
|
-
name: "Vertical Test",
|
241
|
-
userId: "1234",
|
242
|
-
departmentId: "4321",
|
243
|
-
description: "testing",
|
244
|
-
isMandatory: false,
|
245
|
-
};
|
246
|
-
|
247
|
-
const battalionUnit = {
|
248
|
-
name: "BattalionUnit Test",
|
249
|
-
friendly_id: "B1",
|
250
|
-
local_id: 321,
|
251
|
-
personnel: 4,
|
252
|
-
position: 1,
|
253
|
-
active: true,
|
254
|
-
isMandatory: false,
|
255
|
-
departmentId: "123",
|
256
|
-
userId: "123",
|
257
|
-
api_battalion_id: "123",
|
258
|
-
battalion_uuid: "",
|
259
|
-
battalion_name: "",
|
260
|
-
};
|
261
|
-
|
262
|
-
const battalion = {
|
263
|
-
name: "Battalion Test",
|
264
|
-
active: true,
|
265
|
-
isMandatory: false,
|
266
|
-
userId: "123",
|
267
|
-
departmentId: 123,
|
268
|
-
AgencyId: new mongoose.Types.ObjectId(agency._id),
|
269
|
-
position: 1,
|
270
|
-
units: [battalionUnit]
|
271
|
-
};
|
272
|
-
|
273
|
-
const checklistId = new mongoose.Types.ObjectId();
|
274
|
-
const checklistUUID = "150cf1ca-ffbb-42c9-bd4c-fd64be45d888";
|
275
|
-
|
276
|
-
const checklistItem = {
|
277
|
-
_id: new mongoose.Types.ObjectId(),
|
278
|
-
uuid: "150cf1ca-ffbb-42c9-bd4c-fd64be45d887",
|
279
|
-
checklist_uuid: checklistUUID,
|
280
|
-
position: 1,
|
281
|
-
active: true,
|
282
|
-
name: "TC Test Item",
|
283
|
-
checked: 0,
|
284
|
-
api_checklist_id: checklistId,
|
285
|
-
userId: "1234",
|
286
|
-
departmentId: "4321",
|
287
|
-
local_id: 1,
|
288
|
-
isMandatory: true,
|
289
|
-
description: "Testing Description"
|
290
|
-
};
|
291
|
-
|
292
|
-
const checklist = {
|
293
|
-
_id: checklistId,
|
294
|
-
uuid: checklistUUID,
|
295
|
-
position: 1,
|
296
|
-
active: true,
|
297
|
-
name: "TC Test",
|
298
|
-
userId: "1234",
|
299
|
-
departmentId: "4321",
|
300
|
-
local_id: 1,
|
301
|
-
isMandatory: true,
|
302
|
-
agencyId: new mongoose.Types.ObjectId(agency._id),
|
303
|
-
items: [checklistItem]
|
304
|
-
};
|
305
|
-
|
306
|
-
const mailLog = {
|
307
|
-
mailId: "1234",
|
308
|
-
event: "delivery",
|
309
|
-
timestamp: 1553199671,
|
310
|
-
recipient: "test@tabletcommand.com",
|
311
|
-
recipientDomain: "tabletcommand.com",
|
312
|
-
tags: ["create account"],
|
313
|
-
deliveryStatus: {},
|
314
|
-
message: {},
|
315
|
-
flags: {},
|
316
|
-
envelope: {},
|
317
|
-
logLevel: "info",
|
318
|
-
reason: "Message Sent",
|
319
|
-
severity: "Mild"
|
320
|
-
};
|
321
|
-
|
322
|
-
const message = {
|
323
|
-
departmentId: "d1234",
|
324
|
-
"active": false,
|
325
|
-
"title": "Upgrade App",
|
326
|
-
"body": "Application out of date.",
|
327
|
-
"actionTitle": "Upgrade App",
|
328
|
-
"color": null,
|
329
|
-
"url": "",
|
330
|
-
"priority": 4,
|
331
|
-
"type": {
|
332
|
-
"type": "upgradeApp",
|
333
|
-
"typeOpts": {
|
334
|
-
"major": 3,
|
335
|
-
"minor": 0,
|
336
|
-
"patch": 1
|
337
|
-
}
|
338
|
-
},
|
339
|
-
"created": new Date().toISOString(),
|
340
|
-
"uuid": "138acffd-a94f-402d-87b3-ff6ed31a19dc",
|
341
|
-
"requestId": "138acffd-a94f-402d-87b3-ff6ed31a19db",
|
342
|
-
};
|
343
|
-
|
344
|
-
const cadIncident = {
|
345
|
-
_id: new mongoose.Types.ObjectId(),
|
346
|
-
uuid: "150cf1ca-ffbb-42c9-bd4c-fd64be45d679",
|
347
|
-
departmentId: "56131f724143487a10000001",
|
348
|
-
AgencyID: "BDC",
|
349
|
-
IncidentNumber: "19-058314",
|
350
|
-
TransactionID: "15532010710000",
|
351
|
-
AgencyIncidentCallTypeDescription: "AT - Ambulance Transport",
|
352
|
-
StreetName: "College",
|
353
|
-
StreetSuffix: "Court",
|
354
|
-
Predirectional: "North",
|
355
|
-
Postdirectional: "Late",
|
356
|
-
CityOrLocality: "San Francisco",
|
357
|
-
Floor: "2",
|
358
|
-
Suite: "AA",
|
359
|
-
City: "San Francisco",
|
360
|
-
Building: "E",
|
361
|
-
StateOrProvince: "CA",
|
362
|
-
CommonPlaceName: "VALLEY VIEW MEDICAL CENTER",
|
363
|
-
LocationComment: "VALLEY VIEW MEDICAL CENTER",
|
364
|
-
CrossStreet1: "FIVE MILE RD",
|
365
|
-
CrossStreet2: "No X-Street",
|
366
|
-
cross_streets: "FIVE MILE RD/No X-Street",
|
367
|
-
PostalCode: "29191",
|
368
|
-
CallerNumber: "0192-122-299",
|
369
|
-
PriorIncidentChanged: true,
|
370
|
-
PriorIncident: [
|
371
|
-
//
|
372
|
-
{
|
373
|
-
IncidentNumber: "19-042678",
|
374
|
-
IncidentDateTime: "2019-03-01T01:56:54-08:00",
|
375
|
-
Problem: "Problem Abcd",
|
376
|
-
Address: "5330 Us 95 Hwy S",
|
377
|
-
Suite: "83",
|
378
|
-
Jurisdiction: "San Bernardino County",
|
379
|
-
Comment: [
|
380
|
-
//
|
381
|
-
{
|
382
|
-
Comment: "[1] Call Appended to Incident number 19-042593",
|
383
|
-
CommentSource: "G8724",
|
384
|
-
CommentDateTime: "2019-03-01T01:59:57-08:00"
|
385
|
-
}
|
386
|
-
]
|
387
|
-
}
|
388
|
-
],
|
389
|
-
Latitude: "34.788611",
|
390
|
-
Longitude: "-114.549444",
|
391
|
-
Comment: [
|
392
|
-
//
|
393
|
-
{
|
394
|
-
Comment: "(1) VALLEY VIEW ICU TO SUNRISE ICU",
|
395
|
-
CommentSource: "H6577",
|
396
|
-
CommentDateTime: "2019-03-21T13:21:08-07:00"
|
397
|
-
}
|
398
|
-
],
|
399
|
-
units: [
|
400
|
-
//
|
401
|
-
{
|
402
|
-
UnitDispatchNumber: 4067677,
|
403
|
-
UnitID: "MA31",
|
404
|
-
TimeDispatched: "2019-03-21T13:21:22-07:00",
|
405
|
-
Personnel: [
|
406
|
-
{
|
407
|
-
"PersonnelID": "X14",
|
408
|
-
"PersonnelName": "Mary Smith",
|
409
|
-
"PersonnelNote": "X",
|
410
|
-
"PersonnelRank": "Captain",
|
411
|
-
"PersonnelWorkCode": "TRD"
|
412
|
-
},
|
413
|
-
{
|
414
|
-
"PersonnelID": "Y21",
|
415
|
-
"PersonnelName": "Nicholas Santos",
|
416
|
-
"PersonnelNote": "Y",
|
417
|
-
"PersonnelRank": "PM",
|
418
|
-
"PersonnelWorkCode": "REG"
|
419
|
-
}
|
420
|
-
]
|
421
|
-
}
|
422
|
-
],
|
423
|
-
preference_location: "address",
|
424
|
-
EntryDateTime: "2019-03-21T13:21:11-07:00",
|
425
|
-
ClosedDateTime: "",
|
426
|
-
closed_unix_date: 0,
|
427
|
-
start_unix_date: 1553199671,
|
428
|
-
modified_unix_date: 1553201071.636,
|
429
|
-
|
430
|
-
// Share incident properties
|
431
|
-
ReportNumber: [
|
432
|
-
//
|
433
|
-
{
|
434
|
-
"name": "A",
|
435
|
-
"number": "07-0351"
|
436
|
-
},
|
437
|
-
{
|
438
|
-
"name": "B",
|
439
|
-
"number": "UM-02210"
|
440
|
-
}
|
441
|
-
],
|
442
|
-
radioChannels: [
|
443
|
-
//
|
444
|
-
{
|
445
|
-
"name": "CMD",
|
446
|
-
"channel": "LOCAL Tone: 3",
|
447
|
-
"url": "http://example.com/stream1"
|
448
|
-
},
|
449
|
-
{
|
450
|
-
"name": "TAC",
|
451
|
-
"channel": "CDF TAC 10",
|
452
|
-
"url": "http://example.com/stream2"
|
453
|
-
}
|
454
|
-
],
|
455
|
-
record: {
|
456
|
-
"name": "John",
|
457
|
-
"value": "Smith",
|
458
|
-
},
|
459
|
-
sharedSource: {
|
460
|
-
isExternal: true,
|
461
|
-
name: "Demo RTS Fire Department",
|
462
|
-
reasons: [
|
463
|
-
{
|
464
|
-
date: "2024-05-03T00:00:00.000Z",
|
465
|
-
name: "Unit B10 assigned"
|
466
|
-
}
|
467
|
-
]
|
468
|
-
},
|
469
|
-
sharedTo: [
|
470
|
-
//
|
471
|
-
{
|
472
|
-
active: true,
|
473
|
-
departmentId: "5195426cc4e016a988000965",
|
474
|
-
expireAt: "2024-08-01T10:20:30.400Z",
|
475
|
-
name: "Test Fire Department",
|
476
|
-
reasons: [
|
477
|
-
{
|
478
|
-
date: "2024-05-03T01:01:01.010Z",
|
479
|
-
name: "Unit M10 assigned"
|
480
|
-
}
|
481
|
-
],
|
482
|
-
startAt: "2024-05-01T01:02:03.040Z",
|
483
|
-
}
|
484
|
-
],
|
485
|
-
};
|
486
|
-
|
487
|
-
const cadIncidentBlock = {
|
488
|
-
"EntryDateTime": "2023-09-20T09:14:37-07:00",
|
489
|
-
"ClosedDateTime": "2023-09-20T10:36:36-07:00",
|
490
|
-
"source": "callType",
|
491
|
-
"departmentId": "64948d8f051d17033f77d034",
|
492
|
-
"AgencyIncidentCallTypeDescription": "OTH, MISCELLANEOUS",
|
493
|
-
"IncidentNumber": "A23031",
|
494
|
-
"ReportNumber": [
|
495
|
-
{
|
496
|
-
"name": "Incident",
|
497
|
-
"number": "CA68"
|
498
|
-
}
|
499
|
-
],
|
500
|
-
"createdAt": "2023-09-20T16:14:30.000+0000"
|
501
|
-
};
|
502
|
-
|
503
|
-
const cadStatus = {
|
504
|
-
_id: new mongoose.Types.ObjectId(),
|
505
|
-
code: "AV",
|
506
|
-
codeDisplay: "RS",
|
507
|
-
color: {
|
508
|
-
background: "#7b7d7d",
|
509
|
-
text: "#F8F9F9"
|
510
|
-
},
|
511
|
-
departmentId: "51a2529293e11b3569000057",
|
512
|
-
modifiedDate: 1544771122.997,
|
513
|
-
name: "In Service",
|
514
|
-
normalized: "inService",
|
515
|
-
options: [
|
516
|
-
//
|
517
|
-
{
|
518
|
-
cadKey: "oosCode",
|
519
|
-
cadValues: [
|
520
|
-
//
|
521
|
-
{
|
522
|
-
favorite: false,
|
523
|
-
name: "ADM - Admin",
|
524
|
-
position: 20,
|
525
|
-
type: "string",
|
526
|
-
value: "ADM",
|
527
|
-
visible: true
|
528
|
-
}
|
529
|
-
],
|
530
|
-
name: "oosCode",
|
531
|
-
position: 2,
|
532
|
-
visible: true
|
533
|
-
}
|
534
|
-
],
|
535
|
-
roaming: false,
|
536
|
-
selfAssignable: true,
|
537
|
-
status: "OR",
|
538
|
-
statusId: 1,
|
539
|
-
uuid: "8086956b-43af-4300-aa30-5efbd10b2c98"
|
540
|
-
};
|
541
|
-
|
542
|
-
const cadStatusMap = {
|
543
|
-
"departmentId": "51a2529293e11b3569000057",
|
544
|
-
"fromStatusId": 0,
|
545
|
-
"modifiedDate": 1544143059.729,
|
546
|
-
"toStatusIds": [
|
547
|
-
//
|
548
|
-
{
|
549
|
-
"statusId": 1,
|
550
|
-
"userEnabled": true,
|
551
|
-
"position": 0,
|
552
|
-
}
|
553
|
-
]
|
554
|
-
};
|
555
|
-
|
556
|
-
const cadVehicle = {
|
557
|
-
_id: new mongoose.Types.ObjectId(),
|
558
|
-
uuid: "30f8d7c7-20a3-4a12-b911-a424f5037003",
|
559
|
-
radioName: "T01",
|
560
|
-
vehicleId: "7705",
|
561
|
-
modifiedDate: 1541569088.909,
|
562
|
-
departmentId: "5195426cc4e016a988000965",
|
563
|
-
station: {
|
564
|
-
code: "S01",
|
565
|
-
name: "Station 01"
|
566
|
-
},
|
567
|
-
capability: ""
|
568
|
-
};
|
569
|
-
|
570
|
-
const cadVehicleStatus = {
|
571
|
-
uuid: "5a324923-2622-48f2-abaa-8a855e7cebdf",
|
572
|
-
departmentId: "d1234",
|
573
|
-
vehicleId: "v1171",
|
574
|
-
radioName: "E10",
|
575
|
-
requestTime: 1516557000,
|
576
|
-
responseTime: 1516567096,
|
577
|
-
status: "Dispatched",
|
578
|
-
statusCode: "DISP",
|
579
|
-
modifiedDate: 1516577096,
|
580
|
-
requestStatus: 0,
|
581
|
-
incidentNumber: "INC19991",
|
582
|
-
capability: "",
|
583
|
-
owner: "user",
|
584
|
-
ownerId: "M1"
|
585
|
-
};
|
586
|
-
|
587
|
-
const cadVehicleStatusHistory = {
|
588
|
-
departmentId: "d1234",
|
589
|
-
vehicleId: "v1171",
|
590
|
-
radioName: "E10",
|
591
|
-
status: "Dispatched",
|
592
|
-
statusCode: "DISP",
|
593
|
-
requestedAt: 1516557000,
|
594
|
-
requestedBy: "user",
|
595
|
-
modifiedDate: 1516577096,
|
596
|
-
incidentNumber: "INC19991"
|
597
|
-
};
|
598
|
-
|
599
|
-
const department = {
|
600
|
-
_id: new mongoose.Types.ObjectId(),
|
601
|
-
department: "Test Department",
|
602
|
-
addressDetails: {
|
603
|
-
city: "San Francisco",
|
604
|
-
},
|
605
|
-
active: true,
|
606
|
-
apikey: "abcd",
|
607
|
-
partialApiKey: "ab",
|
608
|
-
personnelStaffingEnabled: true,
|
609
|
-
rtsEnabled: true,
|
610
|
-
rtsChannelPrefix: "CH_TEST",
|
611
|
-
pubNubV3: {
|
612
|
-
token: "CH_AUTH_TOKEN",
|
613
|
-
expireAt: "2021-09-10T23:25:02.196Z",
|
614
|
-
runAt: "2021-09-10T08:25:02.196Z",
|
615
|
-
},
|
616
|
-
agencyIds: [
|
617
|
-
new mongoose.Types.ObjectId(agency._id)
|
618
|
-
],
|
619
|
-
signupKey: "A1B2",
|
620
|
-
incidentTypes: [{
|
621
|
-
name: "Type",
|
622
|
-
value: "type"
|
623
|
-
}],
|
624
|
-
shareLocationPhones: false,
|
625
|
-
shareLocationTablets: true,
|
626
|
-
cadOneWayVehiclesEnabled: false,
|
627
|
-
mowsEnabled: true,
|
628
|
-
shareAVL: {
|
629
|
-
enabled: true,
|
630
|
-
opAreaCode: "DAL",
|
631
|
-
opAreaName: "Delta Operations"
|
632
|
-
},
|
633
|
-
accountType: "production",
|
634
|
-
timeZone: "America/Los_Angeles",
|
635
|
-
firstArrivingEnabled: true,
|
636
|
-
firstArriving: {
|
637
|
-
token: "123"
|
638
|
-
},
|
639
|
-
simpleSenseEnabled: true,
|
640
|
-
simpleSense: {
|
641
|
-
token: "123"
|
642
|
-
},
|
643
|
-
licensing: {
|
644
|
-
tcPro2Way: 0,
|
645
|
-
tcPro1Way: 0,
|
646
|
-
tcMobile: 0,
|
647
|
-
tcWeb: 0,
|
648
|
-
fireMapperPro: 0,
|
649
|
-
sendToCAD: 0,
|
650
|
-
tcStreams: 0,
|
651
|
-
},
|
652
|
-
webDisclaimer: {
|
653
|
-
message: "test",
|
654
|
-
enabled: true
|
655
|
-
},
|
656
|
-
notificationEmails: ["test@test.com"],
|
657
|
-
externalNotificationsEnabled: true,
|
658
|
-
restrictedComments: {
|
659
|
-
enabled: false,
|
660
|
-
callTypesAllowed: [],
|
661
|
-
statusesAllowed: [],
|
662
|
-
restrictedFields: [],
|
663
|
-
restrictedMessage: "Restricted Message"
|
664
|
-
},
|
665
|
-
customButtons: [
|
666
|
-
{
|
667
|
-
name: "Button Custom",
|
668
|
-
url: "",
|
669
|
-
order: 1,
|
670
|
-
allowExternal: false,
|
671
|
-
defaultExternal: false,
|
672
|
-
allowFloating: false,
|
673
|
-
color: {
|
674
|
-
"background": "#512e5f",
|
675
|
-
"text": "#F8F9F9"
|
676
|
-
}
|
677
|
-
}
|
678
|
-
],
|
679
|
-
reportNumberEnabled: true,
|
680
|
-
samsara: {
|
681
|
-
enabled: false,
|
682
|
-
token: "",
|
683
|
-
},
|
684
|
-
};
|
685
|
-
|
686
|
-
const esriMap = {
|
687
|
-
mapLayers: [
|
688
|
-
//
|
689
|
-
{
|
690
|
-
"url": "https://services.arcgis.com/aA3snZwJfFkVyDuP/arcgis/rest/services/XBO_Branches_Updated/FeatureServer/0",
|
691
|
-
"itemId": "XBO_Branches_Updated_3067",
|
692
|
-
"layerType": "ArcGISFeatureLayer",
|
693
|
-
"title": "XBO Branches_Updated"
|
694
|
-
},
|
695
|
-
{
|
696
|
-
"itemId": "city_limits_092019_4185",
|
697
|
-
"layerType": "ArcGISFeatureLayer",
|
698
|
-
"title": "City Limits",
|
699
|
-
"url": "https://services.arcgis.com/aA3snZwJfFkVyDuP/arcgis/rest/services/city_limits_092019/FeatureServer/0"
|
700
|
-
},
|
701
|
-
{
|
702
|
-
"itemId": "unvdpdod57lext9eck9nxipcov2dgjqs_8576",
|
703
|
-
"layerType": "ArcGISFeatureLayer",
|
704
|
-
"title": "Tablet Command",
|
705
|
-
"url": "https://api.tabletcommand.com/esri/tc-file/unvdpdod57lext9eck9nxipcov2dgjqs/FeatureServer/0"
|
706
|
-
}
|
707
|
-
],
|
708
|
-
"owner": "john_tabletcommand",
|
709
|
-
"title": "Location (MM Filters)",
|
710
|
-
"url": null,
|
711
|
-
"access": "shared",
|
712
|
-
"baseMap": {
|
713
|
-
"baseMapLayers": [
|
714
|
-
//
|
715
|
-
{
|
716
|
-
"opacity": 1,
|
717
|
-
"id": "VectorTile_1188",
|
718
|
-
"type": "VectorTileLayer",
|
719
|
-
"layerType": "VectorTileLayer",
|
720
|
-
"title": "World Street Map (Night)",
|
721
|
-
"styleUrl": "https://cdn.arcgis.com/sharing/rest/content/items/86f556a2d1fd468181855a35e344567f/resources/styles/root.json",
|
722
|
-
"visibility": true
|
723
|
-
}
|
724
|
-
],
|
725
|
-
"title": "Streets (Night)"
|
726
|
-
},
|
727
|
-
"itemId": "01cebf7aede94ed3a9f4c260e18a7d7e",
|
728
|
-
"type": "Web Map",
|
729
|
-
"tags": [
|
730
|
-
"XBO",
|
731
|
-
"Tabletcommand"
|
732
|
-
],
|
733
|
-
"development": true,
|
734
|
-
};
|
735
|
-
|
736
|
-
const deviceMapping = {
|
737
|
-
_id: new mongoose.Types.ObjectId(),
|
738
|
-
nick: "Test",
|
739
|
-
departmentId: "d123",
|
740
|
-
deviceType: "hello",
|
741
|
-
mapId: "map123",
|
742
|
-
deviceId: "deviceType121",
|
743
|
-
modified_unix_date: 1432230780,
|
744
|
-
active: false,
|
745
|
-
remoteAddress: "1.2.3.4",
|
746
|
-
note: "don't feed after dark",
|
747
|
-
mapHidden: false
|
748
|
-
};
|
749
|
-
|
750
|
-
const esri = {
|
751
|
-
_id: new mongoose.Types.ObjectId(),
|
752
|
-
departmentId: new mongoose.Types.ObjectId("56131f724143487a10000001"),
|
753
|
-
modified_unix_date: 1432230780,
|
754
|
-
auth: {
|
755
|
-
username: "fire_maps",
|
756
|
-
encrypted: {
|
757
|
-
iv: "18f17",
|
758
|
-
encryptedData: "dee54"
|
759
|
-
}
|
760
|
-
},
|
761
|
-
fireMapperAuth: {
|
762
|
-
username: "fire_mapper",
|
763
|
-
encrypted: {
|
764
|
-
iv: "28f10",
|
765
|
-
encryptedData: "dee99"
|
766
|
-
},
|
767
|
-
encryptedAccessCode: {
|
768
|
-
iv: "99f1341",
|
769
|
-
encryptedData: "zoom123"
|
770
|
-
}
|
771
|
-
},
|
772
|
-
maps: [
|
773
|
-
esriMap
|
774
|
-
],
|
775
|
-
mapsProperties: [
|
776
|
-
//
|
777
|
-
{
|
778
|
-
itemId: "01cebf7aede94ed3a9f4c260e18a7d7e",
|
779
|
-
download: true,
|
780
|
-
}
|
781
|
-
]
|
782
|
-
};
|
783
|
-
|
784
|
-
const gstMapping = {
|
785
|
-
_id: new mongoose.Types.ObjectId(),
|
786
|
-
departmentId: "d123",
|
787
|
-
unitId: "E123",
|
788
|
-
modified_unix_date: 1432230780,
|
789
|
-
active: false,
|
790
|
-
remoteAddress: "1.2.3.4",
|
791
|
-
note: "don't feed after dark",
|
792
|
-
mapHidden: false,
|
793
|
-
gstAgency: "LAX",
|
794
|
-
deviceType: "gst",
|
795
|
-
note: ""
|
796
|
-
};
|
797
|
-
|
798
|
-
const incidentEvent = {
|
799
|
-
IncidentNumber: "TC1212121",
|
800
|
-
departmentId: "d123",
|
801
|
-
modified_unix_date: 1432230780,
|
802
|
-
message: "Hello from the other side",
|
803
|
-
location: {
|
804
|
-
longitude: -29.90129,
|
805
|
-
latitude: 121.223131
|
806
|
-
},
|
807
|
-
userTime: 1437121647,
|
808
|
-
type: "contribution",
|
809
|
-
user: {
|
810
|
-
email: "marius+cc@tabletcommand.com",
|
811
|
-
username: "ztc-marcc",
|
812
|
-
radioName: "E12",
|
813
|
-
userId: "51c2dcca0c599704e400001f"
|
814
|
-
},
|
815
|
-
uuid: "ABCDEF"
|
816
|
-
};
|
817
|
-
|
818
|
-
const incidentTakeover = {
|
819
|
-
_id: new mongoose.Types.ObjectId(),
|
820
|
-
incident_id: "i1234",
|
821
|
-
incident_name: "Test Incident",
|
822
|
-
incident_number: "TC-12345",
|
823
|
-
departmentId: "d123",
|
824
|
-
old_owner: "user1",
|
825
|
-
new_owner: "user2",
|
826
|
-
owner: "",
|
827
|
-
status: "request",
|
828
|
-
request_time: 1442888560
|
829
|
-
};
|
830
|
-
|
831
|
-
const incidentNotified = {
|
832
|
-
_id: new mongoose.Types.ObjectId(),
|
833
|
-
departmentId: "d123",
|
834
|
-
IncidentNumber: "T-1536603902",
|
835
|
-
incidentTypes: [
|
836
|
-
"any"
|
837
|
-
],
|
838
|
-
units: [
|
839
|
-
"E31"
|
840
|
-
],
|
841
|
-
unitsByDispatch: [
|
842
|
-
{
|
843
|
-
UnitID: "E31",
|
844
|
-
UnitDispatchNumber: "12345"
|
845
|
-
}
|
846
|
-
],
|
847
|
-
sent: [
|
848
|
-
],
|
849
|
-
updated: "2018-09-10T18:25:02.196Z"
|
850
|
-
};
|
851
|
-
|
852
|
-
const location = {
|
853
|
-
_id: new mongoose.Types.ObjectId(),
|
854
|
-
departmentId: "d123",
|
855
|
-
userId: "542a40db20783c000000153d",
|
856
|
-
uuid: "92c8f732-52b7-46cc-855a-d54fddfe3172",
|
857
|
-
username: "E23",
|
858
|
-
device_type: "iPad",
|
859
|
-
active: true,
|
860
|
-
heading: 43,
|
861
|
-
locationGeoJSON: {
|
862
|
-
type: "Point",
|
863
|
-
coordinates: [-120.001, 37.001],
|
864
|
-
},
|
865
|
-
session: "abcd",
|
866
|
-
opAreaCode: "DAL",
|
867
|
-
opAreaName: "Delta Operations",
|
868
|
-
shared: true,
|
869
|
-
state: "CA",
|
870
|
-
sendToCAD: false,
|
871
|
-
color: {
|
872
|
-
text: "#00AA00",
|
873
|
-
background: "#FFAAFF"
|
874
|
-
},
|
875
|
-
modified: new Date().toISOString()
|
876
|
-
};
|
877
|
-
|
878
|
-
const managedIncident = {
|
879
|
-
_id: new mongoose.Types.ObjectId(),
|
880
|
-
CallerNumber: "(720) 275-6765",
|
881
|
-
CommandChannel: "ACPRI",
|
882
|
-
TacticalAltChannel: "ACOPSB",
|
883
|
-
TacticalChannel: "ACOPSA",
|
884
|
-
active: 1,
|
885
|
-
address: "Interstate 76 Eb / Federal To I 76 Eb, UNINCORPORATED ADAMS COUNTY CO",
|
886
|
-
api_incident_number: "ACFR040719-0002506",
|
887
|
-
channel: "ADAMSCOUNTYFIRERESCUEN1C-MANAGED-ACFR040719-0002506",
|
888
|
-
channel_owner: "e12@acfpd.org",
|
889
|
-
departmentId: "5b17f315f877ee16f3d019b7",
|
890
|
-
end_time: "2019-04-08T00:16:30+0000",
|
891
|
-
end_unix_time: 1554682590.44313,
|
892
|
-
esri_map: {
|
893
|
-
json: "YnBsaXN0MDDUAQIDBAUGCAlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKEHVSRudWxsXxAPTlNLZXllZEFyY2hpdmVy0QoLVHJvb3SAAAgRGiMtMjc5P1FUWQAAAAAAAAEBAAAAAAAAAAwAAAAAAAAAAAAAAAAAAABb",
|
894
|
-
map_type: "Generic",
|
895
|
-
name: "Street",
|
896
|
-
url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
|
897
|
-
uuid: "00FCA57A-6F1B-4F74-84BD-E7A8B8BFF8FB"
|
898
|
-
},
|
899
|
-
history: [
|
900
|
-
//
|
901
|
-
{
|
902
|
-
entity_id: 9207,
|
903
|
-
entity_type: 14,
|
904
|
-
message: "(43) 2a72 start medical (Shared)",
|
905
|
-
time: 1554681941
|
906
|
-
}
|
907
|
-
],
|
908
|
-
is_closed: 1,
|
909
|
-
location: "39.802526,-105.019773",
|
910
|
-
managed: "1",
|
911
|
-
modified_date: "2019-04-08T00:16:30.473", // Same as the modified_unix_date
|
912
|
-
modified_unix_date: 1554682590.47396,
|
913
|
-
name: "INJURED PARTY",
|
914
|
-
preference_location: "location",
|
915
|
-
slave_map_changed: false,
|
916
|
-
source: "cad",
|
917
|
-
start_time: "2019-04-08T00:05:41+0000",
|
918
|
-
start_unix_time: 1554681941,
|
919
|
-
units: [
|
920
|
-
//
|
921
|
-
{
|
922
|
-
UnitID: "M12",
|
923
|
-
active: 1,
|
924
|
-
air_time: "",
|
925
|
-
api_unit_dispatch_number: "5163322",
|
926
|
-
checked: 0,
|
927
|
-
column_position: 0,
|
928
|
-
group_position: 0,
|
929
|
-
incident_position: 0,
|
930
|
-
isSupervisor: false,
|
931
|
-
is_part_of_group: false,
|
932
|
-
location_on_image: "",
|
933
|
-
location_on_map: "",
|
934
|
-
modified_date: "2019-04-08T00:16:30+0000",
|
935
|
-
modified_unix_date: 1554682590.51667,
|
936
|
-
note: "",
|
937
|
-
personnelOnScene: 2,
|
938
|
-
Personnel: [
|
939
|
-
{
|
940
|
-
"PersonnelID": "X14",
|
941
|
-
"PersonnelName": "Mary Smith",
|
942
|
-
"PersonnelNote": "X",
|
943
|
-
"PersonnelRank": "Captain",
|
944
|
-
"PersonnelWorkCode": "TRD"
|
945
|
-
},
|
946
|
-
{
|
947
|
-
"PersonnelID": "Y21",
|
948
|
-
"PersonnelName": "Nicholas Santos",
|
949
|
-
"PersonnelNote": "Y",
|
950
|
-
"PersonnelRank": "PM",
|
951
|
-
"PersonnelWorkCode": "REG"
|
952
|
-
}
|
953
|
-
],
|
954
|
-
status: "Arrived",
|
955
|
-
status_unix_date: 1554682217,
|
956
|
-
time: "",
|
957
|
-
warning: 0
|
958
|
-
}
|
959
|
-
],
|
960
|
-
userId: "5b3e78cc944e2a18d5222424",
|
961
|
-
uuid: "579E2F47-7F63-4351-B41F-4A345D680B8F",
|
962
|
-
// Share incident properties
|
963
|
-
ReportNumber: [
|
964
|
-
//
|
965
|
-
{
|
966
|
-
"name": "A",
|
967
|
-
"number": "07-0351"
|
968
|
-
},
|
969
|
-
{
|
970
|
-
"name": "B",
|
971
|
-
"number": "UM-02210"
|
972
|
-
}
|
973
|
-
],
|
974
|
-
radioChannels: [
|
975
|
-
//
|
976
|
-
{
|
977
|
-
"name": "CMD",
|
978
|
-
"channel": "LOCAL Tone: 3",
|
979
|
-
"url": "http://example.com/stream1"
|
980
|
-
},
|
981
|
-
{
|
982
|
-
"name": "TAC",
|
983
|
-
"channel": "CDF TAC 10",
|
984
|
-
"url": "http://example.com/stream2"
|
985
|
-
}
|
986
|
-
],
|
987
|
-
record: {
|
988
|
-
"name": "John",
|
989
|
-
"value": "Smith",
|
990
|
-
},
|
991
|
-
sharedSource: {
|
992
|
-
isExternal: true,
|
993
|
-
name: "Demo RTS Fire Department",
|
994
|
-
reasons: [
|
995
|
-
{
|
996
|
-
date: "2024-05-03T00:00:00.000Z",
|
997
|
-
name: "Unit B10 assigned"
|
998
|
-
}
|
999
|
-
]
|
1000
|
-
},
|
1001
|
-
sharedTo: [
|
1002
|
-
//
|
1003
|
-
{
|
1004
|
-
active: true,
|
1005
|
-
departmentId: "5195426cc4e016a988000965",
|
1006
|
-
expireAt: "2024-08-01T10:20:30.400Z",
|
1007
|
-
name: "Test Fire Department",
|
1008
|
-
reasons: [
|
1009
|
-
{
|
1010
|
-
date: "2024-05-03T01:01:01.010Z",
|
1011
|
-
name: "Unit M10 assigned"
|
1012
|
-
}
|
1013
|
-
],
|
1014
|
-
startAt: "2024-05-01T01:02:03.040Z",
|
1015
|
-
}
|
1016
|
-
],
|
1017
|
-
};
|
1018
|
-
|
1019
|
-
const monitor = {
|
1020
|
-
_id: new mongoose.Types.ObjectId(),
|
1021
|
-
departmentId: "546ace2b3cd8d60d1d00256a",
|
1022
|
-
agencyId: "123",
|
1023
|
-
notificationType: "maps-auth-error",
|
1024
|
-
status: "active",
|
1025
|
-
sentAt: new Date(1000.0 * 1603263604),
|
1026
|
-
sentUnixDate: 1603263604
|
1027
|
-
};
|
1028
|
-
|
1029
|
-
const rateLimit = {
|
1030
|
-
_id: new mongoose.Types.ObjectId(),
|
1031
|
-
username: "test123",
|
1032
|
-
modified_unix_date: 1426983552.49945,
|
1033
|
-
count: 8
|
1034
|
-
};
|
1035
|
-
|
1036
|
-
const session = {
|
1037
|
-
when: "2019-04-01T04:41:38.509Z",
|
1038
|
-
user: "51c2dcca0c599704e400001f",
|
1039
|
-
email: "marius+cc@tabletcommand.com",
|
1040
|
-
nick: "ztc-marcc",
|
1041
|
-
deviceId: "7evAKaFiOeaWTlsMTOSQMBKN",
|
1042
|
-
remoteAddress: "124.148.161.107",
|
1043
|
-
userAgent: "TCMobile/1.6 (iPhone; iOS 12.1; Scale/2.00)",
|
1044
|
-
why: "password",
|
1045
|
-
departmentId: "51a2529293e11b3569000057",
|
1046
|
-
source: "iphone.beta",
|
1047
|
-
token: uuid.v4(),
|
1048
|
-
active: false,
|
1049
|
-
ended: "2019-04-01T04:41:39.233Z"
|
1050
|
-
};
|
1051
|
-
|
1052
|
-
const template = {
|
1053
|
-
position: 1,
|
1054
|
-
active: true,
|
1055
|
-
name: "Vertical Test",
|
1056
|
-
userId: "1234",
|
1057
|
-
departmentId: "4321",
|
1058
|
-
isMandatory: false,
|
1059
|
-
group: [],
|
1060
|
-
checklist: [],
|
1061
|
-
agencyId: new mongoose.Types.ObjectId(agency._id)
|
1062
|
-
};
|
1063
|
-
|
1064
|
-
const user = {
|
1065
|
-
_id: new mongoose.Types.ObjectId(),
|
1066
|
-
nick: "Test",
|
1067
|
-
email: "test@save.me",
|
1068
|
-
mapId: "TEST",
|
1069
|
-
departmentId: "d123",
|
1070
|
-
isPro: true,
|
1071
|
-
agencyId: new mongoose.Types.ObjectId(agency._id),
|
1072
|
-
managedAgencies: [new mongoose.Types.ObjectId(agency._id)],
|
1073
|
-
shareLocationPhone: false,
|
1074
|
-
shareLocationTablet: true,
|
1075
|
-
notificationSounds: [
|
1076
|
-
//
|
1077
|
-
{
|
1078
|
-
sound: "testSound.caf",
|
1079
|
-
soundType: "default",
|
1080
|
-
}
|
1081
|
-
],
|
1082
|
-
offlineMapsEnabled: true,
|
1083
|
-
offDutyEnabled: true,
|
1084
|
-
webMapSettings: {
|
1085
|
-
defaultZoomLevel: 10,
|
1086
|
-
defaultCenter: [1, 1],
|
1087
|
-
defaultMap: "Default"
|
1088
|
-
},
|
1089
|
-
restrictedCommentsEnabled: true
|
1090
|
-
};
|
1091
|
-
|
1092
|
-
const userRegistration = {
|
1093
|
-
email: "test@email.com",
|
1094
|
-
name: "John Waters",
|
1095
|
-
firstName: "John",
|
1096
|
-
lastName: "Waters",
|
1097
|
-
department: "New York City, NY",
|
1098
|
-
title: "Mr",
|
1099
|
-
modifiedDate: 1426983552.49945,
|
1100
|
-
status: "registered",
|
1101
|
-
stage: "afterEULA",
|
1102
|
-
presentedAt: 1488157071.042124,
|
1103
|
-
managedIncidentsCount: 1,
|
1104
|
-
checklistsCount: 2,
|
1105
|
-
firstIncidentUnixTime: 1443666043.380937,
|
1106
|
-
lastIncidentLocation: "40.999357,-85.767932",
|
1107
|
-
lastIncidentUnixTime: 1480525299.50968
|
1108
|
-
};
|
1109
|
-
|
1110
|
-
const userDevice = {
|
1111
|
-
userId: "1234",
|
1112
|
-
departmentID: "4321",
|
1113
|
-
devices: [
|
1114
|
-
//
|
1115
|
-
{
|
1116
|
-
token: "de2687382a9df6a1165616aac",
|
1117
|
-
env: "testmock",
|
1118
|
-
ver: "TC Mobile v1.0 b23",
|
1119
|
-
ua: "TCMobile/1.0 (iPhone; iOS 10.1.1; Scale/3.00)",
|
1120
|
-
time: 1438627429.956,
|
1121
|
-
drift: 1438627429.956,
|
1122
|
-
bundleIdentifier: "com.testtesttest.TCMobile",
|
1123
|
-
silentEnabled: true,
|
1124
|
-
criticalAlertsEnabled: true,
|
1125
|
-
session: "1234321",
|
1126
|
-
active: true,
|
1127
|
-
offDuty: false
|
1128
|
-
}
|
1129
|
-
],
|
1130
|
-
notificationCount: 12,
|
1131
|
-
notificationUnitSettings: [
|
1132
|
-
{
|
1133
|
-
radioName: "B1",
|
1134
|
-
notificationType: "NORMAL",
|
1135
|
-
notificationMode: "ON DUTY"
|
1136
|
-
}
|
1137
|
-
],
|
1138
|
-
notificationIncidentSettings: [
|
1139
|
-
{
|
1140
|
-
incidentType: "Cliff Rescue",
|
1141
|
-
notificationType: "NORMAL",
|
1142
|
-
notificationMode: "ON DUTY"
|
1143
|
-
}
|
1144
|
-
],
|
1145
|
-
notificationSounds: {
|
1146
|
-
ios: {
|
1147
|
-
sound: "a.caf",
|
1148
|
-
soundType: "default",
|
1149
|
-
os: "ios"
|
1150
|
-
},
|
1151
|
-
android: {
|
1152
|
-
sound: "b.mp3",
|
1153
|
-
soundType: "default",
|
1154
|
-
os: "android"
|
1155
|
-
}
|
1156
|
-
},
|
1157
|
-
offDuty: true,
|
1158
|
-
criticalAlertsVolume: "MED",
|
1159
|
-
};
|
1160
|
-
|
1161
|
-
const personnelImport = {
|
1162
|
-
_id: new mongoose.Types.ObjectId(),
|
1163
|
-
PersonnelID: "AM0111",
|
1164
|
-
PersonnelName: "Test User",
|
1165
|
-
PersonnelRank: "Eng",
|
1166
|
-
PersonnelWorkCode: "abcd1234",
|
1167
|
-
PersonnelNote: "A test user",
|
1168
|
-
departmentId: "123zzz",
|
1169
|
-
radioNames: ["M10", "Z1"],
|
1170
|
-
shiftStartTime: 1559446299,
|
1171
|
-
shiftStart: "2019-06-02T03:31:39.000Z",
|
1172
|
-
shiftEndTime: 1569446299,
|
1173
|
-
shiftEnd: "2019-09-25T21:18:19.000Z",
|
1174
|
-
modified_unix_date: 1570446299,
|
1175
|
-
modified: "2019-10-07T11:04:59.000Z",
|
1176
|
-
active: true,
|
1177
|
-
agencyCode: "TC",
|
1178
|
-
agencyName: "Tablet Command",
|
1179
|
-
importNotes: "test note"
|
1180
|
-
};
|
1181
|
-
|
1182
|
-
const csvImport = {
|
1183
|
-
_id: new mongoose.Types.ObjectId(),
|
1184
|
-
batchId: "AM0111",
|
1185
|
-
departmentId: "1234",
|
1186
|
-
agencyId: "abcd1234",
|
1187
|
-
importType: "users",
|
1188
|
-
fileType: "csv",
|
1189
|
-
fileName: "test file 123",
|
1190
|
-
fileSize: 800,
|
1191
|
-
records: [],
|
1192
|
-
userId: "4321",
|
1193
|
-
status: "success",
|
1194
|
-
sendNotification: false
|
1195
|
-
};
|
1196
|
-
|
1197
|
-
const validationReport = {
|
1198
|
-
_id: new mongoose.Types.ObjectId(),
|
1199
|
-
departmentId: new mongoose.Types.ObjectId("56131f724143487a10000001"),
|
1200
|
-
modified: new Date("2022-11-13T22:02:01Z"),
|
1201
|
-
location: [],
|
1202
|
-
statusMap: [],
|
1203
|
-
status: [],
|
1204
|
-
vehicleStatus: [],
|
1205
|
-
vehicle: [],
|
1206
|
-
incident: [
|
1207
|
-
{
|
1208
|
-
message: "path: /ReportNumber msg: must be array",
|
1209
|
-
firstSeenAt: new Date("2022-11-14T09:23:48.866Z"),
|
1210
|
-
lastSeenAt: new Date("2022-11-14T09:23:48.866Z"),
|
1211
|
-
payload: {
|
1212
|
-
AgencyID: "99999",
|
1213
|
-
IncidentNumber: "ABCD-1234",
|
1214
|
-
ReportNumber: ""
|
1215
|
-
}
|
1216
|
-
}
|
1217
|
-
],
|
1218
|
-
personnel: [],
|
1219
|
-
};
|
1220
|
-
|
1221
|
-
async function cleanup() {
|
1222
|
-
if (!shouldRun()) {
|
1223
|
-
process.exit(1);
|
1224
|
-
}
|
1225
|
-
|
1226
|
-
const items = await mongoose.connection.db.collections();
|
1227
|
-
for (const coll of items) {
|
1228
|
-
// console.log(`Emptying ${coll.collectionName}.`);
|
1229
|
-
await coll.deleteMany({});
|
1230
|
-
}
|
1231
|
-
}
|
1232
|
-
|
1233
|
-
async function beforeEach() {
|
1234
|
-
if (!shouldRun()) {
|
1235
|
-
process.exit(1);
|
1236
|
-
}
|
1237
|
-
|
1238
|
-
await cleanup();
|
1239
|
-
}
|
1240
|
-
|
1241
|
-
return {
|
1242
|
-
beforeEach,
|
1243
|
-
cleanup,
|
1244
|
-
|
1245
|
-
actionLog,
|
1246
|
-
mark43IncidentRetry,
|
1247
|
-
agency,
|
1248
|
-
arcGISGroup,
|
1249
|
-
assignment,
|
1250
|
-
battalion,
|
1251
|
-
cadIncident,
|
1252
|
-
cadIncidentBlock,
|
1253
|
-
cadStatus,
|
1254
|
-
cadStatusMap,
|
1255
|
-
cadVehicle,
|
1256
|
-
cadVehicleStatus,
|
1257
|
-
cadVehicleStatusHistory,
|
1258
|
-
checklist,
|
1259
|
-
checklistItem,
|
1260
|
-
csvImport,
|
1261
|
-
department,
|
1262
|
-
deviceMapping,
|
1263
|
-
esri,
|
1264
|
-
gstMapping,
|
1265
|
-
incidentEvent,
|
1266
|
-
incidentNotified,
|
1267
|
-
incidentTakeover,
|
1268
|
-
jobLog,
|
1269
|
-
releaseNote,
|
1270
|
-
cadSimulation,
|
1271
|
-
location,
|
1272
|
-
mailLog,
|
1273
|
-
managedIncident,
|
1274
|
-
message,
|
1275
|
-
monitor,
|
1276
|
-
personnelImport,
|
1277
|
-
rateLimit,
|
1278
|
-
session,
|
1279
|
-
template,
|
1280
|
-
user,
|
1281
|
-
userDevice,
|
1282
|
-
userRegistration,
|
1283
|
-
validationReport,
|
1284
|
-
};
|
1285
|
-
};
|