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/agency.ts
CHANGED
@@ -1,23 +1,57 @@
|
|
1
1
|
import * as uuid from "uuid";
|
2
2
|
import {
|
3
|
-
createModel,
|
4
|
-
createSchema,
|
5
3
|
currentDate,
|
6
|
-
ItemTypeFromTypeSchemaFunction,
|
7
|
-
ModelTypeFromTypeSchemaFunction,
|
8
4
|
MongooseModule,
|
9
|
-
ReplaceModelReturnType,
|
10
5
|
retrieveCurrentUnixTime,
|
11
6
|
} from "../helpers";
|
12
|
-
import AgencyCronConfigModule from "./schema/agency-cron-config";
|
13
|
-
import AgencySAMLModule from "./schema/agency-saml";
|
7
|
+
import AgencyCronConfigModule, { AgencyCronConfigType } from "./schema/agency-cron-config";
|
8
|
+
import AgencySAMLModule, { AgencySAMLSchemaType } from "./schema/agency-saml";
|
9
|
+
import { Model, Types } from "mongoose";
|
10
|
+
|
11
|
+
interface AgencyLicensing extends Record<string, unknown> {
|
12
|
+
tcPro: number,
|
13
|
+
tcManager: number,
|
14
|
+
tcStatus: number,
|
15
|
+
tcMobile: number,
|
16
|
+
tcWeb: number,
|
17
|
+
fireMapperPro: number,
|
18
|
+
locationToCAD: number,
|
19
|
+
}
|
20
|
+
|
21
|
+
interface CrossStaffedUnitType {
|
22
|
+
radioName: string,
|
23
|
+
crossStaffedUnits: string[],
|
24
|
+
alwaysCrossStaff: boolean,
|
25
|
+
}
|
26
|
+
|
27
|
+
export interface Agency extends Record<string, unknown> {
|
28
|
+
_id: Types.ObjectId,
|
29
|
+
code: string,
|
30
|
+
name: string,
|
31
|
+
domain: string
|
32
|
+
personnelApiKey: string,
|
33
|
+
agencyApiKey: string,
|
34
|
+
uuid: string,
|
35
|
+
modified_unix_date: number,
|
36
|
+
modified: Date,
|
37
|
+
active: boolean,
|
38
|
+
departmentId: Types.ObjectId,
|
39
|
+
administrators: Types.ObjectId[],
|
40
|
+
personnelIntegration: boolean,
|
41
|
+
personnelMonitorHours: number,
|
42
|
+
crossStaffing: CrossStaffedUnitType[],
|
43
|
+
licensing: AgencyLicensing,
|
44
|
+
cronConfig: AgencyCronConfigType,
|
45
|
+
saml: AgencySAMLSchemaType[],
|
46
|
+
activeUserCount: number,
|
47
|
+
}
|
14
48
|
|
15
49
|
export function AgencySchema(mongoose: MongooseModule) {
|
16
|
-
const { Schema
|
50
|
+
const { Schema } = mongoose;
|
17
51
|
const AgencyCronConfig = AgencyCronConfigModule(mongoose);
|
18
52
|
const AgencySAML = AgencySAMLModule(mongoose);
|
19
53
|
|
20
|
-
const CrossStaffedUnit =
|
54
|
+
const CrossStaffedUnit = new Schema<CrossStaffedUnitType>({
|
21
55
|
radioName: {
|
22
56
|
type: String,
|
23
57
|
default: "",
|
@@ -45,9 +79,9 @@ export function AgencySchema(mongoose: MongooseModule) {
|
|
45
79
|
locationToCAD: 0
|
46
80
|
};
|
47
81
|
|
48
|
-
const modelSchema =
|
82
|
+
const modelSchema = new Schema<Agency>({
|
49
83
|
_id: {
|
50
|
-
type: Types.ObjectId,
|
84
|
+
type: Schema.Types.ObjectId,
|
51
85
|
auto: true,
|
52
86
|
},
|
53
87
|
code: {
|
@@ -89,12 +123,12 @@ export function AgencySchema(mongoose: MongooseModule) {
|
|
89
123
|
default: false,
|
90
124
|
},
|
91
125
|
departmentId: {
|
92
|
-
type: Types.ObjectId,
|
126
|
+
type: Schema.Types.ObjectId,
|
93
127
|
ref: "Department",
|
94
128
|
required: true
|
95
129
|
},
|
96
130
|
administrators: {
|
97
|
-
type: [Types.ObjectId],
|
131
|
+
type: [Schema.Types.ObjectId],
|
98
132
|
ref: "User",
|
99
133
|
default: []
|
100
134
|
},
|
@@ -128,18 +162,14 @@ export function AgencySchema(mongoose: MongooseModule) {
|
|
128
162
|
default: 0,
|
129
163
|
},
|
130
164
|
}, {
|
131
|
-
|
165
|
+
autoIndex: false,
|
132
166
|
});
|
133
|
-
modelSchema.set("autoIndex", false);
|
134
|
-
|
135
167
|
return modelSchema;
|
136
168
|
}
|
137
169
|
|
138
|
-
export async function AgencyModule(mongoose: MongooseModule) {
|
170
|
+
export default async function AgencyModule(mongoose: MongooseModule) {
|
139
171
|
const modelSchema = AgencySchema(mongoose);
|
140
|
-
return
|
172
|
+
return mongoose.model<Agency>("Agency", modelSchema, "massive_agency", { overwriteModels: true });
|
141
173
|
}
|
142
174
|
|
143
|
-
export interface
|
144
|
-
export interface AgencyModel extends ModelTypeFromTypeSchemaFunction<Agency> { }
|
145
|
-
export default AgencyModule as ReplaceModelReturnType<typeof AgencyModule, AgencyModel>;
|
175
|
+
export interface AgencyModel extends Model<Agency> { }
|
@@ -1,18 +1,63 @@
|
|
1
1
|
// import * as uuid from "uuid";
|
2
|
+
import { Model } from "mongoose";
|
2
3
|
import {
|
3
|
-
createModel,
|
4
|
-
createSchema,
|
5
4
|
currentDate,
|
6
|
-
ItemTypeFromTypeSchemaFunction,
|
7
|
-
ModelTypeFromTypeSchemaFunction,
|
8
5
|
MongooseModule,
|
9
|
-
ReplaceModelReturnType,
|
10
6
|
} from "../helpers";
|
7
|
+
interface ArcGISGroupUserType {
|
8
|
+
username: string,
|
9
|
+
fullName: string,
|
10
|
+
memberType: string,
|
11
|
+
orgId: string,
|
12
|
+
}
|
13
|
+
|
14
|
+
interface ArcGISUserInvitationType {
|
15
|
+
username: string,
|
16
|
+
atDate: Date,
|
17
|
+
invitedBy: string,
|
18
|
+
}
|
19
|
+
|
20
|
+
interface ArcGISDepartmentUserType {
|
21
|
+
username: string,
|
22
|
+
// TC user account email
|
23
|
+
email: string,
|
24
|
+
// TC user id
|
25
|
+
userId: string,
|
26
|
+
}
|
27
|
+
|
28
|
+
interface ArcGISDepartmentType {
|
29
|
+
|
30
|
+
department: string,
|
31
|
+
departmentId: string,
|
32
|
+
authUsername: string,
|
33
|
+
authError: string,
|
34
|
+
users: ArcGISDepartmentUserType[]
|
11
35
|
|
12
|
-
|
36
|
+
}
|
37
|
+
|
38
|
+
export interface ArcGISGroup {
|
39
|
+
groupId: string,
|
40
|
+
title: string,
|
41
|
+
protected: boolean
|
42
|
+
owner: string,
|
43
|
+
access: string,
|
44
|
+
membershipAccess: string,
|
45
|
+
users: ArcGISGroupUserType[]
|
46
|
+
outsiders: ArcGISGroupUserType[]
|
47
|
+
removableUsers: ArcGISGroupUserType[]
|
48
|
+
externalOrgIds: string[]
|
49
|
+
invited: ArcGISUserInvitationType[]
|
50
|
+
linkedDepartments: ArcGISDepartmentType[]
|
51
|
+
modified: Date,
|
52
|
+
createdBy: string,
|
53
|
+
runAt: Date | string,
|
54
|
+
|
55
|
+
}
|
56
|
+
|
57
|
+
export default async function ArcGISGroupModule(mongoose: MongooseModule) {
|
13
58
|
const { Schema } = mongoose;
|
14
59
|
|
15
|
-
const ArcGISGroupUser =
|
60
|
+
const ArcGISGroupUser = new Schema<ArcGISGroupUserType>({
|
16
61
|
username: {
|
17
62
|
type: String,
|
18
63
|
default: "",
|
@@ -34,7 +79,7 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
|
|
34
79
|
id: false,
|
35
80
|
});
|
36
81
|
|
37
|
-
const ArcGISUserInvitation =
|
82
|
+
const ArcGISUserInvitation = new Schema<ArcGISUserInvitationType>({
|
38
83
|
username: {
|
39
84
|
type: String,
|
40
85
|
default: "",
|
@@ -52,7 +97,7 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
|
|
52
97
|
id: false,
|
53
98
|
});
|
54
99
|
|
55
|
-
const ArcGISDepartmentUser =
|
100
|
+
const ArcGISDepartmentUser = new Schema<ArcGISDepartmentUserType>({
|
56
101
|
// ArcGIS username
|
57
102
|
username: {
|
58
103
|
type: String,
|
@@ -73,7 +118,7 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
|
|
73
118
|
id: false,
|
74
119
|
});
|
75
120
|
|
76
|
-
const ArcGISDepartment =
|
121
|
+
const ArcGISDepartment = new Schema<ArcGISDepartmentType>({
|
77
122
|
department: {
|
78
123
|
type: String,
|
79
124
|
default: "",
|
@@ -99,7 +144,7 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
|
|
99
144
|
id: false,
|
100
145
|
});
|
101
146
|
|
102
|
-
const modelSchema =
|
147
|
+
const modelSchema = new Schema<ArcGISGroup>({
|
103
148
|
// Unique, to be able to use replaceInto
|
104
149
|
groupId: {
|
105
150
|
type: String,
|
@@ -166,17 +211,14 @@ export async function ArcGISGroupModule(mongoose: MongooseModule) {
|
|
166
211
|
// if date is in the past, we should refresh this
|
167
212
|
// at run success, update this date to a date in the future
|
168
213
|
runAt: {
|
169
|
-
type: Date,
|
214
|
+
type: Date || String,
|
170
215
|
default: "",
|
171
216
|
},
|
172
217
|
}, {
|
173
|
-
|
218
|
+
autoIndex: false,
|
174
219
|
});
|
175
|
-
modelSchema.set("autoIndex", false);
|
176
220
|
|
177
|
-
return
|
221
|
+
return mongoose.model<ArcGISGroup>("ArcGISGroup", modelSchema, "massive_arcgis_group", { overwriteModels: true });
|
178
222
|
}
|
179
223
|
|
180
|
-
export interface
|
181
|
-
export interface ArcGISGroupModel extends ModelTypeFromTypeSchemaFunction<ArcGISGroup> { }
|
182
|
-
export default ArcGISGroupModule as ReplaceModelReturnType<typeof ArcGISGroupModule, ArcGISGroupModel>;
|
224
|
+
export interface ArcGISGroupModel extends Model<ArcGISGroup> { }
|
package/src/models/assignment.ts
CHANGED
@@ -1,24 +1,37 @@
|
|
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
5
|
MongooseModule,
|
12
|
-
ReplaceModelReturnType,
|
13
6
|
retrieveCurrentUnixTime,
|
14
7
|
} from "../helpers";
|
8
|
+
import { Model, Types } from "mongoose";
|
15
9
|
|
16
|
-
export
|
17
|
-
|
10
|
+
export interface Assignment extends Record<string, unknown> {
|
11
|
+
_id: Types.ObjectId,
|
12
|
+
id: string,
|
13
|
+
uuid: string,
|
14
|
+
active: boolean,
|
15
|
+
userId: string,
|
16
|
+
departmentId: string,
|
17
|
+
isMandatory: boolean,
|
18
|
+
modified: Date,
|
19
|
+
// Deprecated
|
20
|
+
modified_date: string,
|
21
|
+
// Deprecated
|
22
|
+
modified_unix_date: number,
|
23
|
+
position: number,
|
24
|
+
name: string,
|
25
|
+
description: string,
|
26
|
+
full_description: string,
|
27
|
+
}
|
28
|
+
|
29
|
+
export default async function AssignmentModule(mongoose: MongooseModule) {
|
30
|
+
const { Schema } = mongoose;
|
18
31
|
|
19
|
-
const modelSchema =
|
32
|
+
const modelSchema = new Schema<Assignment>({
|
20
33
|
_id: {
|
21
|
-
type: Types.ObjectId,
|
34
|
+
type: Schema.Types.ObjectId,
|
22
35
|
auto: true,
|
23
36
|
},
|
24
37
|
uuid: {
|
@@ -52,7 +65,6 @@ export async function AssignmentModule(mongoose: MongooseModule) {
|
|
52
65
|
type: Number,
|
53
66
|
default: retrieveCurrentUnixTime,
|
54
67
|
},
|
55
|
-
|
56
68
|
//
|
57
69
|
position: {
|
58
70
|
type: Number,
|
@@ -71,20 +83,18 @@ export async function AssignmentModule(mongoose: MongooseModule) {
|
|
71
83
|
default: "",
|
72
84
|
},
|
73
85
|
}, {
|
74
|
-
|
86
|
+
autoIndex: false,
|
75
87
|
});
|
76
88
|
modelSchema.set("autoIndex", false);
|
89
|
+
modelSchema.virtual("id").get(function (this: Assignment) {
|
90
|
+
return this._id.toString();
|
91
|
+
});
|
77
92
|
modelSchema.set("toJSON", {
|
78
93
|
virtuals: true,
|
79
94
|
versionKey: false,
|
80
|
-
transform(doc: ModelFromSchema<typeof modelSchema>, ret: DocumentTypeFromSchema<typeof modelSchema>) {
|
81
|
-
ret.id = ret._id.toString();
|
82
|
-
},
|
83
95
|
});
|
84
96
|
|
85
|
-
return
|
97
|
+
return mongoose.model<Assignment>("Assignment", modelSchema, "massive_assignment", { overwriteModels: true });
|
86
98
|
}
|
87
99
|
|
88
|
-
export interface
|
89
|
-
export interface AssignmentModel extends ModelTypeFromTypeSchemaFunction<Assignment> { }
|
90
|
-
export default AssignmentModule as ReplaceModelReturnType<typeof AssignmentModule, AssignmentModel>;
|
100
|
+
export interface AssignmentModel extends Model<Assignment> { }
|
package/src/models/battalion.ts
CHANGED
@@ -3,32 +3,52 @@ import * as uuid from "uuid";
|
|
3
3
|
import {
|
4
4
|
MongooseModule,
|
5
5
|
MongooseDocument,
|
6
|
-
createSchema,
|
7
6
|
currentDate,
|
8
|
-
DocumentTypeFromSchema,
|
9
|
-
ModelFromSchema,
|
10
|
-
createModel,
|
11
|
-
FieldsOfDocument,
|
12
|
-
ItemTypeFromTypeSchemaFunction,
|
13
|
-
ModelTypeFromTypeSchemaFunction,
|
14
|
-
ReplaceModelReturnType,
|
15
7
|
retrieveCurrentUnixTime
|
16
8
|
} from "../helpers";
|
17
9
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
10
|
+
import { Model, Types } from "mongoose";
|
11
|
+
interface BattalionUnitType extends Record<string, unknown> {
|
12
|
+
_id: Types.ObjectId,
|
13
|
+
id: string,
|
14
|
+
name: string,
|
15
|
+
friendly_id: string,
|
16
|
+
personnel: number,
|
17
|
+
position: number,
|
18
|
+
active: boolean,
|
19
|
+
isMandatory: boolean,
|
20
|
+
modified_date: string,
|
21
|
+
modified_unix_date: number,
|
22
|
+
modified: Date,
|
23
|
+
uuid: string,
|
24
|
+
api_battalion_id: string,
|
25
|
+
battalion_uuid: string,
|
26
|
+
battalion_name: string,
|
27
|
+
agencyId: Types.ObjectId
|
28
|
+
}
|
29
|
+
|
30
|
+
export interface Battalion extends Record<string, unknown> {
|
31
|
+
_id: Types.ObjectId,
|
32
|
+
id?: string,
|
33
|
+
name: string,
|
34
|
+
active: boolean,
|
35
|
+
modified_date: string,
|
36
|
+
modified_unix_date?: number,
|
37
|
+
modified: Date,
|
38
|
+
isMandatory: boolean
|
39
|
+
userId: string,
|
40
|
+
uuid: string,
|
41
|
+
departmentId: string,
|
42
|
+
agencyId: Types.ObjectId,
|
43
|
+
position: number,
|
44
|
+
units: BattalionUnitType[],
|
45
|
+
}
|
28
46
|
|
29
|
-
|
47
|
+
export function BattalionSchema(mongoose: MongooseModule) {
|
48
|
+
const { Schema } = mongoose;
|
49
|
+
const BattalionUnit = new Schema<BattalionUnitType>({
|
30
50
|
_id: {
|
31
|
-
type: Types.ObjectId,
|
51
|
+
type: Schema.Types.ObjectId,
|
32
52
|
auto: true,
|
33
53
|
},
|
34
54
|
name: {
|
@@ -81,17 +101,28 @@ export function BattalionSchema(mongoose: MongooseModule) {
|
|
81
101
|
type: String,
|
82
102
|
},
|
83
103
|
agencyId: {
|
84
|
-
type: Types.ObjectId,
|
104
|
+
type: Schema.Types.ObjectId,
|
85
105
|
ref: "Agency",
|
86
106
|
default: null,
|
87
107
|
},
|
88
108
|
}, {});
|
89
109
|
|
90
|
-
BattalionUnit.
|
110
|
+
BattalionUnit.virtual("id").get(function (this: MongooseDocument) {
|
111
|
+
// tslint:disable-next-line: no-unsafe-any
|
112
|
+
return this._id.toString();
|
113
|
+
});
|
114
|
+
BattalionUnit.set("toJSON", {
|
115
|
+
virtuals: true,
|
116
|
+
versionKey: false,
|
117
|
+
transform(doc, ret) {
|
118
|
+
strictSchema(doc.schema as typeof modelSchema, ret);
|
119
|
+
},
|
120
|
+
});
|
91
121
|
|
92
|
-
|
122
|
+
|
123
|
+
const modelSchema = new Schema<Battalion>({
|
93
124
|
_id: {
|
94
|
-
type: Types.ObjectId,
|
125
|
+
type: Schema.Types.ObjectId,
|
95
126
|
auto: true,
|
96
127
|
},
|
97
128
|
name: {
|
@@ -131,7 +162,7 @@ export function BattalionSchema(mongoose: MongooseModule) {
|
|
131
162
|
index: true,
|
132
163
|
},
|
133
164
|
agencyId: {
|
134
|
-
type: Types.ObjectId,
|
165
|
+
type: Schema.Types.ObjectId,
|
135
166
|
ref: "Agency",
|
136
167
|
default: null,
|
137
168
|
},
|
@@ -144,22 +175,21 @@ export function BattalionSchema(mongoose: MongooseModule) {
|
|
144
175
|
default: []
|
145
176
|
},
|
146
177
|
}, {
|
147
|
-
|
178
|
+
autoIndex: false,
|
148
179
|
});
|
149
180
|
modelSchema.set("autoIndex", false);
|
181
|
+
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
182
|
+
// tslint:disable-next-line: no-unsafe-any
|
183
|
+
return this._id.toString();
|
184
|
+
});
|
150
185
|
modelSchema.set("toJSON", {
|
151
186
|
virtuals: true,
|
152
187
|
versionKey: false,
|
153
|
-
transform(doc
|
188
|
+
transform(doc, ret) {
|
154
189
|
strictSchema(doc.schema as typeof modelSchema, ret);
|
155
|
-
ret.id = ret._id;
|
156
190
|
},
|
157
191
|
});
|
158
192
|
|
159
|
-
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
160
|
-
// tslint:disable-next-line: no-unsafe-any
|
161
|
-
return this._id.toString();
|
162
|
-
});
|
163
193
|
|
164
194
|
function strictSchema(schema: typeof modelSchema, ret: Record<string, unknown>) {
|
165
195
|
Object.keys(ret).forEach(function (element) {
|
@@ -178,11 +208,9 @@ export function BattalionSchema(mongoose: MongooseModule) {
|
|
178
208
|
return modelSchema;
|
179
209
|
}
|
180
210
|
|
181
|
-
export async function BattalionModule(mongoose: MongooseModule) {
|
211
|
+
export default async function BattalionModule(mongoose: MongooseModule) {
|
182
212
|
const modelSchema = BattalionSchema(mongoose);
|
183
|
-
return
|
213
|
+
return mongoose.model<Battalion>("Battalion", modelSchema, "massive_battalion", { overwriteModels: true });
|
184
214
|
}
|
185
215
|
|
186
|
-
export interface
|
187
|
-
export interface BattalionModel extends ModelTypeFromTypeSchemaFunction<Battalion> { }
|
188
|
-
export default BattalionModule as ReplaceModelReturnType<typeof BattalionModule, BattalionModel>;
|
216
|
+
export interface BattalionModel extends Model<Battalion> { }
|
package/src/models/beacon-log.ts
CHANGED
@@ -1,20 +1,25 @@
|
|
1
1
|
import {
|
2
2
|
MongooseModule,
|
3
|
-
createSchema,
|
4
|
-
createModel,
|
5
3
|
currentDate,
|
6
4
|
retrieveCurrentUnixTime,
|
7
|
-
ItemTypeFromTypeSchemaFunction,
|
8
|
-
ModelTypeFromTypeSchemaFunction,
|
9
|
-
ReplaceModelReturnType,
|
10
5
|
} from "../helpers";
|
6
|
+
import { Types, Model } from "mongoose";
|
11
7
|
|
12
|
-
export
|
13
|
-
|
8
|
+
export interface BeaconLog {
|
9
|
+
_id: Types.ObjectId,
|
10
|
+
departmentId: string,
|
11
|
+
userId: string,
|
12
|
+
object: object,
|
13
|
+
createdAt: Date,
|
14
|
+
modified_unix_date: number,
|
15
|
+
}
|
16
|
+
|
17
|
+
export default async function BeaconLogModule(mongoose: MongooseModule) {
|
18
|
+
const { Schema } = mongoose;
|
14
19
|
|
15
|
-
const modelSchema =
|
20
|
+
const modelSchema = new Schema<BeaconLog>({
|
16
21
|
_id: {
|
17
|
-
type: Types.ObjectId,
|
22
|
+
type: Schema.Types.ObjectId,
|
18
23
|
auto: true,
|
19
24
|
},
|
20
25
|
departmentId: {
|
@@ -38,13 +43,10 @@ export async function BeaconLogModule(mongoose: MongooseModule) {
|
|
38
43
|
default: retrieveCurrentUnixTime,
|
39
44
|
},
|
40
45
|
}, {
|
41
|
-
|
46
|
+
autoIndex: false,
|
42
47
|
});
|
43
|
-
modelSchema.set("autoIndex", false);
|
44
48
|
|
45
|
-
return
|
49
|
+
return mongoose.model<BeaconLog>("BeaconLog", modelSchema, "massive_beacon_log", { overwriteModels: true });
|
46
50
|
}
|
47
51
|
|
48
|
-
export interface
|
49
|
-
export interface BeaconLogModel extends ModelTypeFromTypeSchemaFunction<BeaconLog> { }
|
50
|
-
export default BeaconLogModule as ReplaceModelReturnType<typeof BeaconLogModule, BeaconLogModel>;
|
52
|
+
export interface BeaconLogModel extends Model<BeaconLog> { }
|
@@ -1,27 +1,34 @@
|
|
1
1
|
import {
|
2
2
|
MongooseModule,
|
3
3
|
MongooseDocument,
|
4
|
-
createSchema,
|
5
|
-
createModel,
|
6
|
-
ItemTypeFromTypeSchemaFunction,
|
7
|
-
ModelTypeFromTypeSchemaFunction,
|
8
|
-
ReplaceModelReturnType,
|
9
4
|
} from "../helpers";
|
10
5
|
|
11
6
|
import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
|
12
7
|
|
13
|
-
import { ReportNumberSchema } from "./schema/shared-incident";
|
8
|
+
import { ReportNumberSchema, ReportNumberSchemaType } from "./schema/shared-incident";
|
9
|
+
import { Model, Types } from "mongoose";
|
10
|
+
export interface CADIncidentBlock {
|
11
|
+
_id: Types.ObjectId,
|
12
|
+
id?: string,
|
13
|
+
departmentId: string,
|
14
|
+
source: string,
|
15
|
+
IncidentNumber: string,
|
16
|
+
AgencyIncidentCallTypeDescription: string,
|
17
|
+
EntryDateTime: string,
|
18
|
+
ClosedDateTime: string,
|
19
|
+
ReportNumber: ReportNumberSchemaType[]
|
20
|
+
}
|
14
21
|
|
15
|
-
export async function CADIncidentBlockModule(mongoose: MongooseModule) {
|
16
|
-
const { Schema
|
22
|
+
export default async function CADIncidentBlockModule(mongoose: MongooseModule) {
|
23
|
+
const { Schema } = mongoose;
|
17
24
|
const ReportNumber = ReportNumberSchema(mongoose);
|
18
25
|
|
19
26
|
// Simplified schema.
|
20
27
|
// Payload should confirm to cad-incident (more or less)
|
21
28
|
|
22
|
-
const modelSchema =
|
29
|
+
const modelSchema = new Schema<CADIncidentBlock>({
|
23
30
|
_id: {
|
24
|
-
type: Types.ObjectId,
|
31
|
+
type: Schema.Types.ObjectId,
|
25
32
|
auto: true,
|
26
33
|
},
|
27
34
|
departmentId: {
|
@@ -55,7 +62,6 @@ export async function CADIncidentBlockModule(mongoose: MongooseModule) {
|
|
55
62
|
default: [],
|
56
63
|
}
|
57
64
|
}, {
|
58
|
-
collection: "massive_cad_incident_block",
|
59
65
|
timestamps: true,
|
60
66
|
autoIndex: false,
|
61
67
|
toJSON: {
|
@@ -64,16 +70,14 @@ export async function CADIncidentBlockModule(mongoose: MongooseModule) {
|
|
64
70
|
}
|
65
71
|
});
|
66
72
|
|
67
|
-
modelSchema.virtual("id").get(function(this: MongooseDocument) {
|
73
|
+
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
68
74
|
// tslint:disable-next-line: no-unsafe-any
|
69
75
|
return this._id.toString();
|
70
76
|
});
|
71
77
|
|
72
78
|
modelSchema.plugin(mongooseLeanVirtuals);
|
73
79
|
|
74
|
-
return
|
80
|
+
return mongoose.model<CADIncidentBlock>("CADIncidentBlock", modelSchema, "massive_cad_incident_block", { overwriteModels: true });
|
75
81
|
}
|
76
82
|
|
77
|
-
export interface
|
78
|
-
export interface CADIncidentBlockModel extends ModelTypeFromTypeSchemaFunction<CADIncidentBlock> { }
|
79
|
-
export default CADIncidentBlockModule as ReplaceModelReturnType<typeof CADIncidentBlockModule, CADIncidentBlockModel>;
|
83
|
+
export interface CADIncidentBlockModel extends Model<CADIncidentBlock> { }
|
@@ -1,26 +1,32 @@
|
|
1
1
|
import {
|
2
2
|
MongooseModule,
|
3
3
|
MongooseDocument,
|
4
|
-
createSchema,
|
5
|
-
createModel,
|
6
|
-
ItemTypeFromTypeSchemaFunction,
|
7
|
-
ModelTypeFromTypeSchemaFunction,
|
8
|
-
ReplaceModelReturnType,
|
9
4
|
currentDate,
|
10
5
|
} from "../helpers";
|
11
6
|
|
12
7
|
import * as uuid from "uuid";
|
13
8
|
import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
|
9
|
+
import { Types, Model } from "mongoose";
|
10
|
+
export interface CADIncidentStream {
|
11
|
+
_id: Types.ObjectId,
|
12
|
+
id?: string,
|
13
|
+
uuid: string,
|
14
|
+
tag: string,
|
15
|
+
departmentId: string,
|
16
|
+
incidentNumber: string,
|
17
|
+
createdAt: Date,
|
18
|
+
payload: object,
|
19
|
+
}
|
14
20
|
|
15
|
-
export async function CADIncidentStreamModule(mongoose: MongooseModule) {
|
16
|
-
const { Schema
|
21
|
+
export default async function CADIncidentStreamModule(mongoose: MongooseModule) {
|
22
|
+
const { Schema } = mongoose;
|
17
23
|
|
18
24
|
// Simplified schema.
|
19
25
|
// Payload should confirm to cad-incident (more or less)
|
20
26
|
|
21
|
-
const modelSchema =
|
27
|
+
const modelSchema = new Schema<CADIncidentStream>({
|
22
28
|
_id: {
|
23
|
-
type: Types.ObjectId,
|
29
|
+
type: Schema.Types.ObjectId,
|
24
30
|
auto: true,
|
25
31
|
},
|
26
32
|
uuid: {
|
@@ -52,23 +58,20 @@ export async function CADIncidentStreamModule(mongoose: MongooseModule) {
|
|
52
58
|
},
|
53
59
|
}, {
|
54
60
|
autoIndex: false,
|
55
|
-
collection: "massive_cad_incident_stream",
|
56
61
|
toJSON: {
|
57
62
|
virtuals: true,
|
58
63
|
versionKey: false,
|
59
64
|
}
|
60
65
|
});
|
61
66
|
|
62
|
-
modelSchema.virtual("id").get(function(this: MongooseDocument) {
|
67
|
+
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
63
68
|
// tslint:disable-next-line: no-unsafe-any
|
64
69
|
return this._id.toString();
|
65
70
|
});
|
66
71
|
|
67
72
|
modelSchema.plugin(mongooseLeanVirtuals);
|
68
73
|
|
69
|
-
return
|
74
|
+
return mongoose.model<CADIncidentStream>("CADIncidentStream", modelSchema, "massive_cad_incident_stream", { overwriteModels: true });
|
70
75
|
}
|
71
76
|
|
72
|
-
export interface
|
73
|
-
export interface CADIncidentStreamModel extends ModelTypeFromTypeSchemaFunction<CADIncidentStream> { }
|
74
|
-
export default CADIncidentStreamModule as ReplaceModelReturnType<typeof CADIncidentStreamModule, CADIncidentStreamModel>;
|
77
|
+
export interface CADIncidentStreamModel extends Model<CADIncidentStream> { }
|