tabletcommand-backend-models 5.39.5 → 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 +5 -8
- package/build/models/remote-log-stream.js.map +1 -1
- package/build/models/remote-log.js +5 -8
- 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 -52
- package/definitions/models/remote-log-stream.d.ts.map +1 -1
- package/definitions/models/remote-log.d.ts +52 -53
- 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 +40 -15
- package/src/models/remote-log.ts +42 -15
- 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/src/tsconfig.json +1 -0
- 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
@@ -1,16 +1,62 @@
|
|
1
1
|
import {
|
2
2
|
MongooseModule,
|
3
|
-
createSchema,
|
4
3
|
currentDate,
|
5
4
|
} from "../../helpers";
|
6
5
|
|
7
6
|
// Properties shared between CAD and Managed Incident
|
8
7
|
// They are copied on iOS
|
9
8
|
|
9
|
+
export interface CADPersonSchemaType {
|
10
|
+
PersonnelID: string,
|
11
|
+
PersonnelName: string,
|
12
|
+
PersonnelRank: string,
|
13
|
+
PersonnelWorkCode: string,
|
14
|
+
PersonnelNote: string,
|
15
|
+
}
|
16
|
+
|
17
|
+
export interface RadioChannelSchemaType extends Record<string, unknown> {
|
18
|
+
name: string,
|
19
|
+
channel: string,
|
20
|
+
url: string,
|
21
|
+
channelDescription: string,
|
22
|
+
}
|
23
|
+
|
24
|
+
export interface RecordSchemaType {
|
25
|
+
name: string,
|
26
|
+
value: string,
|
27
|
+
}
|
28
|
+
|
29
|
+
export interface ReportNumberSchemaType {
|
30
|
+
name: string,
|
31
|
+
number: string,
|
32
|
+
}
|
33
|
+
|
34
|
+
export interface ShareReasonSchemaType {
|
35
|
+
name: string,
|
36
|
+
date: Date,
|
37
|
+
}
|
38
|
+
|
39
|
+
export interface SharedToSchemaType extends Record<string, unknown> {
|
40
|
+
departmentId: string,
|
41
|
+
name: string,
|
42
|
+
startAt: Date,
|
43
|
+
expireAt: Date,
|
44
|
+
active: boolean,
|
45
|
+
reasons: ShareReasonSchemaType[],
|
46
|
+
}
|
47
|
+
|
48
|
+
export interface SharedSourceSchemaType extends Record<string, unknown> {
|
49
|
+
name: string,
|
50
|
+
isExternal: boolean,
|
51
|
+
startAt?: Date,
|
52
|
+
expireAt?: Date,
|
53
|
+
reasons: ShareReasonSchemaType[]
|
54
|
+
}
|
55
|
+
|
10
56
|
export function CADPersonSchema(mongoose: MongooseModule) {
|
11
57
|
const { Schema } = mongoose;
|
12
58
|
|
13
|
-
const Person =
|
59
|
+
const Person = new Schema<CADPersonSchemaType>({
|
14
60
|
PersonnelID: {
|
15
61
|
type: String,
|
16
62
|
},
|
@@ -40,7 +86,7 @@ export function CADPersonSchema(mongoose: MongooseModule) {
|
|
40
86
|
export function RadioChannelSchema(mongoose: MongooseModule) {
|
41
87
|
const { Schema } = mongoose;
|
42
88
|
|
43
|
-
const RadioChannel =
|
89
|
+
const RadioChannel = new Schema<RadioChannelSchemaType>({
|
44
90
|
name: {
|
45
91
|
type: String,
|
46
92
|
default: "",
|
@@ -71,7 +117,7 @@ export function RadioChannelSchema(mongoose: MongooseModule) {
|
|
71
117
|
export function RecordSchema(mongoose: MongooseModule) {
|
72
118
|
const { Schema } = mongoose;
|
73
119
|
|
74
|
-
const Record =
|
120
|
+
const Record = new Schema<RecordSchemaType>({
|
75
121
|
name: {
|
76
122
|
type: String,
|
77
123
|
default: ""
|
@@ -94,7 +140,7 @@ export function RecordSchema(mongoose: MongooseModule) {
|
|
94
140
|
export function ReportNumberSchema(mongoose: MongooseModule) {
|
95
141
|
const { Schema } = mongoose;
|
96
142
|
|
97
|
-
const ReportNumber =
|
143
|
+
const ReportNumber = new Schema<ReportNumberSchemaType>({
|
98
144
|
name: {
|
99
145
|
type: String,
|
100
146
|
default: "",
|
@@ -117,7 +163,7 @@ export function ReportNumberSchema(mongoose: MongooseModule) {
|
|
117
163
|
export function ShareReasonSchema(mongoose: MongooseModule) {
|
118
164
|
const { Schema } = mongoose;
|
119
165
|
|
120
|
-
const ShareReason =
|
166
|
+
const ShareReason = new Schema<ShareReasonSchemaType>({
|
121
167
|
name: {
|
122
168
|
type: String,
|
123
169
|
default: "",
|
@@ -141,7 +187,7 @@ export function SharedToSchema(mongoose: MongooseModule) {
|
|
141
187
|
const { Schema } = mongoose;
|
142
188
|
const ShareReason = ShareReasonSchema(mongoose);
|
143
189
|
|
144
|
-
const SharedTo =
|
190
|
+
const SharedTo = new Schema<SharedToSchemaType>({
|
145
191
|
departmentId: {
|
146
192
|
type: String,
|
147
193
|
default: "",
|
@@ -182,7 +228,7 @@ export function SharedSourceSchema(mongoose: MongooseModule) {
|
|
182
228
|
const { Schema } = mongoose;
|
183
229
|
const ShareReason = ShareReasonSchema(mongoose);
|
184
230
|
|
185
|
-
const SharedSource =
|
231
|
+
const SharedSource = new Schema<SharedSourceSchemaType>({
|
186
232
|
// Department Name (always matches record .departmentId)
|
187
233
|
name: {
|
188
234
|
type: String,
|
@@ -1,13 +1,20 @@
|
|
1
1
|
import {
|
2
2
|
MongooseModule,
|
3
|
-
createSchema,
|
4
3
|
currentDate,
|
5
4
|
} from "../../helpers";
|
6
5
|
|
6
|
+
export interface ValidationErrorItemSchemaType {
|
7
|
+
message: string,
|
8
|
+
firstSeenAt: Date,
|
9
|
+
lastSeenAt: Date,
|
10
|
+
clearedAt: Date,
|
11
|
+
payload: object,
|
12
|
+
}
|
13
|
+
|
7
14
|
export default function ValidationErrorItemSchema(mongoose: MongooseModule) {
|
8
15
|
const { Schema } = mongoose;
|
9
16
|
|
10
|
-
const Item =
|
17
|
+
const Item = new Schema<ValidationErrorItemSchemaType>({
|
11
18
|
message: {
|
12
19
|
type: String,
|
13
20
|
default: "",
|
package/src/models/session.ts
CHANGED
@@ -1,27 +1,41 @@
|
|
1
1
|
import {
|
2
|
-
createModel,
|
3
|
-
createSchema,
|
4
|
-
DocumentTypeFromSchema,
|
5
|
-
FieldsOfDocument,
|
6
|
-
ItemTypeFromTypeSchemaFunction,
|
7
|
-
ModelTypeFromTypeSchemaFunction,
|
8
2
|
MongooseModule,
|
9
|
-
ReplaceModelReturnType,
|
10
3
|
} from "../helpers";
|
11
4
|
import * as uuid from "uuid";
|
12
5
|
|
13
|
-
import OAuthSchema from "./schema/oauth";
|
6
|
+
import OAuthSchema, { OAuthSchemaType } from "./schema/oauth";
|
7
|
+
import { Model } from "mongoose";
|
14
8
|
|
15
|
-
export
|
9
|
+
export interface Session {
|
10
|
+
_id: string,
|
11
|
+
id?: string,
|
12
|
+
nick: string,
|
13
|
+
email: string,
|
14
|
+
user: string,
|
15
|
+
active: boolean,
|
16
|
+
token: string,
|
17
|
+
source: string,
|
18
|
+
departmentId: string,
|
19
|
+
why: string,
|
20
|
+
when: string,
|
21
|
+
ended: string,
|
22
|
+
userAgent: string,
|
23
|
+
remoteAddress: string,
|
24
|
+
deviceId: string,
|
25
|
+
authSource: string,
|
26
|
+
oAuth: OAuthSchemaType,
|
27
|
+
}
|
28
|
+
|
29
|
+
export default async function SessionModule(mongoose: MongooseModule) {
|
16
30
|
const Schema = mongoose.Schema;
|
17
31
|
const OAuthToken = OAuthSchema(mongoose);
|
18
32
|
|
19
|
-
function requiredButAllowEmptyString(this:
|
33
|
+
function requiredButAllowEmptyString(this: Session) {
|
20
34
|
// Workaround to set required, and allow empty id
|
21
|
-
return typeof this.
|
35
|
+
return typeof this.departmentId === "string";
|
22
36
|
}
|
23
37
|
|
24
|
-
const modelSchema =
|
38
|
+
const modelSchema = new Schema<Session>({
|
25
39
|
_id: {
|
26
40
|
type: String,
|
27
41
|
default: uuid.v4,
|
@@ -75,30 +89,24 @@ export async function SessionModule(mongoose: MongooseModule) {
|
|
75
89
|
default: null,
|
76
90
|
},
|
77
91
|
}, {
|
78
|
-
collection: "sys_login",
|
79
92
|
});
|
80
93
|
modelSchema.set("autoIndex", false);
|
81
94
|
|
82
|
-
modelSchema.pre("save", function(next) {
|
83
|
-
this._id = this.get("token")
|
95
|
+
modelSchema.pre("save", function (next) {
|
96
|
+
this._id = this.get("token"); // Copy _id from token
|
84
97
|
next();
|
85
98
|
});
|
99
|
+
modelSchema.virtual("id").get(function (this: Session) {
|
100
|
+
return this._id.toString();
|
101
|
+
});
|
86
102
|
|
87
103
|
modelSchema.set("toJSON", {
|
88
104
|
virtuals: true,
|
89
105
|
versionKey: false,
|
90
|
-
transform(doc: DocumentTypeFromSchema<typeof modelSchema>, ret: FieldsOfDocument<DocumentTypeFromSchema<typeof modelSchema>>) {
|
91
|
-
ret.id = ret._id;
|
92
|
-
},
|
93
106
|
});
|
94
107
|
|
95
|
-
modelSchema.virtual("id").get(function(this: DocumentTypeFromSchema<typeof modelSchema>) {
|
96
|
-
return this._id.toString();
|
97
|
-
});
|
98
108
|
|
99
|
-
return
|
109
|
+
return mongoose.model<Session>("Session", modelSchema, "sys_login", { overwriteModels: true });
|
100
110
|
}
|
101
111
|
|
102
|
-
export interface
|
103
|
-
export interface SessionModel extends ModelTypeFromTypeSchemaFunction<Session> { }
|
104
|
-
export default SessionModule as ReplaceModelReturnType<typeof SessionModule, SessionModel>;
|
112
|
+
export interface SessionModel extends Model<Session> { }
|
@@ -1,20 +1,23 @@
|
|
1
|
+
import { Model, Types } from "mongoose";
|
1
2
|
import {
|
2
|
-
createModel,
|
3
|
-
createSchema,
|
4
|
-
ItemTypeFromTypeSchemaFunction,
|
5
|
-
ModelTypeFromTypeSchemaFunction,
|
6
3
|
MongooseDocument,
|
7
4
|
MongooseModule,
|
8
|
-
ReplaceModelReturnType,
|
9
5
|
} from "../helpers";
|
10
6
|
import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
|
11
7
|
|
12
|
-
export
|
13
|
-
|
8
|
+
export interface SMTPUnhandled {
|
9
|
+
_id: Types.ObjectId,
|
10
|
+
id?: string,
|
11
|
+
email: string,
|
12
|
+
message: string,
|
13
|
+
}
|
14
|
+
|
15
|
+
export default async function SMTPUnhandledModule(mongoose: MongooseModule) {
|
16
|
+
const { Schema } = mongoose;
|
14
17
|
|
15
|
-
const modelSchema =
|
18
|
+
const modelSchema = new Schema<SMTPUnhandled>({
|
16
19
|
_id: {
|
17
|
-
type: Types.ObjectId,
|
20
|
+
type: Schema.Types.ObjectId,
|
18
21
|
auto: true,
|
19
22
|
},
|
20
23
|
email: {
|
@@ -28,23 +31,20 @@ export async function SMTPUnhandledModule(mongoose: MongooseModule) {
|
|
28
31
|
required: true,
|
29
32
|
},
|
30
33
|
}, {
|
31
|
-
collection: "massive_smtp_unhandled",
|
32
34
|
});
|
33
35
|
modelSchema.set("toJSON", {
|
34
36
|
virtuals: true,
|
35
37
|
versionKey: false,
|
36
38
|
});
|
37
39
|
|
38
|
-
modelSchema.virtual("id").get(function(this: MongooseDocument) {
|
40
|
+
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
39
41
|
return this._id.toHexString();
|
40
42
|
});
|
41
43
|
|
42
44
|
modelSchema.plugin(mongooseLeanVirtuals);
|
43
45
|
modelSchema.set("autoIndex", false);
|
44
46
|
|
45
|
-
return
|
47
|
+
return mongoose.model<SMTPUnhandled>("SMTPUnhandled", modelSchema, "massive_smtp_unhandled", { overwriteModels: true });
|
46
48
|
}
|
47
49
|
|
48
|
-
export interface
|
49
|
-
export interface SMTPUnhandledModel extends ModelTypeFromTypeSchemaFunction<SMTPUnhandled> { }
|
50
|
-
export default SMTPUnhandledModule as ReplaceModelReturnType<typeof SMTPUnhandledModule, SMTPUnhandledModel>;
|
50
|
+
export interface SMTPUnhandledModel extends Model<SMTPUnhandled> { }
|
package/src/models/template.ts
CHANGED
@@ -1,23 +1,44 @@
|
|
1
1
|
import * as uuid from "uuid";
|
2
2
|
|
3
3
|
import {
|
4
|
-
createModel,
|
5
|
-
createSchema,
|
6
4
|
currentDate,
|
7
|
-
DocumentTypeFromSchema,
|
8
|
-
ItemTypeFromTypeSchemaFunction,
|
9
|
-
ModelFromSchema,
|
10
|
-
ModelTypeFromTypeSchemaFunction,
|
11
|
-
MongooseDocument,
|
12
5
|
MongooseModule,
|
13
|
-
ReplaceModelReturnType,
|
14
6
|
retrieveCurrentUnixTime
|
15
7
|
} from "../helpers";
|
8
|
+
import { Model, Types } from "mongoose";
|
9
|
+
|
10
|
+
interface ChecklistOptionType {
|
11
|
+
name: string,
|
12
|
+
position: number,
|
13
|
+
id: string,
|
14
|
+
}
|
15
|
+
|
16
|
+
interface GroupOptionType {
|
17
|
+
name: string,
|
18
|
+
position: number,
|
19
|
+
uuid: string,
|
20
|
+
}
|
21
|
+
export interface Template extends Record<string, unknown> {
|
22
|
+
_id: Types.ObjectId,
|
23
|
+
id?: string,
|
24
|
+
position: number,
|
25
|
+
userId: string,
|
26
|
+
uuid: string,
|
27
|
+
isMandatory: boolean,
|
28
|
+
modified_unix_date: number,
|
29
|
+
modified: Date,
|
30
|
+
departmentId: string,
|
31
|
+
active: boolean,
|
32
|
+
name: string,
|
33
|
+
checklist: ChecklistOptionType[],
|
34
|
+
group: GroupOptionType[],
|
35
|
+
agencyId: Types.ObjectId
|
36
|
+
}
|
16
37
|
|
17
38
|
export function TemplateSchema(mongoose: MongooseModule) {
|
18
|
-
const { Schema
|
39
|
+
const { Schema } = mongoose;
|
19
40
|
|
20
|
-
const ChecklistOption =
|
41
|
+
const ChecklistOption = new Schema<ChecklistOptionType>({
|
21
42
|
name: {
|
22
43
|
type: String,
|
23
44
|
default: "",
|
@@ -35,7 +56,7 @@ export function TemplateSchema(mongoose: MongooseModule) {
|
|
35
56
|
id: false,
|
36
57
|
});
|
37
58
|
|
38
|
-
const GroupOption =
|
59
|
+
const GroupOption = new Schema<GroupOptionType>({
|
39
60
|
name: {
|
40
61
|
type: String,
|
41
62
|
default: "",
|
@@ -53,9 +74,9 @@ export function TemplateSchema(mongoose: MongooseModule) {
|
|
53
74
|
id: false,
|
54
75
|
});
|
55
76
|
|
56
|
-
const modelSchema =
|
77
|
+
const modelSchema = new Schema<Template>({
|
57
78
|
_id: {
|
58
|
-
type: Types.ObjectId,
|
79
|
+
type: Schema.Types.ObjectId,
|
59
80
|
auto: true,
|
60
81
|
},
|
61
82
|
position: {
|
@@ -101,26 +122,25 @@ export function TemplateSchema(mongoose: MongooseModule) {
|
|
101
122
|
default: []
|
102
123
|
},
|
103
124
|
agencyId: {
|
104
|
-
type: Types.ObjectId,
|
125
|
+
type: Schema.Types.ObjectId,
|
105
126
|
ref: "Agency",
|
106
127
|
default: null,
|
107
128
|
},
|
108
129
|
}, {
|
109
|
-
collection: "massive_template",
|
110
130
|
});
|
111
131
|
modelSchema.set("autoIndex", false);
|
132
|
+
modelSchema.virtual("id").get(function (this: Template) {
|
133
|
+
return this._id.toHexString();
|
134
|
+
});
|
135
|
+
|
112
136
|
modelSchema.set("toJSON", {
|
113
137
|
virtuals: true,
|
114
138
|
versionKey: false,
|
115
|
-
transform(doc
|
139
|
+
transform(doc, ret) {
|
116
140
|
strictSchema(doc.schema as typeof modelSchema, ret);
|
117
|
-
ret.id = ret._id;
|
118
141
|
},
|
119
142
|
});
|
120
143
|
|
121
|
-
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
122
|
-
return this._id.toHexString();
|
123
|
-
});
|
124
144
|
|
125
145
|
function strictSchema(schema: typeof modelSchema, ret: Record<string, unknown>) {
|
126
146
|
Object.keys(ret).forEach(function (element) {
|
@@ -139,11 +159,9 @@ export function TemplateSchema(mongoose: MongooseModule) {
|
|
139
159
|
return modelSchema;
|
140
160
|
}
|
141
161
|
|
142
|
-
export async function TemplateModule(mongoose: MongooseModule) {
|
162
|
+
export default async function TemplateModule(mongoose: MongooseModule) {
|
143
163
|
const modelSchema = TemplateSchema(mongoose);
|
144
|
-
return
|
164
|
+
return mongoose.model<Template>("Template", modelSchema, "massive_template", { overwriteModels: true });
|
145
165
|
}
|
146
166
|
|
147
|
-
export interface
|
148
|
-
export interface TemplateModel extends ModelTypeFromTypeSchemaFunction<Template> { }
|
149
|
-
export default TemplateModule as ReplaceModelReturnType<typeof TemplateModule, TemplateModel>;
|
167
|
+
export interface TemplateModel extends Model<Template> { }
|
@@ -1,18 +1,68 @@
|
|
1
|
+
import { Model, Types } from "mongoose";
|
1
2
|
import {
|
2
|
-
createSchema,
|
3
|
-
createModel,
|
4
3
|
currentDate,
|
5
4
|
MongooseModule,
|
6
5
|
retrieveCurrentUnixTime,
|
7
|
-
ItemTypeFromTypeSchemaFunction,
|
8
|
-
ModelTypeFromTypeSchemaFunction,
|
9
|
-
ReplaceModelReturnType,
|
10
6
|
} from "../helpers";
|
11
7
|
|
12
|
-
|
13
|
-
|
8
|
+
interface UnitSettingType {
|
9
|
+
radioName: string,
|
10
|
+
notificationType: string,
|
11
|
+
notificationMode: string,
|
12
|
+
}
|
13
|
+
interface IncidentSettingType {
|
14
|
+
incidentType: string,
|
15
|
+
notificationType: string,
|
16
|
+
notificationMode: string,
|
17
|
+
}
|
18
|
+
|
19
|
+
interface DeviceSchemaType {
|
20
|
+
token: string,
|
21
|
+
env: string,
|
22
|
+
ver: string,
|
23
|
+
ua: string,
|
24
|
+
time: number,
|
25
|
+
t: Date,
|
26
|
+
drift: number,
|
27
|
+
channelId: string,
|
28
|
+
bundleIdentifier: string,
|
29
|
+
silentEnabled: boolean,
|
30
|
+
criticalAlertsEnabled: boolean,
|
31
|
+
session: string,
|
32
|
+
active: boolean,
|
33
|
+
offDuty: boolean,
|
34
|
+
}
|
35
|
+
|
36
|
+
interface SoundSchemaItemType {
|
37
|
+
sound: string,
|
38
|
+
soundType: string,
|
39
|
+
os: string,
|
40
|
+
}
|
41
|
+
|
42
|
+
interface SoundSchemaType {
|
43
|
+
ios: SoundSchemaItemType,
|
44
|
+
android: SoundSchemaItemType,
|
45
|
+
}
|
46
|
+
|
47
|
+
export interface UserDevice {
|
48
|
+
_id: Types.ObjectId,
|
49
|
+
userId: string,
|
50
|
+
departmentId: string,
|
51
|
+
devices: DeviceSchemaType[],
|
52
|
+
notificationCount: number,
|
53
|
+
notificationUnitSettings: UnitSettingType[],
|
54
|
+
notificationIncidentSettings: IncidentSettingType[],
|
55
|
+
notificationSounds: SoundSchemaType
|
56
|
+
offDuty: boolean,
|
57
|
+
criticalAlertsVolume: string,
|
58
|
+
allowInStaging: boolean,
|
59
|
+
restrictedCommentsEnabled: boolean,
|
60
|
+
}
|
61
|
+
|
62
|
+
export default async function UserDeviceModule(mongoose: MongooseModule) {
|
63
|
+
const { Schema } = mongoose;
|
14
64
|
|
15
|
-
const UnitSetting =
|
65
|
+
const UnitSetting = new Schema<UnitSettingType>({
|
16
66
|
radioName: {
|
17
67
|
type: String,
|
18
68
|
default: "",
|
@@ -30,7 +80,7 @@ export async function UserDeviceModule(mongoose: MongooseModule) {
|
|
30
80
|
id: false,
|
31
81
|
});
|
32
82
|
|
33
|
-
const IncidentSetting =
|
83
|
+
const IncidentSetting = new Schema<IncidentSettingType>({
|
34
84
|
incidentType: {
|
35
85
|
type: String,
|
36
86
|
default: "",
|
@@ -48,7 +98,7 @@ export async function UserDeviceModule(mongoose: MongooseModule) {
|
|
48
98
|
id: false,
|
49
99
|
});
|
50
100
|
|
51
|
-
const deviceSchema =
|
101
|
+
const deviceSchema = new Schema<DeviceSchemaType>({
|
52
102
|
token: {
|
53
103
|
type: String,
|
54
104
|
default: "",
|
@@ -115,7 +165,7 @@ export async function UserDeviceModule(mongoose: MongooseModule) {
|
|
115
165
|
id: false,
|
116
166
|
});
|
117
167
|
|
118
|
-
const soundSchemaItem =
|
168
|
+
const soundSchemaItem = new Schema<SoundSchemaItemType>({
|
119
169
|
sound: {
|
120
170
|
type: String,
|
121
171
|
},
|
@@ -131,7 +181,7 @@ export async function UserDeviceModule(mongoose: MongooseModule) {
|
|
131
181
|
id: false,
|
132
182
|
});
|
133
183
|
|
134
|
-
const soundSchema =
|
184
|
+
const soundSchema = new Schema<SoundSchemaType>({
|
135
185
|
ios: {
|
136
186
|
type: soundSchemaItem,
|
137
187
|
},
|
@@ -143,9 +193,9 @@ export async function UserDeviceModule(mongoose: MongooseModule) {
|
|
143
193
|
id: false,
|
144
194
|
});
|
145
195
|
|
146
|
-
const modelSchema =
|
196
|
+
const modelSchema = new Schema<UserDevice>({
|
147
197
|
_id: {
|
148
|
-
type: Types.ObjectId,
|
198
|
+
type: Schema.Types.ObjectId,
|
149
199
|
auto: true,
|
150
200
|
},
|
151
201
|
userId: {
|
@@ -196,13 +246,10 @@ export async function UserDeviceModule(mongoose: MongooseModule) {
|
|
196
246
|
default: false,
|
197
247
|
},
|
198
248
|
}, {
|
199
|
-
collection: "massive_user_device",
|
200
249
|
});
|
201
250
|
modelSchema.set("autoIndex", false);
|
202
251
|
|
203
|
-
return
|
252
|
+
return mongoose.model<UserDevice>("UserDevice", modelSchema, "massive_user_device", { overwriteModels: true });
|
204
253
|
}
|
205
254
|
|
206
|
-
export interface
|
207
|
-
export interface UserDeviceModel extends ModelTypeFromTypeSchemaFunction<UserDevice> { }
|
208
|
-
export default UserDeviceModule as ReplaceModelReturnType<typeof UserDeviceModule, UserDeviceModel>;
|
255
|
+
export interface UserDeviceModel extends Model<UserDevice> { }
|
@@ -1,17 +1,33 @@
|
|
1
|
+
import { Model } from "mongoose";
|
1
2
|
import {
|
2
|
-
createModel,
|
3
|
-
createSchema,
|
4
3
|
currentDate,
|
5
|
-
ItemTypeFromTypeSchemaFunction,
|
6
|
-
ModelTypeFromTypeSchemaFunction,
|
7
4
|
MongooseModule,
|
8
|
-
ReplaceModelReturnType,
|
9
5
|
} from "../helpers";
|
10
6
|
|
11
|
-
export
|
7
|
+
export interface UserRegistration {
|
8
|
+
email: string,
|
9
|
+
name: string,
|
10
|
+
firstName: string,
|
11
|
+
lastName: string,
|
12
|
+
department: string,
|
13
|
+
title: string,
|
14
|
+
status: string,
|
15
|
+
modifiedDate: number,
|
16
|
+
modified: Date,
|
17
|
+
presentedAt: number,
|
18
|
+
managedIncidentsCount: number,
|
19
|
+
checklistsCount: number,
|
20
|
+
stage: string,
|
21
|
+
firstIncidentUnixTime: number,
|
22
|
+
lastIncidentLocation: string,
|
23
|
+
lastIncidentUnixTime: number,
|
24
|
+
syncedToHubSpot: boolean,
|
25
|
+
}
|
26
|
+
|
27
|
+
export default async function UserRegistrationModule(mongoose: MongooseModule) {
|
12
28
|
const Schema = mongoose.Schema;
|
13
29
|
|
14
|
-
const modelSchema =
|
30
|
+
const modelSchema = new Schema<UserRegistration>({
|
15
31
|
email: {
|
16
32
|
type: String,
|
17
33
|
default: "",
|
@@ -87,13 +103,10 @@ export async function UserRegistrationModule(mongoose: MongooseModule) {
|
|
87
103
|
default: false,
|
88
104
|
},
|
89
105
|
}, {
|
90
|
-
|
106
|
+
autoIndex: false
|
91
107
|
});
|
92
|
-
modelSchema.set("autoIndex", false);
|
93
108
|
|
94
|
-
return
|
109
|
+
return mongoose.model<UserRegistration>("UserRegistration", modelSchema, "massive_user_registration", { overwriteModels: true });
|
95
110
|
}
|
96
111
|
|
97
|
-
export interface
|
98
|
-
export interface UserRegistrationModel extends ModelTypeFromTypeSchemaFunction<UserRegistration> { }
|
99
|
-
export default UserRegistrationModule as ReplaceModelReturnType<typeof UserRegistrationModule, UserRegistrationModel>;
|
112
|
+
export interface UserRegistrationModel extends Model<UserRegistration> { }
|