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
@@ -1,16 +1,12 @@
|
|
1
|
+
import { Model } from "mongoose";
|
1
2
|
import {
|
2
|
-
createModel,
|
3
|
-
ItemTypeFromTypeSchemaFunction,
|
4
|
-
ModelTypeFromTypeSchemaFunction,
|
5
3
|
MongooseModule,
|
6
|
-
ReplaceModelReturnType,
|
7
4
|
} from "../helpers";
|
8
5
|
|
9
|
-
import { CADIncidentSchema } from "./schema/cad-incident";
|
6
|
+
import { CADIncidentSchema, CADIncidentSchemaType } from "./schema/cad-incident";
|
10
7
|
|
11
|
-
export async function CADIncidentModule(mongoose: MongooseModule) {
|
8
|
+
export default async function CADIncidentModule(mongoose: MongooseModule) {
|
12
9
|
const modelSchema = CADIncidentSchema(mongoose);
|
13
|
-
modelSchema.set("collection", "massive_incident_cad");
|
14
10
|
modelSchema.set("strict", false); // Because we accept all kind of data in
|
15
11
|
|
16
12
|
// Indexes
|
@@ -22,9 +18,8 @@ export async function CADIncidentModule(mongoose: MongooseModule) {
|
|
22
18
|
unique: true,
|
23
19
|
});
|
24
20
|
|
25
|
-
return
|
21
|
+
return mongoose.model<CADIncidentSchemaType>("CADIncident", modelSchema, "massive_incident_cad", { overwriteModels: true });
|
26
22
|
}
|
27
23
|
|
28
|
-
export interface CADIncident extends
|
29
|
-
export interface CADIncidentModel extends
|
30
|
-
export default CADIncidentModule as ReplaceModelReturnType<typeof CADIncidentModule, CADIncidentModel>;
|
24
|
+
export interface CADIncident extends CADIncidentSchemaType { }
|
25
|
+
export interface CADIncidentModel extends Model<CADIncidentSchemaType> { }
|
@@ -1,21 +1,87 @@
|
|
1
|
+
import { Model, Types } 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
|
import * as uuid from "uuid";
|
11
7
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
8
|
+
interface SimPriorCommentType {
|
9
|
+
Comment?: string,
|
10
|
+
CommentSource?: string,
|
11
|
+
CommentDateTime?: string,
|
12
|
+
}
|
13
|
+
|
14
|
+
interface SimPriorIncidentType {
|
15
|
+
IncidentNumber: string,
|
16
|
+
IncidentDateTime: string,
|
17
|
+
Problem: string,
|
18
|
+
Address: string,
|
19
|
+
Suite: string,
|
20
|
+
Comment: SimPriorCommentType[]
|
21
|
+
}
|
22
|
+
interface SimRadioChannelType {
|
23
|
+
name: string,
|
24
|
+
channel: string,
|
25
|
+
}
|
26
|
+
interface SimCommentType {
|
27
|
+
comment: string,
|
28
|
+
source: string,
|
29
|
+
}
|
30
|
+
|
31
|
+
interface SimUnitType {
|
32
|
+
alarmLevelAtDispatch: string,
|
33
|
+
units: string[]
|
34
|
+
}
|
35
|
+
|
36
|
+
interface SequenceType {
|
37
|
+
_id: Types.ObjectId,
|
38
|
+
title: string,
|
39
|
+
alarm: string,
|
40
|
+
sequenceId: number,
|
41
|
+
unitsConfig: SimUnitType
|
42
|
+
comments: SimCommentType[]
|
43
|
+
}
|
17
44
|
|
18
|
-
|
45
|
+
export interface CADSimulation {
|
46
|
+
uuid: string,
|
47
|
+
departmentId: string,
|
48
|
+
modifiedDate: number,
|
49
|
+
modified: Date,
|
50
|
+
active: boolean,
|
51
|
+
friendlyId: string,
|
52
|
+
title: string,
|
53
|
+
notes: string,
|
54
|
+
simulation: boolean,
|
55
|
+
notify: boolean,
|
56
|
+
rts: boolean,
|
57
|
+
tags: string[],
|
58
|
+
incidentType: string,
|
59
|
+
streetName: string,
|
60
|
+
locationComment: string,
|
61
|
+
suite: string,
|
62
|
+
CrossStreet1: string,
|
63
|
+
city: string,
|
64
|
+
state: string,
|
65
|
+
lat: string,
|
66
|
+
lon: string,
|
67
|
+
firemap: string,
|
68
|
+
mapPages: string,
|
69
|
+
tacticalChannel: string,
|
70
|
+
commandChannel: string,
|
71
|
+
radioChannels: SimRadioChannelType[]
|
72
|
+
closeDelay: number,
|
73
|
+
priorIncidents: SimPriorIncidentType[]
|
74
|
+
randomPriorIncidents: boolean
|
75
|
+
randomStaffing: boolean,
|
76
|
+
sequences: SequenceType[]
|
77
|
+
sortId: number,
|
78
|
+
sendStatus: boolean,
|
79
|
+
}
|
80
|
+
|
81
|
+
export default async function CADSimulationModule(mongoose: MongooseModule) {
|
82
|
+
const { Schema } = mongoose;
|
83
|
+
|
84
|
+
const SimPriorComment = new Schema<SimPriorCommentType>({
|
19
85
|
Comment: {
|
20
86
|
type: String,
|
21
87
|
default: "",
|
@@ -33,7 +99,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
33
99
|
id: false,
|
34
100
|
});
|
35
101
|
|
36
|
-
const SimPriorIncident =
|
102
|
+
const SimPriorIncident = new Schema<SimPriorIncidentType>({
|
37
103
|
IncidentNumber: {
|
38
104
|
type: String,
|
39
105
|
default: "",
|
@@ -63,7 +129,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
63
129
|
id: false,
|
64
130
|
});
|
65
131
|
|
66
|
-
const SimRadioChannel =
|
132
|
+
const SimRadioChannel = new Schema<SimRadioChannelType>({
|
67
133
|
name: {
|
68
134
|
type: String,
|
69
135
|
default: "",
|
@@ -77,7 +143,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
77
143
|
id: false,
|
78
144
|
});
|
79
145
|
|
80
|
-
const SimComment =
|
146
|
+
const SimComment = new Schema<SimCommentType>({
|
81
147
|
comment: {
|
82
148
|
type: String,
|
83
149
|
default: "",
|
@@ -91,7 +157,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
91
157
|
id: false,
|
92
158
|
});
|
93
159
|
|
94
|
-
const SimUnit =
|
160
|
+
const SimUnit = new Schema<SimUnitType>({
|
95
161
|
alarmLevelAtDispatch: {
|
96
162
|
type: String,
|
97
163
|
default: "",
|
@@ -105,9 +171,9 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
105
171
|
id: false,
|
106
172
|
});
|
107
173
|
|
108
|
-
const Sequence =
|
109
|
-
|
110
|
-
type: Types.ObjectId,
|
174
|
+
const Sequence = new Schema<SequenceType>({
|
175
|
+
_id: {
|
176
|
+
type: Schema.Types.ObjectId,
|
111
177
|
auto: true,
|
112
178
|
},
|
113
179
|
title: {
|
@@ -132,7 +198,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
132
198
|
}
|
133
199
|
}, {});
|
134
200
|
|
135
|
-
const modelSchema =
|
201
|
+
const modelSchema = new Schema<CADSimulation>({
|
136
202
|
// Internal
|
137
203
|
uuid: {
|
138
204
|
type: String,
|
@@ -155,7 +221,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
155
221
|
default: currentDate,
|
156
222
|
},
|
157
223
|
active: {
|
158
|
-
type: Boolean,
|
224
|
+
type: Boolean,
|
159
225
|
default: true
|
160
226
|
},
|
161
227
|
friendlyId: {
|
@@ -171,7 +237,7 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
171
237
|
default: "",
|
172
238
|
},
|
173
239
|
simulation: {
|
174
|
-
type: Boolean,
|
240
|
+
type: Boolean,
|
175
241
|
default: true,
|
176
242
|
},
|
177
243
|
notify: {
|
@@ -179,11 +245,11 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
179
245
|
default: false,
|
180
246
|
},
|
181
247
|
rts: {
|
182
|
-
type: Boolean,
|
248
|
+
type: Boolean,
|
183
249
|
default: false
|
184
250
|
},
|
185
251
|
tags: {
|
186
|
-
type: [String],
|
252
|
+
type: [String],
|
187
253
|
default: []
|
188
254
|
},
|
189
255
|
incidentType: {
|
@@ -251,11 +317,11 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
251
317
|
default: [],
|
252
318
|
},
|
253
319
|
randomPriorIncidents: {
|
254
|
-
type: Boolean,
|
320
|
+
type: Boolean,
|
255
321
|
default: false
|
256
322
|
},
|
257
323
|
randomStaffing: {
|
258
|
-
type: Boolean,
|
324
|
+
type: Boolean,
|
259
325
|
default: false
|
260
326
|
},
|
261
327
|
sequences: {
|
@@ -271,13 +337,10 @@ export async function CADSimulationModule(mongoose: MongooseModule) {
|
|
271
337
|
default: false,
|
272
338
|
},
|
273
339
|
}, {
|
274
|
-
collection: "massive_cad_simulation",
|
275
340
|
});
|
276
341
|
modelSchema.set("autoIndex", false);
|
277
342
|
|
278
|
-
return
|
343
|
+
return mongoose.model<CADSimulation>("CADSimulation", modelSchema, "massive_cad_simulation", { overwriteModels: true });
|
279
344
|
}
|
280
345
|
|
281
|
-
export interface
|
282
|
-
export interface CADSimulationModel extends ModelTypeFromTypeSchemaFunction<CADSimulation> { }
|
283
|
-
export default CADSimulationModule as ReplaceModelReturnType<typeof CADSimulationModule, CADSimulationModel>;
|
346
|
+
export interface CADSimulationModel extends Model<CADSimulation> { }
|
@@ -1,17 +1,28 @@
|
|
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
|
-
|
7
|
+
interface ToStatusIdType {
|
8
|
+
statusId: number,
|
9
|
+
userEnabled: boolean,
|
10
|
+
position: number,
|
11
|
+
}
|
12
|
+
|
13
|
+
export interface CADStatusMap {
|
14
|
+
departmentId: string,
|
15
|
+
modifiedDate: number,
|
16
|
+
modified: Date,
|
17
|
+
fromStatusId: number,
|
18
|
+
toStatusIds: ToStatusIdType[]
|
19
|
+
backupDate: Date,
|
20
|
+
}
|
21
|
+
|
22
|
+
export default async function CADStatusMapModule(mongoose: MongooseModule) {
|
12
23
|
const Schema = mongoose.Schema;
|
13
24
|
|
14
|
-
const ToStatusIdSchema =
|
25
|
+
const ToStatusIdSchema = new Schema<ToStatusIdType>({
|
15
26
|
statusId: {
|
16
27
|
type: Number,
|
17
28
|
default: 0,
|
@@ -31,7 +42,7 @@ export async function CADStatusMapModule(mongoose: MongooseModule) {
|
|
31
42
|
});
|
32
43
|
|
33
44
|
// Update static items (keep in sync with the lib/cad-status-map/updateDocument!)
|
34
|
-
const modelSchema =
|
45
|
+
const modelSchema = new Schema<CADStatusMap>({
|
35
46
|
departmentId: {
|
36
47
|
type: String,
|
37
48
|
default: "",
|
@@ -61,13 +72,10 @@ export async function CADStatusMapModule(mongoose: MongooseModule) {
|
|
61
72
|
type: Date,
|
62
73
|
},
|
63
74
|
}, {
|
64
|
-
collection: "massive_cad_status_map",
|
65
75
|
});
|
66
76
|
modelSchema.set("autoIndex", false);
|
67
77
|
|
68
|
-
return
|
78
|
+
return mongoose.model<CADStatusMap>("CADStatusMap", modelSchema, "massive_cad_status_map", { overwriteModels: true });
|
69
79
|
}
|
70
80
|
|
71
|
-
export interface
|
72
|
-
export interface CADStatusMapModel extends ModelTypeFromTypeSchemaFunction<CADStatusMap> { }
|
73
|
-
export default CADStatusMapModule as ReplaceModelReturnType<typeof CADStatusMapModule, CADStatusMapModel>;
|
81
|
+
export interface CADStatusMapModel extends Model<CADStatusMap> { }
|
package/src/models/cad-status.ts
CHANGED
@@ -1,20 +1,54 @@
|
|
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
|
} from "../helpers";
|
11
|
-
import ColorModule from "./schema/color";
|
6
|
+
import ColorModule, { ColorSchemaType } from "./schema/color";
|
7
|
+
import { Model } from "mongoose";
|
12
8
|
|
13
|
-
|
9
|
+
interface StatusOptionValueType {
|
10
|
+
name: string,
|
11
|
+
type: string,
|
12
|
+
visible: boolean,
|
13
|
+
value: string,
|
14
|
+
favorite: boolean,
|
15
|
+
position: number,
|
16
|
+
isDefault: boolean,
|
17
|
+
latitude: number,
|
18
|
+
longitude: number,
|
19
|
+
time: number,
|
20
|
+
}
|
21
|
+
|
22
|
+
interface StatusOptionType {
|
23
|
+
name: string,
|
24
|
+
position: number,
|
25
|
+
visible: boolean,
|
26
|
+
cadKey: string,
|
27
|
+
cadValues: StatusOptionValueType[]
|
28
|
+
}
|
29
|
+
export interface CADStatus {
|
30
|
+
uuid: string,
|
31
|
+
departmentId: string,
|
32
|
+
modifiedDate: number,
|
33
|
+
modified: Date,
|
34
|
+
statusId: number
|
35
|
+
code: string,
|
36
|
+
codeDisplay: string,
|
37
|
+
status: string,
|
38
|
+
name: string,
|
39
|
+
normalized: string,
|
40
|
+
selfAssignable: boolean,
|
41
|
+
roaming: boolean,
|
42
|
+
options: StatusOptionValueType,
|
43
|
+
color: ColorSchemaType,
|
44
|
+
backupDate: Date,
|
45
|
+
}
|
46
|
+
|
47
|
+
export default async function CADStatusModule(mongoose: MongooseModule) {
|
14
48
|
const { Schema } = mongoose;
|
15
49
|
const Color = ColorModule(mongoose);
|
16
50
|
|
17
|
-
const StatusOptionValue =
|
51
|
+
const StatusOptionValue = new Schema<StatusOptionValueType>({
|
18
52
|
name: {
|
19
53
|
type: String,
|
20
54
|
default: "",
|
@@ -61,7 +95,7 @@ export async function CADStatusModule(mongoose: MongooseModule) {
|
|
61
95
|
id: false,
|
62
96
|
});
|
63
97
|
|
64
|
-
const StatusOption =
|
98
|
+
const StatusOption = new Schema<StatusOptionType>({
|
65
99
|
name: {
|
66
100
|
type: String,
|
67
101
|
default: "",
|
@@ -87,7 +121,7 @@ export async function CADStatusModule(mongoose: MongooseModule) {
|
|
87
121
|
id: false,
|
88
122
|
});
|
89
123
|
|
90
|
-
const modelSchema =
|
124
|
+
const modelSchema = new Schema<CADStatus>({
|
91
125
|
uuid: {
|
92
126
|
type: String,
|
93
127
|
index: true,
|
@@ -158,13 +192,10 @@ export async function CADStatusModule(mongoose: MongooseModule) {
|
|
158
192
|
type: Date,
|
159
193
|
},
|
160
194
|
}, {
|
161
|
-
collection: "massive_cad_status",
|
162
195
|
});
|
163
196
|
modelSchema.set("autoIndex", false);
|
164
197
|
|
165
|
-
return
|
198
|
+
return mongoose.model<CADStatus>("CADStatus", modelSchema, "massive_cad_status", { overwriteModels: true });
|
166
199
|
}
|
167
200
|
|
168
|
-
export interface
|
169
|
-
export interface CADStatusModel extends ModelTypeFromTypeSchemaFunction<CADStatus> { }
|
170
|
-
export default CADStatusModule as ReplaceModelReturnType<typeof CADStatusModule, CADStatusModel>;
|
201
|
+
export interface CADStatusModel extends Model<CADStatus> { }
|
@@ -1,20 +1,32 @@
|
|
1
|
+
import { Model } from "mongoose";
|
1
2
|
import {
|
2
|
-
createModel,
|
3
|
-
createSchema,
|
4
|
-
createSchemaDefinition,
|
5
3
|
currentDate,
|
6
4
|
MongooseModule,
|
7
|
-
ItemTypeFromTypeSchemaFunction,
|
8
|
-
ModelTypeFromTypeSchemaFunction,
|
9
|
-
ReplaceModelReturnType,
|
10
5
|
} from "../helpers";
|
11
|
-
import CADStatusOptionSelectedModule from "./schema/cad-status-option-selected";
|
6
|
+
import CADStatusOptionSelectedModule, { CADStatusOptionSelectedSchemaType } from "./schema/cad-status-option-selected";
|
12
7
|
|
13
|
-
export
|
8
|
+
export interface CADVehicleStatusHistory {
|
9
|
+
departmentId: string,
|
10
|
+
vehicleId: string,
|
11
|
+
radioName: string,
|
12
|
+
status: string,
|
13
|
+
statusCode: string,
|
14
|
+
requestedAt: number,
|
15
|
+
requested: Date,
|
16
|
+
requestDelay: number,
|
17
|
+
requestedBy: string,
|
18
|
+
incidentNumber: string,
|
19
|
+
options: CADStatusOptionSelectedSchemaType[]
|
20
|
+
e: string,
|
21
|
+
locationCurrent: string,
|
22
|
+
locationDestination: string,
|
23
|
+
}
|
24
|
+
|
25
|
+
export default async function CADVehicleStatusHistoryModule(mongoose: MongooseModule) {
|
14
26
|
const { Schema } = mongoose;
|
15
27
|
const CADStatusOptionSelected = CADStatusOptionSelectedModule(mongoose);
|
16
28
|
|
17
|
-
const
|
29
|
+
const modelSchema = new Schema<CADVehicleStatusHistory>({
|
18
30
|
departmentId: {
|
19
31
|
type: String,
|
20
32
|
default: "",
|
@@ -76,16 +88,11 @@ export async function CADVehicleStatusHistoryModule(mongoose: MongooseModule) {
|
|
76
88
|
type: String,
|
77
89
|
default: "",
|
78
90
|
},
|
79
|
-
}
|
80
|
-
|
81
|
-
const modelSchema = createSchema(Schema, modelSchemaConfig, {
|
82
|
-
collection: "massive_cad_vehicle_status_history",
|
91
|
+
}, {
|
83
92
|
});
|
84
93
|
|
85
94
|
modelSchema.set("autoIndex", false);
|
86
|
-
return
|
95
|
+
return mongoose.model<CADVehicleStatusHistory>("CADVehicleStatusHistory", modelSchema, "massive_cad_vehicle_status_history", { overwriteModels: true });
|
87
96
|
}
|
88
97
|
|
89
|
-
export interface
|
90
|
-
export interface CADVehicleStatusHistoryModel extends ModelTypeFromTypeSchemaFunction<CADVehicleStatusHistory> { }
|
91
|
-
export default CADVehicleStatusHistoryModule as ReplaceModelReturnType<typeof CADVehicleStatusHistoryModule, CADVehicleStatusHistoryModel>;
|
98
|
+
export interface CADVehicleStatusHistoryModel extends Model<CADVehicleStatusHistory> { }
|
@@ -1,21 +1,45 @@
|
|
1
1
|
import * as uuid from "uuid";
|
2
2
|
import {
|
3
|
-
createModel,
|
4
|
-
createSchema,
|
5
|
-
createSchemaDefinition,
|
6
3
|
currentDate,
|
7
|
-
ItemTypeFromTypeSchemaFunction,
|
8
|
-
ModelTypeFromTypeSchemaFunction,
|
9
4
|
MongooseModule,
|
10
|
-
ReplaceModelReturnType,
|
11
5
|
} from "../helpers";
|
12
|
-
import CADStatusOptionSelectedModule from "./schema/cad-status-option-selected";
|
6
|
+
import CADStatusOptionSelectedModule, { CADStatusOptionSelectedSchemaType } from "./schema/cad-status-option-selected";
|
7
|
+
import { Model } from "mongoose";
|
13
8
|
|
14
|
-
|
9
|
+
interface DestinationType {
|
10
|
+
address: string,
|
11
|
+
name: string,
|
12
|
+
}
|
13
|
+
export interface CADVehicleStatus {
|
14
|
+
uuid: string,
|
15
|
+
departmentId: string,
|
16
|
+
vehicleId: string,
|
17
|
+
radioName: string,
|
18
|
+
requestTime: number,
|
19
|
+
responseTime: number,
|
20
|
+
changedAt: Date,
|
21
|
+
status: string,
|
22
|
+
statusCode: string,
|
23
|
+
modifiedDate: number,
|
24
|
+
modified: Date,
|
25
|
+
requestStatus: number,
|
26
|
+
owner: string,
|
27
|
+
ownerId: string,
|
28
|
+
incidentNumber: string,
|
29
|
+
options: CADStatusOptionSelectedSchemaType[]
|
30
|
+
capability: string,
|
31
|
+
locationCurrent: string,
|
32
|
+
locationDestination: string,
|
33
|
+
destination: DestinationType,
|
34
|
+
assignableByUser: boolean,
|
35
|
+
backupDate: Date,
|
36
|
+
}
|
37
|
+
|
38
|
+
export default async function CADVehicleStatusModule(mongoose: MongooseModule) {
|
15
39
|
const { Schema } = mongoose;
|
16
40
|
const CADStatusOptionSelected = CADStatusOptionSelectedModule(mongoose);
|
17
41
|
|
18
|
-
const Destination =
|
42
|
+
const Destination = new Schema<DestinationType>({
|
19
43
|
// eg 1234 Main St
|
20
44
|
address: {
|
21
45
|
type: String,
|
@@ -31,7 +55,8 @@ export async function CADVehicleStatusModule(mongoose: MongooseModule) {
|
|
31
55
|
id: false,
|
32
56
|
});
|
33
57
|
|
34
|
-
|
58
|
+
|
59
|
+
const modelSchema = new Schema<CADVehicleStatus>({
|
35
60
|
uuid: {
|
36
61
|
type: String,
|
37
62
|
index: true,
|
@@ -134,16 +159,11 @@ export async function CADVehicleStatusModule(mongoose: MongooseModule) {
|
|
134
159
|
backupDate: {
|
135
160
|
type: Date,
|
136
161
|
},
|
137
|
-
}
|
138
|
-
|
139
|
-
const modelSchema = createSchema(Schema, modelSchemaConfig, {
|
140
|
-
collection: "massive_cad_vehicle_status",
|
162
|
+
}, {
|
141
163
|
});
|
142
164
|
|
143
165
|
modelSchema.set("autoIndex", false);
|
144
|
-
return
|
166
|
+
return mongoose.model<CADVehicleStatus>("CADVehicleStatus", modelSchema, "massive_cad_vehicle_status", { overwriteModels: true });
|
145
167
|
}
|
146
168
|
|
147
|
-
export interface
|
148
|
-
export interface CADVehicleStatusModel extends ModelTypeFromTypeSchemaFunction<CADVehicleStatus> { }
|
149
|
-
export default CADVehicleStatusModule as ReplaceModelReturnType<typeof CADVehicleStatusModule, CADVehicleStatusModel>;
|
169
|
+
export interface CADVehicleStatusModel extends Model<CADVehicleStatus> { }
|
@@ -1,18 +1,32 @@
|
|
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
|
import * as uuid from "uuid";
|
11
7
|
|
12
|
-
|
8
|
+
interface StationType {
|
9
|
+
code: string,
|
10
|
+
name: string,
|
11
|
+
}
|
12
|
+
export interface CADVehicle {
|
13
|
+
uuid: string,
|
14
|
+
departmentId: string,
|
15
|
+
modifiedDate: number,
|
16
|
+
modified: Date,
|
17
|
+
vehicleId: string
|
18
|
+
radioName: string,
|
19
|
+
station: StationType,
|
20
|
+
capability: string,
|
21
|
+
mapHidden: boolean
|
22
|
+
locationToCAD: boolean,
|
23
|
+
backupDate: Date,
|
24
|
+
}
|
25
|
+
|
26
|
+
export default async function CADVehicleModule(mongoose: MongooseModule) {
|
13
27
|
const Schema = mongoose.Schema;
|
14
28
|
|
15
|
-
const Station =
|
29
|
+
const Station = new Schema<StationType>({
|
16
30
|
code: {
|
17
31
|
type: String,
|
18
32
|
default: "",
|
@@ -26,7 +40,7 @@ export async function CADVehicleModule(mongoose: MongooseModule) {
|
|
26
40
|
id: false,
|
27
41
|
});
|
28
42
|
|
29
|
-
const modelSchema =
|
43
|
+
const modelSchema = new Schema<CADVehicle>({
|
30
44
|
// Internal
|
31
45
|
uuid: {
|
32
46
|
type: String,
|
@@ -84,13 +98,10 @@ export async function CADVehicleModule(mongoose: MongooseModule) {
|
|
84
98
|
type: Date,
|
85
99
|
},
|
86
100
|
}, {
|
87
|
-
collection: "massive_cad_vehicle",
|
88
101
|
});
|
89
102
|
modelSchema.set("autoIndex", false);
|
90
103
|
|
91
|
-
return
|
104
|
+
return mongoose.model<CADVehicle>("CADVehicle", modelSchema, "massive_cad_vehicle", { overwriteModels: true });
|
92
105
|
}
|
93
106
|
|
94
|
-
export interface
|
95
|
-
export interface CADVehicleModel extends ModelTypeFromTypeSchemaFunction<CADVehicle> { }
|
96
|
-
export default CADVehicleModule as ReplaceModelReturnType<typeof CADVehicleModule, CADVehicleModel>;
|
107
|
+
export interface CADVehicleModel extends Model<CADVehicle> { }
|
@@ -1,20 +1,32 @@
|
|
1
1
|
import {
|
2
2
|
MongooseModule,
|
3
3
|
MongooseDocument,
|
4
|
-
createSchema,
|
5
|
-
createModel,
|
6
|
-
ItemTypeFromTypeSchemaFunction,
|
7
|
-
ModelTypeFromTypeSchemaFunction,
|
8
|
-
ReplaceModelReturnType,
|
9
4
|
} from "../helpers";
|
5
|
+
import { Model, Types } from "mongoose";
|
10
6
|
|
11
7
|
import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
|
12
8
|
const defaultDate = new Date("2023-04-19T00:00:00.000Z"); // Chart fallback date, after the feature was implemented
|
13
9
|
|
14
|
-
|
15
|
-
|
10
|
+
interface ChartItemType {
|
11
|
+
email: string,
|
12
|
+
dateAt: Date,
|
13
|
+
os: string,
|
14
|
+
osSemVer: string,
|
15
|
+
app: string,
|
16
|
+
appSemVer: string,
|
17
|
+
}
|
18
|
+
export interface ChartDeviceStats {
|
19
|
+
_id: Types.ObjectId,
|
20
|
+
id?: string,
|
21
|
+
dateAt: Date,
|
22
|
+
departmentId: string,
|
23
|
+
items: ChartItemType[],
|
24
|
+
}
|
25
|
+
|
26
|
+
export default async function ChartDeviceStatsModule(mongoose: MongooseModule) {
|
27
|
+
const { Schema } = mongoose;
|
16
28
|
|
17
|
-
const ChartItem =
|
29
|
+
const ChartItem = new Schema<ChartItemType>({
|
18
30
|
// used to keep track of current user,
|
19
31
|
// email + os + app would be a good unique key
|
20
32
|
email: {
|
@@ -52,9 +64,9 @@ export async function ChartDeviceStatsModule(mongoose: MongooseModule) {
|
|
52
64
|
id: false,
|
53
65
|
});
|
54
66
|
|
55
|
-
const modelSchema =
|
67
|
+
const modelSchema = new Schema<ChartDeviceStats>({
|
56
68
|
_id: {
|
57
|
-
type: Types.ObjectId,
|
69
|
+
type: Schema.Types.ObjectId,
|
58
70
|
auto: true,
|
59
71
|
},
|
60
72
|
dateAt: {
|
@@ -72,7 +84,6 @@ export async function ChartDeviceStatsModule(mongoose: MongooseModule) {
|
|
72
84
|
default: [],
|
73
85
|
},
|
74
86
|
}, {
|
75
|
-
collection: "massive_chart_device_stat",
|
76
87
|
});
|
77
88
|
modelSchema.set("autoIndex", false);
|
78
89
|
|
@@ -81,16 +92,14 @@ export async function ChartDeviceStatsModule(mongoose: MongooseModule) {
|
|
81
92
|
versionKey: false,
|
82
93
|
});
|
83
94
|
|
84
|
-
modelSchema.virtual("id").get(function(this: MongooseDocument) {
|
95
|
+
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
85
96
|
// tslint:disable-next-line: no-unsafe-any
|
86
97
|
return this._id.toString();
|
87
98
|
});
|
88
99
|
|
89
100
|
modelSchema.plugin(mongooseLeanVirtuals);
|
90
101
|
|
91
|
-
return
|
102
|
+
return mongoose.model<ChartDeviceStats>("ChartDeviceStat", modelSchema, "massive_chart_device_stat", { overwriteModels: true });
|
92
103
|
}
|
93
104
|
|
94
|
-
export interface
|
95
|
-
export interface ChartDeviceStatsModel extends ModelTypeFromTypeSchemaFunction<ChartDeviceStats> { }
|
96
|
-
export default ChartDeviceStatsModule as ReplaceModelReturnType<typeof ChartDeviceStatsModule, ChartDeviceStatsModel>;
|
105
|
+
export interface ChartDeviceStatsModel extends Model<ChartDeviceStats> { }
|