tabletcommand-backend-models 5.39.6 → 7.0.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 +24 -0
- package/build/constants.js.map +1 -1
- package/build/helpers.js +9 -10
- package/build/helpers.js.map +1 -1
- package/build/index.js +9 -3
- package/build/index.js.map +1 -1
- package/build/models/action-log.js +5 -8
- package/build/models/action-log.js.map +1 -1
- package/build/models/agency.js +9 -11
- package/build/models/agency.js.map +1 -1
- package/build/models/arcgis-group.js +8 -12
- package/build/models/arcgis-group.js.map +1 -1
- package/build/models/assignment.js +8 -10
- package/build/models/assignment.js.map +1 -1
- package/build/models/battalion.js +25 -25
- package/build/models/battalion.js.map +1 -1
- package/build/models/beacon-log.js +5 -8
- package/build/models/beacon-log.js.map +1 -1
- package/build/models/cad-incident-block.js +4 -8
- package/build/models/cad-incident-block.js.map +1 -1
- package/build/models/cad-incident-stream.js +4 -7
- package/build/models/cad-incident-stream.js.map +1 -1
- package/build/models/cad-incident.js +1 -5
- package/build/models/cad-incident.js.map +1 -1
- package/build/models/cad-simulation.js +11 -15
- package/build/models/cad-simulation.js.map +1 -1
- package/build/models/cad-status-map.js +4 -8
- package/build/models/cad-status-map.js.map +1 -1
- package/build/models/cad-status.js +5 -9
- package/build/models/cad-status.js.map +1 -1
- package/build/models/cad-vehicle-status-history.js +3 -8
- package/build/models/cad-vehicle-status-history.js.map +1 -1
- package/build/models/cad-vehicle-status.js +4 -9
- package/build/models/cad-vehicle-status.js.map +1 -1
- package/build/models/cad-vehicle.js +4 -8
- package/build/models/cad-vehicle.js.map +1 -1
- package/build/models/chart-device-stats.js +6 -11
- package/build/models/chart-device-stats.js.map +1 -1
- package/build/models/chart-incident.js +6 -11
- package/build/models/chart-incident.js.map +1 -1
- package/build/models/chart-managed-incident.js +6 -11
- package/build/models/chart-managed-incident.js.map +1 -1
- package/build/models/chart-user.js +5 -10
- package/build/models/chart-user.js.map +1 -1
- package/build/models/checklist-item.js +10 -16
- package/build/models/checklist-item.js.map +1 -1
- package/build/models/checklist.js +11 -17
- package/build/models/checklist.js.map +1 -1
- package/build/models/csv-import.js +5 -9
- package/build/models/csv-import.js.map +1 -1
- package/build/models/department.js +200 -207
- package/build/models/department.js.map +1 -1
- package/build/models/device-mapping.js +5 -9
- package/build/models/device-mapping.js.map +1 -1
- package/build/models/esri.js +12 -21
- package/build/models/esri.js.map +1 -1
- package/build/models/gst-mapping.js +5 -9
- package/build/models/gst-mapping.js.map +1 -1
- package/build/models/incident-event.js +10 -13
- package/build/models/incident-event.js.map +1 -1
- package/build/models/incident-notified.js +7 -11
- package/build/models/incident-notified.js.map +1 -1
- package/build/models/incident-takeover.js +5 -10
- package/build/models/incident-takeover.js.map +1 -1
- package/build/models/job-log.js +5 -9
- package/build/models/job-log.js.map +1 -1
- package/build/models/location.js +4 -8
- package/build/models/location.js.map +1 -1
- package/build/models/mail-log.js +5 -9
- package/build/models/mail-log.js.map +1 -1
- package/build/models/managed-incident.js +15 -23
- package/build/models/managed-incident.js.map +1 -1
- package/build/models/mark43-incident-retry.js +5 -9
- package/build/models/mark43-incident-retry.js.map +1 -1
- package/build/models/message.js +6 -10
- package/build/models/message.js.map +1 -1
- package/build/models/monitor.js +5 -9
- package/build/models/monitor.js.map +1 -1
- package/build/models/personnel-import.js +10 -13
- package/build/models/personnel-import.js.map +1 -1
- package/build/models/personnel-known.js +7 -9
- package/build/models/personnel-known.js.map +1 -1
- package/build/models/personnel-roster.js +5 -7
- package/build/models/personnel-roster.js.map +1 -1
- package/build/models/rate-limit.js +5 -9
- package/build/models/rate-limit.js.map +1 -1
- package/build/models/release-note.js +5 -10
- package/build/models/release-note.js.map +1 -1
- package/build/models/remote-log-stream.js +46 -20
- package/build/models/remote-log-stream.js.map +1 -1
- package/build/models/remote-log.js +46 -20
- package/build/models/remote-log.js.map +1 -1
- package/build/models/schema/agency-cron-config.js +6 -7
- package/build/models/schema/agency-cron-config.js.map +1 -1
- package/build/models/schema/agency-saml.js +1 -2
- package/build/models/schema/agency-saml.js.map +1 -1
- package/build/models/schema/cad-incident.js +72 -30
- package/build/models/schema/cad-incident.js.map +1 -1
- package/build/models/schema/cad-status-option-selected.js +1 -2
- package/build/models/schema/cad-status-option-selected.js.map +1 -1
- package/build/models/schema/color.js +1 -2
- package/build/models/schema/color.js.map +1 -1
- package/build/models/schema/esri-auth.js +2 -3
- package/build/models/schema/esri-auth.js.map +1 -1
- package/build/models/schema/esri-error.js +1 -2
- package/build/models/schema/esri-error.js.map +1 -1
- package/build/models/schema/esri-map.js +4 -5
- package/build/models/schema/esri-map.js.map +1 -1
- package/build/models/schema/firemapper-auth.js +2 -3
- package/build/models/schema/firemapper-auth.js.map +1 -1
- package/build/models/schema/geojson-point.js +1 -2
- package/build/models/schema/geojson-point.js.map +1 -1
- package/build/models/schema/oauth.js +1 -2
- package/build/models/schema/oauth.js.map +1 -1
- package/build/models/schema/pubnub-token.js +2 -2
- package/build/models/schema/pubnub-token.js.map +1 -1
- package/build/models/schema/shared-incident.js +7 -9
- package/build/models/schema/shared-incident.js.map +1 -1
- package/build/models/schema/validation-error-item.js +1 -1
- package/build/models/schema/validation-error-item.js.map +1 -1
- package/build/models/session.js +7 -15
- package/build/models/session.js.map +1 -1
- package/build/models/smtp-unhandled.js +5 -10
- package/build/models/smtp-unhandled.js.map +1 -1
- package/build/models/template.js +12 -16
- package/build/models/template.js.map +1 -1
- package/build/models/user-device.js +10 -14
- package/build/models/user-device.js.map +1 -1
- package/build/models/user-registration.js +3 -6
- package/build/models/user-registration.js.map +1 -1
- package/build/models/user.js +13 -16
- package/build/models/user.js.map +1 -1
- package/build/models/validation-report.js +7 -10
- package/build/models/validation-report.js.map +1 -1
- package/build/test/arcgis-group.js +7 -3
- package/build/test/arcgis-group.js.map +1 -1
- package/build/test/mock.js +7 -1
- package/build/test/mock.js.map +1 -1
- package/cspell.json +9 -13
- package/definitions/constants.d.ts +21 -2
- package/definitions/constants.d.ts.map +1 -1
- package/definitions/helpers.d.ts +1 -6
- package/definitions/helpers.d.ts.map +1 -1
- package/definitions/index.d.ts +179 -52
- package/definitions/index.d.ts.map +1 -1
- package/definitions/models/action-log.d.ts +37 -16
- package/definitions/models/action-log.d.ts.map +1 -1
- package/definitions/models/agency.d.ts +61 -622
- package/definitions/models/agency.d.ts.map +1 -1
- package/definitions/models/arcgis-group.d.ts +62 -118
- package/definitions/models/arcgis-group.d.ts.map +1 -1
- package/definitions/models/assignment.d.ts +34 -12
- package/definitions/models/assignment.d.ts.map +1 -1
- package/definitions/models/battalion.d.ts +60 -192
- package/definitions/models/battalion.d.ts.map +1 -1
- package/definitions/models/beacon-log.d.ts +34 -13
- package/definitions/models/beacon-log.d.ts.map +1 -1
- package/definitions/models/cad-incident-block.d.ts +35 -21
- package/definitions/models/cad-incident-block.d.ts.map +1 -1
- package/definitions/models/cad-incident-stream.d.ts +35 -13
- package/definitions/models/cad-incident-stream.d.ts.map +1 -1
- package/definitions/models/cad-incident.d.ts +31 -440
- package/definitions/models/cad-incident.d.ts.map +1 -1
- package/definitions/models/cad-simulation.d.ts +69 -113
- package/definitions/models/cad-simulation.d.ts.map +1 -1
- package/definitions/models/cad-status-map.d.ts +40 -27
- package/definitions/models/cad-status-map.d.ts.map +1 -1
- package/definitions/models/cad-status.d.ts +49 -85
- package/definitions/models/cad-status.d.ts.map +1 -1
- package/definitions/models/cad-vehicle-status-history.d.ts +34 -29
- package/definitions/models/cad-vehicle-status-history.d.ts.map +1 -1
- package/definitions/models/cad-vehicle-status.d.ts +42 -41
- package/definitions/models/cad-vehicle-status.d.ts.map +1 -1
- package/definitions/models/cad-vehicle.d.ts +39 -22
- package/definitions/models/cad-vehicle.d.ts.map +1 -1
- package/definitions/models/chart-device-stats.d.ts +44 -38
- package/definitions/models/chart-device-stats.d.ts.map +1 -1
- package/definitions/models/chart-incident.d.ts +40 -22
- package/definitions/models/chart-incident.d.ts.map +1 -1
- package/definitions/models/chart-managed-incident.d.ts +40 -22
- package/definitions/models/chart-managed-incident.d.ts.map +1 -1
- package/definitions/models/chart-user.d.ts +34 -12
- package/definitions/models/chart-user.d.ts.map +1 -1
- package/definitions/models/checklist-item.d.ts +38 -64
- package/definitions/models/checklist-item.d.ts.map +1 -1
- package/definitions/models/checklist.d.ts +42 -172
- package/definitions/models/checklist.d.ts.map +1 -1
- package/definitions/models/csv-import.d.ts +37 -16
- package/definitions/models/csv-import.d.ts.map +1 -1
- package/definitions/models/department.d.ts +199 -755
- package/definitions/models/department.d.ts.map +1 -1
- package/definitions/models/device-mapping.d.ts +33 -12
- package/definitions/models/device-mapping.d.ts.map +1 -1
- package/definitions/models/esri.d.ts +58 -684
- package/definitions/models/esri.d.ts.map +1 -1
- package/definitions/models/gst-mapping.d.ts +33 -12
- package/definitions/models/gst-mapping.d.ts.map +1 -1
- package/definitions/models/incident-event.d.ts +48 -129
- package/definitions/models/incident-event.d.ts.map +1 -1
- package/definitions/models/incident-notified.d.ts +45 -36
- package/definitions/models/incident-notified.d.ts.map +1 -1
- package/definitions/models/incident-takeover.d.ts +32 -11
- package/definitions/models/incident-takeover.d.ts.map +1 -1
- package/definitions/models/job-log.d.ts +36 -14
- package/definitions/models/job-log.d.ts.map +1 -1
- package/definitions/models/location.d.ts +45 -42
- package/definitions/models/location.d.ts.map +1 -1
- package/definitions/models/mail-log.d.ts +37 -16
- package/definitions/models/mail-log.d.ts.map +1 -1
- package/definitions/models/managed-incident.d.ts +138 -649
- package/definitions/models/managed-incident.d.ts.map +1 -1
- package/definitions/models/mark43-incident-retry.d.ts +44 -37
- package/definitions/models/mark43-incident-retry.d.ts.map +1 -1
- package/definitions/models/message.d.ts +42 -33
- package/definitions/models/message.d.ts.map +1 -1
- package/definitions/models/monitor.d.ts +33 -12
- package/definitions/models/monitor.d.ts.map +1 -1
- package/definitions/models/personnel-import.d.ts +48 -128
- package/definitions/models/personnel-import.d.ts.map +1 -1
- package/definitions/models/personnel-known.d.ts +45 -91
- package/definitions/models/personnel-known.d.ts.map +1 -1
- package/definitions/models/personnel-roster.d.ts +40 -70
- package/definitions/models/personnel-roster.d.ts.map +1 -1
- package/definitions/models/rate-limit.d.ts +33 -12
- package/definitions/models/rate-limit.d.ts.map +1 -1
- package/definitions/models/release-note.d.ts +34 -13
- package/definitions/models/release-note.d.ts.map +1 -1
- package/definitions/models/remote-log-stream.d.ts +48 -54
- package/definitions/models/remote-log-stream.d.ts.map +1 -1
- package/definitions/models/remote-log.d.ts +52 -55
- package/definitions/models/remote-log.d.ts.map +1 -1
- package/definitions/models/schema/agency-cron-config.d.ts +80 -213
- package/definitions/models/schema/agency-cron-config.d.ts.map +1 -1
- package/definitions/models/schema/agency-saml.d.ts +37 -30
- package/definitions/models/schema/agency-saml.d.ts.map +1 -1
- package/definitions/models/schema/cad-incident.d.ts +157 -652
- package/definitions/models/schema/cad-incident.d.ts.map +1 -1
- package/definitions/models/schema/cad-status-option-selected.d.ts +35 -21
- package/definitions/models/schema/cad-status-option-selected.d.ts.map +1 -1
- package/definitions/models/schema/color.d.ts +33 -13
- package/definitions/models/schema/color.d.ts.map +1 -1
- package/definitions/models/schema/esri-auth.d.ts +38 -25
- package/definitions/models/schema/esri-auth.d.ts.map +1 -1
- package/definitions/models/schema/esri-error.d.ts +35 -21
- package/definitions/models/schema/esri-error.d.ts.map +1 -1
- package/definitions/models/schema/esri-map.d.ts +66 -190
- package/definitions/models/schema/esri-map.d.ts.map +1 -1
- package/definitions/models/schema/firemapper-auth.d.ts +39 -41
- package/definitions/models/schema/firemapper-auth.d.ts.map +1 -1
- package/definitions/models/schema/geojson-point.d.ts +33 -16
- package/definitions/models/schema/geojson-point.d.ts.map +1 -1
- package/definitions/models/schema/oauth.d.ts +34 -17
- package/definitions/models/schema/oauth.d.ts.map +1 -1
- package/definitions/models/schema/pubnub-token.d.ts +35 -18
- package/definitions/models/schema/pubnub-token.d.ts.map +1 -1
- package/definitions/models/schema/shared-incident.d.ts +100 -160
- package/definitions/models/schema/shared-incident.d.ts.map +1 -1
- package/definitions/models/schema/validation-error-item.d.ts +37 -26
- package/definitions/models/schema/validation-error-item.d.ts.map +1 -1
- package/definitions/models/session.d.ts +34 -24
- package/definitions/models/session.d.ts.map +1 -1
- package/definitions/models/smtp-unhandled.d.ts +33 -11
- package/definitions/models/smtp-unhandled.d.ts.map +1 -1
- package/definitions/models/template.d.ts +53 -130
- package/definitions/models/template.d.ts.map +1 -1
- package/definitions/models/user-device.d.ts +72 -133
- package/definitions/models/user-device.d.ts.map +1 -1
- package/definitions/models/user-registration.d.ts +32 -11
- package/definitions/models/user-registration.d.ts.map +1 -1
- package/definitions/models/user.d.ts +59 -430
- package/definitions/models/user.d.ts.map +1 -1
- package/definitions/models/validation-report.d.ts +47 -382
- package/definitions/models/validation-report.d.ts.map +1 -1
- package/definitions/test/mock.d.ts +1 -3
- package/definitions/test/mock.d.ts.map +1 -1
- package/package.json +2 -4
- package/src/constants.ts +23 -6
- package/src/helpers.ts +7 -8
- package/src/index.ts +10 -7
- package/src/models/action-log.ts +23 -15
- package/src/models/agency.ts +51 -21
- package/src/models/arcgis-group.ts +60 -18
- package/src/models/assignment.ts +30 -20
- package/src/models/battalion.ts +65 -37
- package/src/models/beacon-log.ts +17 -15
- package/src/models/cad-incident-block.ts +20 -16
- package/src/models/cad-incident-stream.ts +18 -15
- package/src/models/cad-incident.ts +6 -11
- package/src/models/cad-simulation.ts +93 -30
- package/src/models/cad-status-map.ts +21 -13
- package/src/models/cad-status.ts +46 -15
- package/src/models/cad-vehicle-status-history.ts +24 -17
- package/src/models/cad-vehicle-status.ts +38 -18
- package/src/models/cad-vehicle.ts +24 -13
- package/src/models/chart-device-stats.ts +25 -16
- package/src/models/chart-incident.ts +22 -16
- package/src/models/chart-managed-incident.ts +22 -16
- package/src/models/chart-user.ts +17 -15
- package/src/models/checklist-item.ts +29 -26
- package/src/models/checklist.ts +31 -25
- package/src/models/csv-import.ts +26 -14
- package/src/models/department.ts +552 -221
- package/src/models/device-mapping.ts +27 -14
- package/src/models/esri.ts +40 -30
- package/src/models/gst-mapping.ts +28 -16
- package/src/models/incident-event.ts +38 -18
- package/src/models/incident-notified.ts +31 -17
- package/src/models/incident-takeover.ts +23 -14
- package/src/models/job-log.ts +20 -15
- package/src/models/location.ts +45 -18
- package/src/models/mail-log.ts +26 -14
- package/src/models/managed-incident.ts +179 -32
- package/src/models/mark43-incident-retry.ts +31 -15
- package/src/models/message.ts +32 -16
- package/src/models/monitor.ts +19 -14
- package/src/models/personnel-import.ts +39 -18
- package/src/models/personnel-known.ts +30 -16
- package/src/models/personnel-roster.ts +23 -14
- package/src/models/rate-limit.ts +16 -14
- package/src/models/release-note.ts +18 -17
- package/src/models/remote-log-stream.ts +80 -27
- package/src/models/remote-log.ts +82 -27
- package/src/models/schema/agency-cron-config.ts +62 -7
- package/src/models/schema/agency-saml.ts +10 -2
- package/src/models/schema/cad-incident.ts +212 -40
- package/src/models/schema/cad-status-option-selected.ts +8 -2
- package/src/models/schema/color.ts +6 -2
- package/src/models/schema/esri-auth.ts +12 -3
- package/src/models/schema/esri-error.ts +8 -2
- package/src/models/schema/esri-map.ts +43 -5
- package/src/models/schema/firemapper-auth.ts +13 -3
- package/src/models/schema/geojson-point.ts +6 -2
- package/src/models/schema/oauth.ts +8 -3
- package/src/models/schema/pubnub-token.ts +9 -4
- package/src/models/schema/shared-incident.ts +54 -8
- package/src/models/schema/validation-error-item.ts +9 -2
- package/src/models/session.ts +33 -25
- package/src/models/smtp-unhandled.ts +15 -15
- package/src/models/template.ts +43 -25
- package/src/models/user-device.ts +66 -19
- package/src/models/user-registration.ts +26 -13
- package/src/models/user.ts +79 -27
- package/src/models/validation-report.ts +22 -16
- package/src/test/arcgis-group.ts +7 -7
- package/src/test/mock.ts +6 -4
- package/test/0index.js +9 -8
- package/test/action-log.js +18 -28
- package/test/agency.js +15 -27
- package/test/arcgis-group.js +6 -14
- package/test/assignment.js +14 -22
- package/test/battalion.js +14 -24
- package/test/cad-incident-block.js +13 -19
- package/test/cad-incident.js +70 -77
- package/test/cad-simulation.js +12 -20
- package/test/cad-status-map.js +13 -21
- package/test/cad-status.js +33 -42
- package/test/cad-vehicle-status-history.js +17 -26
- package/test/cad-vehicle-status.js +23 -32
- package/test/cad-vehicle.js +18 -27
- package/test/checklist-item.js +20 -29
- package/test/checklist.js +18 -25
- package/test/csv-import.js +22 -29
- package/test/department.js +62 -66
- package/test/device-mapping.js +18 -27
- package/test/esri.js +28 -34
- package/test/gst-mapping.js +17 -26
- package/test/incident-event.js +21 -28
- package/test/incident-notified.js +16 -25
- package/test/incident-takeover.js +18 -27
- package/test/job-log.js +16 -25
- package/test/location.js +30 -37
- package/test/mail-log.js +24 -33
- package/test/managed-incident.js +57 -66
- package/test/mark43-incident-retry.js +13 -22
- package/test/message.js +18 -27
- package/test/mock.js +20 -20
- package/test/monitor.js +14 -21
- package/test/personnel-import.js +29 -36
- package/test/rate-limit.js +12 -21
- package/test/release-note.js +5 -11
- package/test/session.js +23 -32
- package/test/template.js +19 -28
- package/test/user-device.js +30 -37
- package/test/user-registration.js +24 -33
- package/test/user.js +26 -35
- package/test/validation-report.js +10 -17
- package/build/models/schema/remote-file.js +0 -50
- package/build/models/schema/remote-file.js.map +0 -1
- package/definitions/models/schema/remote-file.d.ts +0 -44
- package/definitions/models/schema/remote-file.d.ts.map +0 -1
- package/src/models/schema/remote-file.ts +0 -53
package/src/models/department.ts
CHANGED
@@ -2,26 +2,527 @@ import * as uuid from "uuid";
|
|
2
2
|
import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
|
3
3
|
|
4
4
|
import {
|
5
|
-
createSchema,
|
6
|
-
createModel,
|
7
5
|
currentDate,
|
8
|
-
DocumentTypeFromSchema,
|
9
|
-
FieldsOfDocument,
|
10
6
|
MongooseModule,
|
11
7
|
retrieveCurrentUnixTime,
|
12
|
-
ItemTypeFromTypeSchemaFunction,
|
13
|
-
ModelTypeFromTypeSchemaFunction,
|
14
|
-
ReplaceModelReturnType,
|
15
8
|
} from "../helpers";
|
16
|
-
import ColorModule from "./schema/color";
|
17
|
-
import PubNubTokenSchema from "./schema/pubnub-token";
|
9
|
+
import ColorModule, { ColorSchemaType } from "./schema/color";
|
10
|
+
import PubNubTokenSchema, { PubNubTokenSchemaType } from "./schema/pubnub-token";
|
11
|
+
import { Model, Types } from "mongoose";
|
12
|
+
|
13
|
+
interface Mark43StatusConfigType {
|
14
|
+
TimeDispatched: string[],
|
15
|
+
TimeEnroute: string[],
|
16
|
+
TimeStaged: string[],
|
17
|
+
TimeCleared: string[],
|
18
|
+
TimeAtHospital: string[],
|
19
|
+
TimeTransporting: string[],
|
20
|
+
TimeArrived: string[],
|
21
|
+
}
|
22
|
+
|
23
|
+
interface Mark43ProcessLocationConfigType {
|
24
|
+
enabled: boolean,
|
25
|
+
locationUrl: string,
|
26
|
+
}
|
27
|
+
|
28
|
+
interface Mark43ProcessCommentConfigType {
|
29
|
+
enabled: boolean,
|
30
|
+
commentUrl: string,
|
31
|
+
usersUrl: string,
|
32
|
+
defaultUserId: number,
|
33
|
+
}
|
34
|
+
|
35
|
+
interface Mark43ProcessVehicleStatusConfigType {
|
36
|
+
enabled: boolean,
|
37
|
+
vehicleStatusUrl: string,
|
38
|
+
vehicleStatusListUrl: string,
|
39
|
+
}
|
40
|
+
|
41
|
+
interface Mark43ProcessConfigType {
|
42
|
+
location: Mark43ProcessLocationConfigType
|
43
|
+
comment: Mark43ProcessCommentConfigType
|
44
|
+
vehicleStatus: Mark43ProcessVehicleStatusConfigType
|
45
|
+
}
|
46
|
+
|
47
|
+
interface Mark43ConfigType {
|
48
|
+
baseUrl: string,
|
49
|
+
authToken: string,
|
50
|
+
apiToken: string,
|
51
|
+
userId: number,
|
52
|
+
enabled: boolean,
|
53
|
+
unitStatusCodes: Mark43StatusConfigType,
|
54
|
+
process: Mark43ProcessConfigType
|
55
|
+
}
|
56
|
+
|
57
|
+
interface IntterraFieldsType {
|
58
|
+
key: string,
|
59
|
+
value: string,
|
60
|
+
transformationRequired: boolean,
|
61
|
+
required: boolean,
|
62
|
+
enabled: boolean,
|
63
|
+
}
|
64
|
+
|
65
|
+
interface IntterraConnectionType {
|
66
|
+
active: boolean,
|
67
|
+
fields: IntterraFieldsType[],
|
68
|
+
callTypes: string[],
|
69
|
+
authKey: string,
|
70
|
+
authKeySecret: string,
|
71
|
+
agency: string,
|
72
|
+
description: string,
|
73
|
+
}
|
74
|
+
|
75
|
+
interface IntterraConfigType {
|
76
|
+
enabled: boolean,
|
77
|
+
connections: IntterraConnectionType[],
|
78
|
+
}
|
79
|
+
|
80
|
+
interface SkymiraConfigType {
|
81
|
+
enabled: boolean,
|
82
|
+
token: string,
|
83
|
+
locationsUrl: string,
|
84
|
+
}
|
85
|
+
|
86
|
+
interface SkytracConfigType {
|
87
|
+
enabled: boolean
|
88
|
+
licenseKey: string,
|
89
|
+
username: string,
|
90
|
+
secret: string,
|
91
|
+
serviceUrl: string,
|
92
|
+
configTag: string,
|
93
|
+
}
|
94
|
+
interface SimpleSenseConfigType {
|
95
|
+
token: string,
|
96
|
+
}
|
97
|
+
|
98
|
+
interface StatusMappingObjectConfigType {
|
99
|
+
status: string,
|
100
|
+
statusCode: string,
|
101
|
+
}
|
102
|
+
|
103
|
+
interface StatusMappingConfigType {
|
104
|
+
TimeDispatched: StatusMappingObjectConfigType
|
105
|
+
TimeEnroute: StatusMappingObjectConfigType
|
106
|
+
TimeStaged: StatusMappingObjectConfigType
|
107
|
+
TimeArrived: StatusMappingObjectConfigType
|
108
|
+
TimeCleared: StatusMappingObjectConfigType
|
109
|
+
TimeAtHospital: StatusMappingObjectConfigType
|
110
|
+
TimePatient: StatusMappingObjectConfigType
|
111
|
+
TimeTransporting: StatusMappingObjectConfigType
|
112
|
+
TimeTransportComplete: StatusMappingObjectConfigType
|
113
|
+
}
|
114
|
+
|
115
|
+
interface IncidentVehicleStatusConfigType {
|
116
|
+
enabled: boolean
|
117
|
+
statusMappings: StatusMappingConfigType
|
118
|
+
statusExclusions: string[]
|
119
|
+
}
|
120
|
+
|
121
|
+
interface FirstArrivingConfigType {
|
122
|
+
token: string,
|
123
|
+
apiUrl: string
|
124
|
+
}
|
125
|
+
|
126
|
+
interface SafetyPriorityKeywordType {
|
127
|
+
priority: number,
|
128
|
+
keywords: string[],
|
129
|
+
hexColor: string,
|
130
|
+
}
|
131
|
+
|
132
|
+
interface WebDisclaimerType {
|
133
|
+
message: string,
|
134
|
+
enabled: boolean,
|
135
|
+
}
|
136
|
+
|
137
|
+
interface AudioStreamType {
|
138
|
+
description: string,
|
139
|
+
channel: string,
|
140
|
+
url: string,
|
141
|
+
order: number,
|
142
|
+
}
|
143
|
+
|
144
|
+
interface AudioStreamGroupType {
|
145
|
+
group: string,
|
146
|
+
streams: AudioStreamType[],
|
147
|
+
order: number,
|
148
|
+
}
|
149
|
+
|
150
|
+
interface RestrictedCommentsType {
|
151
|
+
enabled: boolean,
|
152
|
+
callTypesAllowed: string[],
|
153
|
+
statusesAllowed: string[],
|
154
|
+
restrictedFields: string[],
|
155
|
+
restrictedMessage: string,
|
156
|
+
}
|
157
|
+
|
158
|
+
interface CustomButtonsType {
|
159
|
+
name: string,
|
160
|
+
url: string,
|
161
|
+
order: number,
|
162
|
+
allowExternal: boolean,
|
163
|
+
defaultExternal: boolean,
|
164
|
+
allowFloating: boolean,
|
165
|
+
color: ColorSchemaType,
|
166
|
+
}
|
167
|
+
|
168
|
+
interface FireMapperLayerType {
|
169
|
+
pathname: string,
|
170
|
+
name: string,
|
171
|
+
}
|
172
|
+
|
173
|
+
interface FireMapperOutlineType {
|
174
|
+
uuid: string,
|
175
|
+
layer: FireMapperLayerType[],
|
176
|
+
}
|
177
|
+
|
178
|
+
interface SamsaraConfigurationType {
|
179
|
+
enabled: boolean,
|
180
|
+
token: string,
|
181
|
+
}
|
182
|
+
|
183
|
+
interface FireMapperConfigurationType {
|
184
|
+
enabled: boolean,
|
185
|
+
layerRefreshInterval: number,
|
186
|
+
proLicenseCount: number,
|
187
|
+
host: string,
|
188
|
+
layer: FireMapperLayerType[],
|
189
|
+
staticLayer: FireMapperOutlineType[],
|
190
|
+
}
|
191
|
+
|
192
|
+
interface LicensingType {
|
193
|
+
tcPro2Way: number,
|
194
|
+
tcPro1Way: number,
|
195
|
+
tcMobile: number,
|
196
|
+
tcWeb: number,
|
197
|
+
fireMapperPro: number,
|
198
|
+
sendToCAD: number,
|
199
|
+
tcStreams: number,
|
200
|
+
}
|
201
|
+
|
202
|
+
interface IncidentTypeType {
|
203
|
+
name: string,
|
204
|
+
value: string,
|
205
|
+
allowPartialMatch: boolean,
|
206
|
+
callTypeDescription: string[],
|
207
|
+
callType: string[],
|
208
|
+
}
|
209
|
+
|
210
|
+
interface ShareIncidentRuleType {
|
211
|
+
ruleType: string,
|
212
|
+
departmentId: string,
|
213
|
+
departmentName: string,
|
214
|
+
configuration: object,
|
215
|
+
}
|
216
|
+
|
217
|
+
export interface Department extends Record<string, unknown> {
|
218
|
+
_id: Types.ObjectId,
|
219
|
+
id?: string,
|
220
|
+
uuid: string,
|
221
|
+
department: string,
|
222
|
+
fdid: string,
|
223
|
+
addressDetails: {
|
224
|
+
address: string,
|
225
|
+
city: string,
|
226
|
+
state: string,
|
227
|
+
zipCode: string,
|
228
|
+
country: string,
|
229
|
+
},
|
230
|
+
contact: {
|
231
|
+
department: string,
|
232
|
+
name: string,
|
233
|
+
phone: string,
|
234
|
+
email: string,
|
235
|
+
},
|
236
|
+
modified_unix_date: number,
|
237
|
+
modified: Date,
|
238
|
+
active: boolean,
|
239
|
+
apikey: string,
|
240
|
+
partialApiKey: string,
|
241
|
+
cadEmailUsername: string,
|
242
|
+
notificationEmails: string[]
|
243
|
+
rosteringEnabled: boolean,
|
244
|
+
externalNotificationsEnabled: boolean,
|
245
|
+
cadBidirectionalEnabled: boolean,
|
246
|
+
cadOneWayVehiclesEnabled: boolean,
|
247
|
+
cadAllowedIPAddresses: string[]
|
248
|
+
cadGetLocationEnabled: boolean,
|
249
|
+
cadAllowIgnoreAfterDays: number,
|
250
|
+
connectivity: {
|
251
|
+
incident: {
|
252
|
+
enabled: boolean,
|
253
|
+
staleMinutes: number,
|
254
|
+
heartbeatMinutes: number,
|
255
|
+
},
|
256
|
+
location: {
|
257
|
+
enabled: boolean,
|
258
|
+
staleMinutes: number,
|
259
|
+
heartbeatMinutes: number,
|
260
|
+
},
|
261
|
+
status: {
|
262
|
+
enabled: boolean,
|
263
|
+
staleMinutes: number,
|
264
|
+
heartbeatMinutes: number,
|
265
|
+
ackUnitsCount: number,
|
266
|
+
}
|
267
|
+
},
|
268
|
+
selfAssignmentEnabled: boolean,
|
269
|
+
userContributionEnabled: boolean,
|
270
|
+
vehicleSwapEnabled: boolean,
|
271
|
+
personnelStaffingEnabled: boolean,
|
272
|
+
authSource: string[],
|
273
|
+
defaultMapPosition: {
|
274
|
+
longitude: number,
|
275
|
+
latitude: number,
|
276
|
+
},
|
277
|
+
fireMapPDFReader: string,
|
278
|
+
locationStaleMinutes: number,
|
279
|
+
beaconEnabled: boolean,
|
280
|
+
firstArrivingEnabled: boolean,
|
281
|
+
firstArriving: FirstArrivingConfigType,
|
282
|
+
simpleSenseEnabled: boolean,
|
283
|
+
simpleSense: SimpleSenseConfigType,
|
284
|
+
incidentVehicleStatusEnabled: boolean,
|
285
|
+
fireMapperEnabled: boolean,
|
286
|
+
fireMapperRefreshInterval: number,
|
287
|
+
fireMapperProLicenses: number,
|
288
|
+
fireMapper: FireMapperConfigurationType,
|
289
|
+
arcGISMapsEnabled: boolean,
|
290
|
+
beansAIEnabled: boolean,
|
291
|
+
mowsEnabled: boolean,
|
292
|
+
rtsEnabled: boolean,
|
293
|
+
rtsChannelPrefix: string,
|
294
|
+
pubNubV3: PubNubTokenSchemaType,
|
295
|
+
socketIO: PubNubTokenSchemaType,
|
296
|
+
esriGeoJSONFilename: string,
|
297
|
+
incidentTypes: IncidentTypeType[],
|
298
|
+
ackDelimiter: string,
|
299
|
+
callTypeBlock: string[]
|
300
|
+
agencyIds: Types.ObjectId[],
|
301
|
+
signupKey: string,
|
302
|
+
signupDomains: string[],
|
303
|
+
safetyPriorityKeywords: SafetyPriorityKeywordType[],
|
304
|
+
shareLocationPhones: boolean,
|
305
|
+
shareLocationTablets: boolean,
|
306
|
+
shareAVL: {
|
307
|
+
enabled: boolean,
|
308
|
+
opAreaName: string,
|
309
|
+
opAreaCode: string,
|
310
|
+
fadeZoomLevel: number,
|
311
|
+
},
|
312
|
+
shareIncident: {
|
313
|
+
enabled: boolean,
|
314
|
+
rules: ShareIncidentRuleType[],
|
315
|
+
},
|
316
|
+
speedReportingEnabled: boolean,
|
317
|
+
accountType: string,
|
318
|
+
timeZone: string,
|
319
|
+
remoteLoggingEnabled: boolean,
|
320
|
+
logOffEnabled: boolean,
|
321
|
+
licensing: LicensingType,
|
322
|
+
webDisclaimer: WebDisclaimerType,
|
323
|
+
addUserInstructions: string,
|
324
|
+
restrictedComments: RestrictedCommentsType,
|
325
|
+
customButtons: CustomButtonsType[],
|
326
|
+
reportNumberEnabled: boolean,
|
327
|
+
audioConfiguration: AudioStreamGroupType[]
|
328
|
+
minPasswordLength: number,
|
329
|
+
zonehaven: {
|
330
|
+
enabled: boolean,
|
331
|
+
visible: boolean,
|
332
|
+
layerUrl: string,
|
333
|
+
fadeZoomLevel: number,
|
334
|
+
},
|
335
|
+
activeUserCount: number,
|
336
|
+
samsara: SamsaraConfigurationType
|
337
|
+
mark43: Mark43ConfigType
|
338
|
+
intterra: IntterraConfigType
|
339
|
+
vehicleRadioNameIsStable: boolean,
|
340
|
+
cadIncidentHistoryType: number[],
|
341
|
+
}
|
18
342
|
|
19
|
-
|
20
|
-
|
343
|
+
const Mark43StatusConfigDefault = {
|
344
|
+
TimeDispatched: ["D"],
|
345
|
+
TimeEnroute: ["EN"],
|
346
|
+
TimeStaged: ["ST"],
|
347
|
+
TimeCleared: ["AV", "AVF", "AOR"],
|
348
|
+
TimeAtHospital: ["AH"],
|
349
|
+
TimeTransporting: ["T", "EH"],
|
350
|
+
TimeArrived: ["ATS", "A"],
|
351
|
+
};
|
352
|
+
|
353
|
+
const IntterraFieldsDefault = [
|
354
|
+
{
|
355
|
+
"key": "IncidentNumber",
|
356
|
+
"value": "incidentId",
|
357
|
+
"required": true,
|
358
|
+
"enabled": true,
|
359
|
+
"transformationRequired": false,
|
360
|
+
},
|
361
|
+
{
|
362
|
+
"key": "AgencyIncidentCallTypeDescription",
|
363
|
+
"value": "incidentTypeDescription",
|
364
|
+
"required": false,
|
365
|
+
"enabled": true,
|
366
|
+
"transformationRequired": false,
|
367
|
+
},
|
368
|
+
{
|
369
|
+
"key": "units",
|
370
|
+
"value": "assignedUnits",
|
371
|
+
"required": false,
|
372
|
+
"enabled": true,
|
373
|
+
"transformationRequired": true,
|
374
|
+
},
|
375
|
+
{
|
376
|
+
"key": "Longitude",
|
377
|
+
"value": "longitude",
|
378
|
+
"required": false,
|
379
|
+
"enabled": true,
|
380
|
+
"transformationRequired": false,
|
381
|
+
},
|
382
|
+
{
|
383
|
+
"key": "Latitude",
|
384
|
+
"value": "latitude",
|
385
|
+
"required": false,
|
386
|
+
"enabled": true,
|
387
|
+
"transformationRequired": false,
|
388
|
+
},
|
389
|
+
{
|
390
|
+
"key": "full_address",
|
391
|
+
"value": "fullAddress",
|
392
|
+
"required": false,
|
393
|
+
"enabled": true,
|
394
|
+
"transformationRequired": false,
|
395
|
+
},
|
396
|
+
{
|
397
|
+
"key": "EntryDateTime",
|
398
|
+
"value": "alarmDatetime", // cspell:disable-line
|
399
|
+
"required": false,
|
400
|
+
"enabled": true,
|
401
|
+
"transformationRequired": false,
|
402
|
+
}
|
403
|
+
];
|
404
|
+
|
405
|
+
// If any of the following fields are updated/added/deleted,
|
406
|
+
// make sure to update the database records, before/after release (script/query)
|
407
|
+
const FireMapperConfigurationDefault = {
|
408
|
+
enabled: false,
|
409
|
+
layerRefreshInterval: 15,
|
410
|
+
proLicenseCount: 0,
|
411
|
+
host: "",
|
412
|
+
layer: [
|
413
|
+
{
|
414
|
+
name: "FireMapper - Symbols",
|
415
|
+
pathname: "/api/rest/services/features/FeatureServer/0",
|
416
|
+
},
|
417
|
+
{
|
418
|
+
name: "FireMapper - Lines",
|
419
|
+
pathname: "/api/rest/services/features/FeatureServer/1",
|
420
|
+
},
|
421
|
+
{
|
422
|
+
name: "FireMapper - Photos",
|
423
|
+
pathname: "/api/rest/services/features/FeatureServer/2",
|
424
|
+
},
|
425
|
+
{
|
426
|
+
name: "FireMapper - Areas",
|
427
|
+
pathname: "/api/rest/services/features/FeatureServer/3",
|
428
|
+
},
|
429
|
+
{
|
430
|
+
name: "FireMapper - PDFs",
|
431
|
+
pathname: "/api/rest/services/features/FeatureServer/4",
|
432
|
+
},
|
433
|
+
{
|
434
|
+
name: "FireMapper - Labels",
|
435
|
+
pathname: "/api/rest/services/features/FeatureServer/5",
|
436
|
+
},
|
437
|
+
],
|
438
|
+
staticLayer: [],
|
439
|
+
};
|
440
|
+
|
441
|
+
const LicensingDefault = {
|
442
|
+
"tcPro2Way": 0,
|
443
|
+
"tcPro1Way": 0,
|
444
|
+
"tcMobile": 0,
|
445
|
+
"tcWeb": 0,
|
446
|
+
"fireMapperPro": 0,
|
447
|
+
"sendToCAD": 0,
|
448
|
+
"tcStreams": 0
|
449
|
+
};
|
450
|
+
|
451
|
+
const SafetyPriorityKeywordDefault = [
|
452
|
+
{
|
453
|
+
"keywords": [],
|
454
|
+
"priority": 0,
|
455
|
+
"hexColor": "FF3B30"
|
456
|
+
},
|
457
|
+
{
|
458
|
+
"keywords": [],
|
459
|
+
"priority": 1,
|
460
|
+
"hexColor": "FEC309"
|
461
|
+
},
|
462
|
+
{
|
463
|
+
"keywords": [],
|
464
|
+
"priority": 2,
|
465
|
+
"hexColor": "0A60FF"
|
466
|
+
}
|
467
|
+
];
|
468
|
+
|
469
|
+
const FirstArrivingConfigDefault = {
|
470
|
+
"token": "",
|
471
|
+
"apiUrl": "",
|
472
|
+
};
|
473
|
+
|
474
|
+
const IntterraConfigDefault = {
|
475
|
+
"enabled": false,
|
476
|
+
"connections": [],
|
477
|
+
};
|
478
|
+
|
479
|
+
const SkymiraConfigDefault = {
|
480
|
+
"enabled": false,
|
481
|
+
"token": "",
|
482
|
+
"locationsUrl": "",
|
483
|
+
};
|
484
|
+
|
485
|
+
const Mark43ConfigDefault = {
|
486
|
+
"baseUrl": "",
|
487
|
+
"authToken": "",
|
488
|
+
"apiToken": "",
|
489
|
+
"userId": 0,
|
490
|
+
"enabled": false,
|
491
|
+
};
|
492
|
+
|
493
|
+
const SimpleSenseConfigDefault = {
|
494
|
+
"token": "",
|
495
|
+
};
|
496
|
+
|
497
|
+
const WebDisclaimerDefault = {
|
498
|
+
"message": "",
|
499
|
+
"enabled": false
|
500
|
+
};
|
501
|
+
|
502
|
+
const RestrictedCommentsDefault = {
|
503
|
+
enabled: false,
|
504
|
+
callTypesAllowed: [],
|
505
|
+
statusesAllowed: [],
|
506
|
+
restrictedFields: [
|
507
|
+
"LocationComment",
|
508
|
+
"AgencyIncidentCallTypeDescription",
|
509
|
+
"Comment"
|
510
|
+
],
|
511
|
+
restrictedMessage: "RESTRICTED"
|
512
|
+
};
|
513
|
+
|
514
|
+
const SamsaraConfigurationDefault = {
|
515
|
+
enabled: false,
|
516
|
+
token: "",
|
517
|
+
};
|
518
|
+
|
519
|
+
|
520
|
+
export default async function DepartmentModule(mongoose: MongooseModule) {
|
521
|
+
const { Schema } = mongoose;
|
21
522
|
const PubNubToken = PubNubTokenSchema(mongoose);
|
22
523
|
const Color = ColorModule(mongoose);
|
23
524
|
|
24
|
-
const Mark43StatusConfig =
|
525
|
+
const Mark43StatusConfig = new Schema<Mark43StatusConfigType>({
|
25
526
|
TimeDispatched: {
|
26
527
|
type: [String],
|
27
528
|
default: []
|
@@ -55,17 +556,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
55
556
|
id: false,
|
56
557
|
});
|
57
558
|
|
58
|
-
const
|
59
|
-
TimeDispatched: ["D"],
|
60
|
-
TimeEnroute: ["EN"],
|
61
|
-
TimeStaged: ["ST"],
|
62
|
-
TimeCleared: ["AV", "AVF", "AOR"],
|
63
|
-
TimeAtHospital: ["AH"],
|
64
|
-
TimeTransporting: ["T", "EH"],
|
65
|
-
TimeArrived: ["ATS", "A"],
|
66
|
-
};
|
67
|
-
|
68
|
-
const Mark43ProcessLocationConfig = createSchema(Schema, {
|
559
|
+
const Mark43ProcessLocationConfig = new Schema<Mark43ProcessLocationConfigType>({
|
69
560
|
enabled: {
|
70
561
|
type: Boolean,
|
71
562
|
default: false,
|
@@ -79,8 +570,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
79
570
|
id: false,
|
80
571
|
});
|
81
572
|
|
82
|
-
|
83
|
-
const Mark43ProcessCommentConfig = createSchema(Schema, {
|
573
|
+
const Mark43ProcessCommentConfig = new Schema<Mark43ProcessCommentConfigType>({
|
84
574
|
enabled: {
|
85
575
|
type: Boolean,
|
86
576
|
default: false,
|
@@ -102,7 +592,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
102
592
|
id: false,
|
103
593
|
});
|
104
594
|
|
105
|
-
const Mark43ProcessVehicleStatusConfig =
|
595
|
+
const Mark43ProcessVehicleStatusConfig = new Schema<Mark43ProcessVehicleStatusConfigType>({
|
106
596
|
enabled: {
|
107
597
|
type: Boolean,
|
108
598
|
default: false,
|
@@ -120,7 +610,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
120
610
|
id: false,
|
121
611
|
});
|
122
612
|
|
123
|
-
const Mark43ProcessConfig =
|
613
|
+
const Mark43ProcessConfig = new Schema<Mark43ProcessConfigType>({
|
124
614
|
location: {
|
125
615
|
type: Mark43ProcessLocationConfig,
|
126
616
|
},
|
@@ -135,7 +625,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
135
625
|
id: false,
|
136
626
|
});
|
137
627
|
|
138
|
-
const Mark43Config =
|
628
|
+
const Mark43Config = new Schema<Mark43ConfigType>({
|
139
629
|
baseUrl: {
|
140
630
|
type: String,
|
141
631
|
default: "",
|
@@ -168,59 +658,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
168
658
|
id: false,
|
169
659
|
});
|
170
660
|
|
171
|
-
const
|
172
|
-
{
|
173
|
-
"key": "IncidentNumber",
|
174
|
-
"value": "incidentId",
|
175
|
-
"required": true,
|
176
|
-
"enabled": true,
|
177
|
-
"transformationRequired": false,
|
178
|
-
},
|
179
|
-
{
|
180
|
-
"key": "AgencyIncidentCallTypeDescription",
|
181
|
-
"value": "incidentTypeDescription",
|
182
|
-
"required": false,
|
183
|
-
"enabled": true,
|
184
|
-
"transformationRequired": false,
|
185
|
-
},
|
186
|
-
{
|
187
|
-
"key": "units",
|
188
|
-
"value": "assignedUnits",
|
189
|
-
"required": false,
|
190
|
-
"enabled": true,
|
191
|
-
"transformationRequired": true,
|
192
|
-
},
|
193
|
-
{
|
194
|
-
"key": "Longitude",
|
195
|
-
"value": "longitude",
|
196
|
-
"required": false,
|
197
|
-
"enabled": true,
|
198
|
-
"transformationRequired": false,
|
199
|
-
},
|
200
|
-
{
|
201
|
-
"key": "Latitude",
|
202
|
-
"value": "latitude",
|
203
|
-
"required": false,
|
204
|
-
"enabled": true,
|
205
|
-
"transformationRequired": false,
|
206
|
-
},
|
207
|
-
{
|
208
|
-
"key": "full_address",
|
209
|
-
"value": "fullAddress",
|
210
|
-
"required": false,
|
211
|
-
"enabled": true,
|
212
|
-
"transformationRequired": false,
|
213
|
-
},
|
214
|
-
{
|
215
|
-
"key": "EntryDateTime",
|
216
|
-
"value": "alarmDatetime", // cspell:disable-line
|
217
|
-
"required": false,
|
218
|
-
"enabled": true,
|
219
|
-
"transformationRequired": false,
|
220
|
-
}
|
221
|
-
];
|
222
|
-
|
223
|
-
const IntterraFields = createSchema(Schema, {
|
661
|
+
const IntterraFields = new Schema<IntterraFieldsType>({
|
224
662
|
key: {
|
225
663
|
type: String,
|
226
664
|
default: "",
|
@@ -246,7 +684,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
246
684
|
id: false,
|
247
685
|
});
|
248
686
|
|
249
|
-
const IntterraConnection =
|
687
|
+
const IntterraConnection = new Schema<IntterraConnectionType>({
|
250
688
|
active: {
|
251
689
|
type: Boolean,
|
252
690
|
default: false,
|
@@ -280,7 +718,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
280
718
|
id: false,
|
281
719
|
});
|
282
720
|
|
283
|
-
const IntterraConfig =
|
721
|
+
const IntterraConfig = new Schema<IntterraConfigType>({
|
284
722
|
enabled: {
|
285
723
|
type: Boolean,
|
286
724
|
default: false,
|
@@ -294,7 +732,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
294
732
|
id: false,
|
295
733
|
});
|
296
734
|
|
297
|
-
const SkymiraConfig =
|
735
|
+
const SkymiraConfig = new Schema<SkymiraConfigType>({
|
298
736
|
enabled: {
|
299
737
|
type: Boolean,
|
300
738
|
default: false,
|
@@ -312,7 +750,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
312
750
|
id: false,
|
313
751
|
});
|
314
752
|
|
315
|
-
const SkytracConfig =
|
753
|
+
const SkytracConfig = new Schema<SkytracConfigType>({
|
316
754
|
enabled: {
|
317
755
|
type: Boolean,
|
318
756
|
default: false,
|
@@ -342,7 +780,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
342
780
|
id: false,
|
343
781
|
});
|
344
782
|
|
345
|
-
const SimpleSenseConfig =
|
783
|
+
const SimpleSenseConfig = new Schema<SimpleSenseConfigType>({
|
346
784
|
token: {
|
347
785
|
type: String,
|
348
786
|
default: "",
|
@@ -352,7 +790,8 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
352
790
|
id: false,
|
353
791
|
});
|
354
792
|
|
355
|
-
|
793
|
+
|
794
|
+
const StatusMappingObjectConfig = new Schema<StatusMappingObjectConfigType>({
|
356
795
|
status: {
|
357
796
|
type: String,
|
358
797
|
default: "",
|
@@ -366,7 +805,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
366
805
|
id: false,
|
367
806
|
});
|
368
807
|
|
369
|
-
const StatusMappingConfig =
|
808
|
+
const StatusMappingConfig = new Schema<StatusMappingConfigType>({
|
370
809
|
TimeDispatched: {
|
371
810
|
type: StatusMappingObjectConfig,
|
372
811
|
},
|
@@ -439,7 +878,8 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
439
878
|
}
|
440
879
|
};
|
441
880
|
|
442
|
-
|
881
|
+
|
882
|
+
const IncidentVehicleStatusConfig = new Schema<IncidentVehicleStatusConfigType>({
|
443
883
|
enabled: {
|
444
884
|
type: Boolean,
|
445
885
|
default: false,
|
@@ -457,7 +897,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
457
897
|
id: false,
|
458
898
|
});
|
459
899
|
|
460
|
-
const FirstArrivingConfig =
|
900
|
+
const FirstArrivingConfig = new Schema<FirstArrivingConfigType>({
|
461
901
|
token: {
|
462
902
|
type: String,
|
463
903
|
default: "",
|
@@ -472,7 +912,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
472
912
|
});
|
473
913
|
|
474
914
|
|
475
|
-
const SafetyPriorityKeyword =
|
915
|
+
const SafetyPriorityKeyword = new Schema<SafetyPriorityKeywordType>({
|
476
916
|
priority: {
|
477
917
|
type: Number,
|
478
918
|
default: 6,
|
@@ -489,7 +929,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
489
929
|
id: false,
|
490
930
|
});
|
491
931
|
|
492
|
-
const WebDisclaimer =
|
932
|
+
const WebDisclaimer = new Schema<WebDisclaimerType>({
|
493
933
|
message: {
|
494
934
|
type: String,
|
495
935
|
default: "",
|
@@ -503,7 +943,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
503
943
|
id: false,
|
504
944
|
});
|
505
945
|
|
506
|
-
const AudioStream =
|
946
|
+
const AudioStream = new Schema<AudioStreamType>({
|
507
947
|
// eg. Central Dispatch Talk Group or also Available on 89.5 MHz
|
508
948
|
description: {
|
509
949
|
type: String,
|
@@ -527,7 +967,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
527
967
|
id: false,
|
528
968
|
});
|
529
969
|
|
530
|
-
const AudioStreamGroup =
|
970
|
+
const AudioStreamGroup = new Schema<AudioStreamGroupType>({
|
531
971
|
group: {
|
532
972
|
type: String,
|
533
973
|
default: "",
|
@@ -545,7 +985,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
545
985
|
id: false,
|
546
986
|
});
|
547
987
|
|
548
|
-
const RestrictedComments =
|
988
|
+
const RestrictedComments = new Schema<RestrictedCommentsType>({
|
549
989
|
enabled: {
|
550
990
|
type: Boolean,
|
551
991
|
default: false,
|
@@ -571,7 +1011,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
571
1011
|
id: false,
|
572
1012
|
});
|
573
1013
|
|
574
|
-
const CustomButtons =
|
1014
|
+
const CustomButtons = new Schema<CustomButtonsType>({
|
575
1015
|
name: {
|
576
1016
|
type: String,
|
577
1017
|
default: "",
|
@@ -605,7 +1045,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
605
1045
|
id: false,
|
606
1046
|
});
|
607
1047
|
|
608
|
-
const FireMapperLayer =
|
1048
|
+
const FireMapperLayer = new Schema<FireMapperLayerType>({
|
609
1049
|
pathname: {
|
610
1050
|
type: String,
|
611
1051
|
default: "", // Eg. /api/rest/services/features/FeatureServer/0 (including 0)
|
@@ -619,7 +1059,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
619
1059
|
id: false,
|
620
1060
|
});
|
621
1061
|
|
622
|
-
const FireMapperOutline =
|
1062
|
+
const FireMapperOutline = new Schema<FireMapperOutlineType>({
|
623
1063
|
uuid: {
|
624
1064
|
type: String,
|
625
1065
|
default: "",
|
@@ -633,7 +1073,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
633
1073
|
id: false,
|
634
1074
|
});
|
635
1075
|
|
636
|
-
const SamsaraConfiguration =
|
1076
|
+
const SamsaraConfiguration = new Schema<SamsaraConfigurationType>({
|
637
1077
|
enabled: {
|
638
1078
|
type: Boolean,
|
639
1079
|
default: false,
|
@@ -647,12 +1087,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
647
1087
|
id: false,
|
648
1088
|
});
|
649
1089
|
|
650
|
-
const
|
651
|
-
enabled: false,
|
652
|
-
token: "",
|
653
|
-
};
|
654
|
-
|
655
|
-
const FireMapperConfiguration = createSchema(Schema, {
|
1090
|
+
const FireMapperConfiguration = new Schema<FireMapperConfigurationType>({
|
656
1091
|
enabled: {
|
657
1092
|
type: Boolean,
|
658
1093
|
default: false,
|
@@ -688,43 +1123,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
688
1123
|
id: false,
|
689
1124
|
});
|
690
1125
|
|
691
|
-
|
692
|
-
// make sure to update the database records, before/after release (script/query)
|
693
|
-
const FireMapperConfigurationDefault = {
|
694
|
-
enabled: false,
|
695
|
-
layerRefreshInterval: 15,
|
696
|
-
proLicenseCount: 0,
|
697
|
-
host: "",
|
698
|
-
layer: [
|
699
|
-
{
|
700
|
-
name: "FireMapper - Symbols",
|
701
|
-
pathname: "/api/rest/services/features/FeatureServer/0",
|
702
|
-
},
|
703
|
-
{
|
704
|
-
name: "FireMapper - Lines",
|
705
|
-
pathname: "/api/rest/services/features/FeatureServer/1",
|
706
|
-
},
|
707
|
-
{
|
708
|
-
name: "FireMapper - Photos",
|
709
|
-
pathname: "/api/rest/services/features/FeatureServer/2",
|
710
|
-
},
|
711
|
-
{
|
712
|
-
name: "FireMapper - Areas",
|
713
|
-
pathname: "/api/rest/services/features/FeatureServer/3",
|
714
|
-
},
|
715
|
-
{
|
716
|
-
name: "FireMapper - PDFs",
|
717
|
-
pathname: "/api/rest/services/features/FeatureServer/4",
|
718
|
-
},
|
719
|
-
{
|
720
|
-
name: "FireMapper - Labels",
|
721
|
-
pathname: "/api/rest/services/features/FeatureServer/5",
|
722
|
-
},
|
723
|
-
],
|
724
|
-
staticLayer: [],
|
725
|
-
};
|
726
|
-
|
727
|
-
const Licensing = createSchema(Schema, {
|
1126
|
+
const Licensing = new Schema<LicensingType>({
|
728
1127
|
tcPro2Way: {
|
729
1128
|
type: Number,
|
730
1129
|
default: 0,
|
@@ -758,80 +1157,17 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
758
1157
|
id: false,
|
759
1158
|
});
|
760
1159
|
|
761
|
-
const LicensingDefault = {
|
762
|
-
"tcPro2Way": 0,
|
763
|
-
"tcPro1Way": 0,
|
764
|
-
"tcMobile": 0,
|
765
|
-
"tcWeb": 0,
|
766
|
-
"fireMapperPro": 0,
|
767
|
-
"sendToCAD": 0,
|
768
|
-
"tcStreams": 0
|
769
|
-
};
|
770
1160
|
|
771
|
-
const SafetyPriorityKeywordDefault = [
|
772
|
-
{
|
773
|
-
"keywords": [],
|
774
|
-
"priority": 0,
|
775
|
-
"hexColor": "FF3B30"
|
776
|
-
},
|
777
|
-
{
|
778
|
-
"keywords": [],
|
779
|
-
"priority": 1,
|
780
|
-
"hexColor": "FEC309"
|
781
|
-
},
|
782
|
-
{
|
783
|
-
"keywords": [],
|
784
|
-
"priority": 2,
|
785
|
-
"hexColor": "0A60FF"
|
786
|
-
}
|
787
|
-
];
|
788
1161
|
|
789
|
-
const FirstArrivingConfigDefault = {
|
790
|
-
"token": "",
|
791
|
-
"apiUrl": "",
|
792
|
-
};
|
793
1162
|
|
794
|
-
const IntterraConfigDefault = {
|
795
|
-
"enabled": false,
|
796
|
-
"connections": [],
|
797
|
-
};
|
798
1163
|
|
799
|
-
const SkymiraConfigDefault = {
|
800
|
-
"enabled": false,
|
801
|
-
"token": "",
|
802
|
-
"locationsUrl": "",
|
803
|
-
};
|
804
1164
|
|
805
|
-
const Mark43ConfigDefault = {
|
806
|
-
"baseUrl": "",
|
807
|
-
"authToken": "",
|
808
|
-
"apiToken": "",
|
809
|
-
"userId": 0,
|
810
|
-
"enabled": false,
|
811
|
-
};
|
812
1165
|
|
813
|
-
const SimpleSenseConfigDefault = {
|
814
|
-
"token": "",
|
815
|
-
};
|
816
1166
|
|
817
|
-
const WebDisclaimerDefault = {
|
818
|
-
"message": "",
|
819
|
-
"enabled": false
|
820
|
-
};
|
821
1167
|
|
822
|
-
const RestrictedCommentsDefault = {
|
823
|
-
enabled: false,
|
824
|
-
callTypesAllowed: [],
|
825
|
-
statusesAllowed: [],
|
826
|
-
restrictedFields: [
|
827
|
-
"LocationComment",
|
828
|
-
"AgencyIncidentCallTypeDescription",
|
829
|
-
"Comment"
|
830
|
-
],
|
831
|
-
restrictedMessage: "RESTRICTED"
|
832
|
-
};
|
833
1168
|
|
834
|
-
|
1169
|
+
|
1170
|
+
const IncidentType = new Schema<IncidentTypeType>({
|
835
1171
|
name: {
|
836
1172
|
type: String,
|
837
1173
|
default: "Any",
|
@@ -860,7 +1196,7 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
860
1196
|
id: false,
|
861
1197
|
});
|
862
1198
|
|
863
|
-
const ShareIncidentRule =
|
1199
|
+
const ShareIncidentRule = new Schema<ShareIncidentRuleType>({
|
864
1200
|
ruleType: {
|
865
1201
|
type: String,
|
866
1202
|
default: "",
|
@@ -883,9 +1219,9 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
883
1219
|
});
|
884
1220
|
|
885
1221
|
// Main schema
|
886
|
-
const modelSchema =
|
1222
|
+
const modelSchema = new Schema<Department>({
|
887
1223
|
_id: {
|
888
|
-
type: Types.ObjectId,
|
1224
|
+
type: Schema.Types.ObjectId,
|
889
1225
|
auto: true,
|
890
1226
|
},
|
891
1227
|
uuid: {
|
@@ -1366,7 +1702,6 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
1366
1702
|
default: [],
|
1367
1703
|
},
|
1368
1704
|
}, {
|
1369
|
-
collection: "massive_admin",
|
1370
1705
|
});
|
1371
1706
|
|
1372
1707
|
modelSchema.set("autoIndex", false);
|
@@ -1374,23 +1709,19 @@ export async function DepartmentModule(mongoose: MongooseModule) {
|
|
1374
1709
|
updatedAt: "modified",
|
1375
1710
|
});
|
1376
1711
|
|
1712
|
+
modelSchema.virtual("id").get(function (this: Department) {
|
1713
|
+
return this._id.toHexString();
|
1714
|
+
});
|
1715
|
+
|
1377
1716
|
modelSchema.set("toJSON", {
|
1378
1717
|
virtuals: true,
|
1379
1718
|
versionKey: false,
|
1380
|
-
transform(doc: DocumentTypeFromSchema<typeof modelSchema>, ret: FieldsOfDocument<DocumentTypeFromSchema<typeof modelSchema>>) {
|
1381
|
-
ret.id = ret._id;
|
1382
|
-
},
|
1383
1719
|
});
|
1384
1720
|
|
1385
|
-
modelSchema.virtual("id").get(function(this: DocumentTypeFromSchema<typeof modelSchema>) {
|
1386
|
-
return this._id.toHexString();
|
1387
|
-
});
|
1388
1721
|
|
1389
1722
|
modelSchema.plugin(mongooseLeanVirtuals);
|
1390
1723
|
|
1391
|
-
return
|
1724
|
+
return mongoose.model<Department>("Department", modelSchema, "massive_admin", { overwriteModels: true });
|
1392
1725
|
}
|
1393
1726
|
|
1394
|
-
export interface
|
1395
|
-
export interface DepartmentModel extends ModelTypeFromTypeSchemaFunction<Department> { }
|
1396
|
-
export default DepartmentModule as ReplaceModelReturnType<typeof DepartmentModule, DepartmentModel>;
|
1727
|
+
export interface DepartmentModel extends Model<Department> { }
|