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,20 +1,36 @@
|
|
1
1
|
import * as uuid from "uuid";
|
2
2
|
import {
|
3
|
-
createSchema,
|
4
|
-
createModel,
|
5
3
|
currentDate,
|
6
4
|
MongooseModule,
|
7
|
-
ItemTypeFromTypeSchemaFunction,
|
8
|
-
ModelTypeFromTypeSchemaFunction,
|
9
|
-
ReplaceModelReturnType,
|
10
5
|
} from "../helpers";
|
6
|
+
import { Model, Types } from "mongoose";
|
11
7
|
|
12
|
-
export
|
13
|
-
|
8
|
+
export interface DeviceMapping {
|
9
|
+
_id: Types.ObjectId,
|
10
|
+
departmentId: string,
|
11
|
+
userId: string,
|
12
|
+
deviceType: string,
|
13
|
+
mapId: string,
|
14
|
+
deviceId: string,
|
15
|
+
location: {
|
16
|
+
longitude: number,
|
17
|
+
latitude: number,
|
18
|
+
},
|
19
|
+
modified_unix_date: number,
|
20
|
+
modified: Date,
|
21
|
+
active: boolean,
|
22
|
+
remoteAddress: string,
|
23
|
+
uuid: string,
|
24
|
+
note: string,
|
25
|
+
mapHidden: boolean,
|
26
|
+
}
|
27
|
+
|
28
|
+
export default async function DeviceMappingModule(mongoose: MongooseModule) {
|
29
|
+
const { Schema } = mongoose;
|
14
30
|
|
15
|
-
const modelSchema =
|
31
|
+
const modelSchema = new Schema<DeviceMapping>({
|
16
32
|
_id: {
|
17
|
-
type: Types.ObjectId,
|
33
|
+
type: Schema.Types.ObjectId,
|
18
34
|
auto: true,
|
19
35
|
},
|
20
36
|
departmentId: {
|
@@ -74,13 +90,10 @@ export async function DeviceMappingModule(mongoose: MongooseModule) {
|
|
74
90
|
default: false,
|
75
91
|
},
|
76
92
|
}, {
|
77
|
-
collection: "massive_device_mapping",
|
78
93
|
});
|
79
94
|
modelSchema.set("autoIndex", false);
|
80
95
|
|
81
|
-
return
|
96
|
+
return mongoose.model<DeviceMapping>("DeviceMapping", modelSchema, "massive_device_mapping", { overwriteModels: true });
|
82
97
|
}
|
83
98
|
|
84
|
-
export interface
|
85
|
-
export interface DeviceMappingModel extends ModelTypeFromTypeSchemaFunction<DeviceMapping> { }
|
86
|
-
export default DeviceMappingModule as ReplaceModelReturnType<typeof DeviceMappingModule, DeviceMappingModel>;
|
99
|
+
export interface DeviceMappingModel extends Model<DeviceMapping> { }
|
package/src/models/esri.ts
CHANGED
@@ -1,27 +1,43 @@
|
|
1
1
|
// import * as uuid from "uuid";
|
2
|
+
import { Model, Types } from "mongoose";
|
2
3
|
import {
|
3
|
-
createModel,
|
4
|
-
createSchema,
|
5
|
-
DocumentTypeFromSchema,
|
6
|
-
FieldsOfDocument,
|
7
|
-
ItemTypeFromTypeSchemaFunction,
|
8
|
-
ModelTypeFromTypeSchemaFunction,
|
9
4
|
MongooseModule,
|
10
|
-
ReplaceModelReturnType,
|
11
5
|
} from "../helpers";
|
12
|
-
import EsriAuthModule from "./schema/esri-auth";
|
13
|
-
import EsriErrorModule from "./schema/esri-error";
|
14
|
-
import EsriMapModule from "./schema/esri-map";
|
15
|
-
import FireMapperAuthModule from "./schema/firemapper-auth";
|
6
|
+
import EsriAuthModule, { EsriAuthSchemaType } from "./schema/esri-auth";
|
7
|
+
import EsriErrorModule, { EsriErrorSchemaType } from "./schema/esri-error";
|
8
|
+
import EsriMapModule, { EsriMapType } from "./schema/esri-map";
|
9
|
+
import FireMapperAuthModule, { FireMapperAuthType } from "./schema/firemapper-auth";
|
10
|
+
|
11
|
+
interface MapPropertiesType {
|
12
|
+
itemId: string,
|
13
|
+
download: boolean,
|
14
|
+
}
|
15
|
+
export interface Esri {
|
16
|
+
_id: Types.ObjectId,
|
17
|
+
id?: string,
|
18
|
+
runAt: Date,
|
19
|
+
departmentId: Types.ObjectId
|
20
|
+
auth: EsriAuthSchemaType,
|
21
|
+
authError: EsriErrorSchemaType,
|
22
|
+
fireMapperAuth: FireMapperAuthType,
|
23
|
+
arcGISGroupIds: string[],
|
24
|
+
arcGISAuth: EsriAuthSchemaType,
|
25
|
+
arcGISMigrated: boolean,
|
26
|
+
review: object,
|
27
|
+
reviewRunAt: Date,
|
28
|
+
maps: EsriMapType[],
|
29
|
+
mapsProperties: MapPropertiesType[],
|
30
|
+
mapLastUpdated: Date,
|
31
|
+
}
|
16
32
|
|
17
33
|
export function EsriSchema(mongoose: MongooseModule) {
|
18
|
-
const { Schema
|
34
|
+
const { Schema } = mongoose;
|
19
35
|
const EsriAuth = EsriAuthModule(mongoose);
|
20
36
|
const EsriError = EsriErrorModule(mongoose);
|
21
37
|
const EsriMap = EsriMapModule(mongoose);
|
22
38
|
const FireMapperAuth = FireMapperAuthModule(mongoose);
|
23
39
|
|
24
|
-
const MapProperties =
|
40
|
+
const MapProperties = new Schema<MapPropertiesType>({
|
25
41
|
// ArcGIS Item id
|
26
42
|
itemId: {
|
27
43
|
type: String,
|
@@ -36,9 +52,9 @@ export function EsriSchema(mongoose: MongooseModule) {
|
|
36
52
|
id: false,
|
37
53
|
});
|
38
54
|
|
39
|
-
const modelSchema =
|
55
|
+
const modelSchema = new Schema<Esri>({
|
40
56
|
_id: {
|
41
|
-
type: Types.ObjectId,
|
57
|
+
type: Schema.Types.ObjectId,
|
42
58
|
auto: true,
|
43
59
|
},
|
44
60
|
|
@@ -48,7 +64,7 @@ export function EsriSchema(mongoose: MongooseModule) {
|
|
48
64
|
default: new Date("1970-01-01T00:00:00.000Z"),
|
49
65
|
},
|
50
66
|
departmentId: {
|
51
|
-
type: Types.ObjectId,
|
67
|
+
type: Schema.Types.ObjectId,
|
52
68
|
ref: "Department",
|
53
69
|
required: true
|
54
70
|
},
|
@@ -111,31 +127,25 @@ export function EsriSchema(mongoose: MongooseModule) {
|
|
111
127
|
default: new Date("1970-01-01T00:00:00.000Z"),
|
112
128
|
},
|
113
129
|
}, {
|
114
|
-
collection: "massive_esri",
|
115
130
|
});
|
116
131
|
modelSchema.set("autoIndex", false);
|
117
132
|
|
133
|
+
// Deprecated. Check which apps rely on .id instead of using ._id.
|
134
|
+
modelSchema.virtual("id").get(function (this: Esri) {
|
135
|
+
return this._id.toHexString();
|
136
|
+
});
|
137
|
+
|
118
138
|
modelSchema.set("toJSON", {
|
119
139
|
virtuals: true,
|
120
140
|
versionKey: false,
|
121
|
-
// Deprecated. Check which apps rely on .id instead of using ._id.
|
122
|
-
transform(doc: DocumentTypeFromSchema<typeof modelSchema>, ret: FieldsOfDocument<DocumentTypeFromSchema<typeof modelSchema>>) {
|
123
|
-
ret.id = ret._id;
|
124
|
-
},
|
125
141
|
});
|
126
142
|
|
127
|
-
// Deprecated. Check which apps rely on .id instead of using ._id.
|
128
|
-
modelSchema.virtual("id").get(function(this: DocumentTypeFromSchema<typeof modelSchema>) {
|
129
|
-
return this._id.toHexString();
|
130
|
-
});
|
131
143
|
return modelSchema;
|
132
144
|
}
|
133
145
|
|
134
|
-
export async function EsriModule(mongoose: MongooseModule) {
|
146
|
+
export default async function EsriModule(mongoose: MongooseModule) {
|
135
147
|
const modelSchema = EsriSchema(mongoose);
|
136
|
-
return
|
148
|
+
return mongoose.model<Esri>("Esri", modelSchema, "massive_esri", { overwriteModels: true });
|
137
149
|
}
|
138
150
|
|
139
|
-
export interface
|
140
|
-
export interface EsriModel extends ModelTypeFromTypeSchemaFunction<Esri> { }
|
141
|
-
export default EsriModule as ReplaceModelReturnType<typeof EsriModule, EsriModel>;
|
151
|
+
export interface EsriModel extends Model<Esri> { }
|
@@ -1,21 +1,36 @@
|
|
1
1
|
import * as uuid from "uuid";
|
2
2
|
import {
|
3
|
-
createSchema,
|
4
|
-
createModel,
|
5
3
|
currentDate,
|
6
4
|
MongooseModule,
|
7
|
-
ItemTypeFromTypeSchemaFunction,
|
8
|
-
ModelTypeFromTypeSchemaFunction,
|
9
|
-
ReplaceModelReturnType,
|
10
5
|
retrieveCurrentUnixTime,
|
11
6
|
} from "../helpers";
|
7
|
+
import { Model, Types } from "mongoose";
|
12
8
|
|
13
|
-
export
|
14
|
-
|
9
|
+
export interface GSTMapping {
|
10
|
+
_id: Types.ObjectId,
|
11
|
+
departmentId: string,
|
12
|
+
gstAgency: string,
|
13
|
+
deviceType: string,
|
14
|
+
unitId: string,
|
15
|
+
location: {
|
16
|
+
longitude: number,
|
17
|
+
latitude: number,
|
18
|
+
},
|
19
|
+
modified_unix_date: number,
|
20
|
+
modified: Date,
|
21
|
+
active: boolean,
|
22
|
+
mapHidden: boolean,
|
23
|
+
remoteAddress: string,
|
24
|
+
uuid: string,
|
25
|
+
note: string,
|
26
|
+
}
|
27
|
+
|
28
|
+
export default async function GSTMappingModule(mongoose: MongooseModule) {
|
29
|
+
const { Schema } = mongoose;
|
15
30
|
|
16
|
-
const modelSchema =
|
31
|
+
const modelSchema = new Schema<GSTMapping>({
|
17
32
|
_id: {
|
18
|
-
type: Types.ObjectId,
|
33
|
+
type: Schema.Types.ObjectId,
|
19
34
|
auto: true,
|
20
35
|
},
|
21
36
|
departmentId: {
|
@@ -36,10 +51,10 @@ export async function GSTMappingModule(mongoose: MongooseModule) {
|
|
36
51
|
},
|
37
52
|
location: {
|
38
53
|
longitude: {
|
39
|
-
|
54
|
+
type: Number,
|
40
55
|
},
|
41
56
|
latitude: {
|
42
|
-
|
57
|
+
type: Number,
|
43
58
|
},
|
44
59
|
},
|
45
60
|
modified_unix_date: {
|
@@ -71,13 +86,10 @@ export async function GSTMappingModule(mongoose: MongooseModule) {
|
|
71
86
|
default: "",
|
72
87
|
},
|
73
88
|
}, {
|
74
|
-
collection: "massive_gst_mapping",
|
75
89
|
});
|
76
90
|
modelSchema.set("autoIndex", false);
|
77
91
|
|
78
|
-
return
|
92
|
+
return mongoose.model<GSTMapping>("GSTMapping", modelSchema, "massive_gst_mapping", { overwriteModels: true });
|
79
93
|
}
|
80
94
|
|
81
|
-
export interface
|
82
|
-
export interface GSTMappingModel extends ModelTypeFromTypeSchemaFunction<GSTMapping> { }
|
83
|
-
export default GSTMappingModule as ReplaceModelReturnType<typeof GSTMappingModule, GSTMappingModel>;
|
95
|
+
export interface GSTMappingModel extends Model<GSTMapping> { }
|
@@ -1,25 +1,43 @@
|
|
1
|
+
import { Model, Types } from "mongoose";
|
1
2
|
import {
|
2
|
-
createModel,
|
3
|
-
createSchema,
|
4
3
|
currentDate,
|
5
|
-
ItemTypeFromTypeSchemaFunction,
|
6
|
-
ModelTypeFromTypeSchemaFunction,
|
7
4
|
MongooseDocument,
|
8
5
|
MongooseModule,
|
9
|
-
ReplaceModelReturnType,
|
10
6
|
retrieveCurrentUnixTime,
|
11
7
|
} from "../helpers";
|
12
8
|
import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
|
13
9
|
|
14
|
-
|
15
|
-
|
16
|
-
|
10
|
+
interface EventUserType {
|
11
|
+
username: string,
|
12
|
+
email: string,
|
13
|
+
radioName: string,
|
14
|
+
userId: string,
|
15
|
+
}
|
16
|
+
export interface IncidentEvent {
|
17
|
+
_id: Types.ObjectId,
|
18
|
+
id?: string,
|
19
|
+
departmentId: string,
|
20
|
+
IncidentNumber: string,
|
21
|
+
modified_unix_date: number,
|
22
|
+
modified: Date,
|
23
|
+
message: string,
|
24
|
+
location: {
|
25
|
+
longitude: number,
|
26
|
+
latitude: number,
|
27
|
+
},
|
28
|
+
type: string,
|
29
|
+
user: EventUserType,
|
30
|
+
serverTime: number,
|
31
|
+
userTime: number,
|
32
|
+
uuid: string,
|
33
|
+
ref_uuid: string,
|
34
|
+
opts: object,
|
35
|
+
archived: boolean,
|
17
36
|
}
|
18
|
-
|
19
37
|
export function IncidentEventSchema(mongoose: MongooseModule) {
|
20
|
-
const { Schema
|
38
|
+
const { Schema } = mongoose;
|
21
39
|
|
22
|
-
const EventUser =
|
40
|
+
const EventUser = new Schema<EventUserType>({
|
23
41
|
username: {
|
24
42
|
type: String,
|
25
43
|
default: "",
|
@@ -41,9 +59,9 @@ export function IncidentEventSchema(mongoose: MongooseModule) {
|
|
41
59
|
id: false,
|
42
60
|
});
|
43
61
|
|
44
|
-
const modelSchema =
|
62
|
+
const modelSchema = new Schema<IncidentEvent>({
|
45
63
|
_id: {
|
46
|
-
type: Types.ObjectId,
|
64
|
+
type: Schema.Types.ObjectId,
|
47
65
|
auto: true,
|
48
66
|
},
|
49
67
|
departmentId: {
|
@@ -118,14 +136,13 @@ export function IncidentEventSchema(mongoose: MongooseModule) {
|
|
118
136
|
default: false,
|
119
137
|
},
|
120
138
|
}, {
|
121
|
-
collection: "massive_incident_event",
|
122
139
|
});
|
123
140
|
modelSchema.set("toJSON", {
|
124
141
|
virtuals: true,
|
125
142
|
versionKey: false,
|
126
143
|
});
|
127
144
|
|
128
|
-
modelSchema.virtual("id").get(function(this: MongooseDocument) {
|
145
|
+
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
129
146
|
// tslint:disable-next-line: no-unsafe-any
|
130
147
|
return this._id.toString();
|
131
148
|
});
|
@@ -135,6 +152,9 @@ export function IncidentEventSchema(mongoose: MongooseModule) {
|
|
135
152
|
return modelSchema;
|
136
153
|
}
|
137
154
|
|
138
|
-
export
|
139
|
-
|
140
|
-
|
155
|
+
export default async function IncidentEventModule(mongoose: MongooseModule) {
|
156
|
+
const modelSchema = IncidentEventSchema(mongoose);
|
157
|
+
return mongoose.model<IncidentEvent>("IncidentEvent", modelSchema, "massive_incident_event", { overwriteModels: true });
|
158
|
+
}
|
159
|
+
|
160
|
+
export interface IncidentEventModel extends Model<IncidentEvent> { }
|
@@ -1,17 +1,34 @@
|
|
1
|
+
import { Model, Types } from "mongoose";
|
1
2
|
import {
|
2
|
-
createSchema,
|
3
|
-
createModel,
|
4
3
|
currentDate,
|
5
4
|
MongooseModule,
|
6
|
-
ItemTypeFromTypeSchemaFunction,
|
7
|
-
ModelTypeFromTypeSchemaFunction,
|
8
|
-
ReplaceModelReturnType,
|
9
5
|
} from "../helpers";
|
10
6
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
7
|
+
interface SentItemType {
|
8
|
+
name: string,
|
9
|
+
type: string,
|
10
|
+
date: Date,
|
11
|
+
}
|
12
|
+
|
13
|
+
interface UnitType {
|
14
|
+
UnitID: string,
|
15
|
+
UnitDispatchNumber: string,
|
16
|
+
}
|
17
|
+
export interface IncidentNotified {
|
18
|
+
_id: Types.ObjectId,
|
19
|
+
departmentId: string,
|
20
|
+
IncidentNumber: string,
|
21
|
+
incidentTypes: string[],
|
22
|
+
units: string[],
|
23
|
+
unitsByDispatch: UnitType[],
|
24
|
+
sent: SentItemType[],
|
25
|
+
updated: Date,
|
26
|
+
}
|
27
|
+
|
28
|
+
export default async function IncidentNotifiedModule(mongoose: MongooseModule) {
|
29
|
+
const { Schema } = mongoose;
|
30
|
+
|
31
|
+
const SentItem = new Schema<SentItemType>({
|
15
32
|
name: {
|
16
33
|
type: String,
|
17
34
|
default: "",
|
@@ -29,7 +46,7 @@ export async function IncidentNotifiedModule(mongoose: MongooseModule) {
|
|
29
46
|
id: false,
|
30
47
|
});
|
31
48
|
|
32
|
-
const Unit =
|
49
|
+
const Unit = new Schema<UnitType>({
|
33
50
|
UnitID: {
|
34
51
|
type: String,
|
35
52
|
default: "",
|
@@ -43,9 +60,9 @@ export async function IncidentNotifiedModule(mongoose: MongooseModule) {
|
|
43
60
|
id: false,
|
44
61
|
});
|
45
62
|
|
46
|
-
const modelSchema =
|
63
|
+
const modelSchema = new Schema<IncidentNotified>({
|
47
64
|
_id: {
|
48
|
-
type: Types.ObjectId,
|
65
|
+
type: Schema.Types.ObjectId,
|
49
66
|
auto: true,
|
50
67
|
},
|
51
68
|
departmentId: {
|
@@ -79,13 +96,10 @@ export async function IncidentNotifiedModule(mongoose: MongooseModule) {
|
|
79
96
|
default: currentDate,
|
80
97
|
},
|
81
98
|
}, {
|
82
|
-
collection: "massive_incident_notified",
|
83
99
|
});
|
84
100
|
modelSchema.set("autoIndex", false);
|
85
101
|
|
86
|
-
return
|
102
|
+
return mongoose.model<IncidentNotified>("IncidentNotified", modelSchema, "massive_incident_notified", { overwriteModels: true });
|
87
103
|
}
|
88
104
|
|
89
|
-
export interface
|
90
|
-
export interface IncidentNotifiedModel extends ModelTypeFromTypeSchemaFunction<IncidentNotified> { }
|
91
|
-
export default IncidentNotifiedModule as ReplaceModelReturnType<typeof IncidentNotifiedModule, IncidentNotifiedModel>;
|
105
|
+
export interface IncidentNotifiedModel extends Model<IncidentNotified> { }
|
@@ -1,19 +1,31 @@
|
|
1
1
|
import * as uuid from "uuid";
|
2
2
|
import {
|
3
|
-
createSchema,
|
4
|
-
createModel,
|
5
3
|
MongooseModule,
|
6
|
-
ItemTypeFromTypeSchemaFunction,
|
7
|
-
ModelTypeFromTypeSchemaFunction,
|
8
|
-
ReplaceModelReturnType,
|
9
4
|
} from "../helpers";
|
5
|
+
import { Model, Types } from "mongoose";
|
10
6
|
|
11
|
-
export
|
12
|
-
|
7
|
+
export interface IncidentTakeover {
|
8
|
+
_id: Types.ObjectId,
|
9
|
+
departmentId: string,
|
10
|
+
uuid: string,
|
11
|
+
incident_id: string,
|
12
|
+
incident_name: string,
|
13
|
+
incident_number: string,
|
14
|
+
old_owner: string,
|
15
|
+
new_owner: string,
|
16
|
+
owner: string,
|
17
|
+
status: string,
|
18
|
+
request_time: number,
|
19
|
+
last_response_time: number,
|
20
|
+
response_time: number,
|
21
|
+
}
|
22
|
+
|
23
|
+
export default async function IncidentTakeoverModule(mongoose: MongooseModule) {
|
24
|
+
const { Schema } = mongoose;
|
13
25
|
|
14
|
-
const modelSchema =
|
26
|
+
const modelSchema = new Schema<IncidentTakeover>({
|
15
27
|
_id: {
|
16
|
-
type: Types.ObjectId,
|
28
|
+
type: Schema.Types.ObjectId,
|
17
29
|
auto: true,
|
18
30
|
},
|
19
31
|
departmentId: {
|
@@ -72,13 +84,10 @@ export async function IncidentTakeoverModule(mongoose: MongooseModule) {
|
|
72
84
|
default: 0,
|
73
85
|
},
|
74
86
|
}, {
|
75
|
-
collection: "massive_incident_takeover",
|
76
87
|
});
|
77
88
|
modelSchema.set("autoIndex", false);
|
78
89
|
|
79
|
-
return
|
90
|
+
return mongoose.model<IncidentTakeover>("IncidentTakeover", modelSchema, "massive_incident_takeover", { overwriteModels: true });
|
80
91
|
}
|
81
92
|
|
82
|
-
export interface
|
83
|
-
export interface IncidentTakeoverModel extends ModelTypeFromTypeSchemaFunction<IncidentTakeover> { }
|
84
|
-
export default IncidentTakeoverModule as ReplaceModelReturnType<typeof IncidentTakeoverModule, IncidentTakeoverModel>;
|
93
|
+
export interface IncidentTakeoverModel extends Model<IncidentTakeover> { }
|
package/src/models/job-log.ts
CHANGED
@@ -1,21 +1,29 @@
|
|
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
|
currentDate,
|
10
6
|
} from "../helpers";
|
11
7
|
import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
|
12
8
|
|
13
|
-
export
|
14
|
-
|
9
|
+
export interface JobLog {
|
10
|
+
_id: Types.ObjectId,
|
11
|
+
id?: string,
|
12
|
+
jobName: string,
|
13
|
+
host: string,
|
14
|
+
bidDate: Date,
|
15
|
+
startDate: Date,
|
16
|
+
completedDate: Date,
|
17
|
+
state: string
|
18
|
+
forceClosed: boolean,
|
19
|
+
}
|
20
|
+
|
21
|
+
export default async function JobLogModule(mongoose: MongooseModule) {
|
22
|
+
const { Schema } = mongoose;
|
15
23
|
|
16
|
-
const modelSchema =
|
24
|
+
const modelSchema = new Schema<JobLog>({
|
17
25
|
_id: {
|
18
|
-
type: Types.ObjectId,
|
26
|
+
type: Schema.Types.ObjectId,
|
19
27
|
auto: true,
|
20
28
|
},
|
21
29
|
jobName: {
|
@@ -44,23 +52,20 @@ export async function JobLogModule(mongoose: MongooseModule) {
|
|
44
52
|
default: false,
|
45
53
|
},
|
46
54
|
}, {
|
47
|
-
collection: "massive_job_log",
|
48
55
|
});
|
49
56
|
modelSchema.set("toJSON", {
|
50
57
|
virtuals: true,
|
51
58
|
versionKey: false,
|
52
59
|
});
|
53
60
|
|
54
|
-
modelSchema.virtual("id").get(function(this: MongooseDocument) {
|
61
|
+
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
55
62
|
return this._id.toHexString();
|
56
63
|
});
|
57
64
|
|
58
65
|
modelSchema.plugin(mongooseLeanVirtuals);
|
59
66
|
modelSchema.set("autoIndex", false);
|
60
67
|
|
61
|
-
return
|
68
|
+
return mongoose.model<JobLog>("JobLog", modelSchema, "massive_job_log", { overwriteModels: true });
|
62
69
|
}
|
63
70
|
|
64
|
-
export interface
|
65
|
-
export interface JobLogModel extends ModelTypeFromTypeSchemaFunction<JobLog> { }
|
66
|
-
export default JobLogModule as ReplaceModelReturnType<typeof JobLogModule, JobLogModel>;
|
71
|
+
export interface JobLogModel extends Model<JobLog> { }
|
package/src/models/location.ts
CHANGED
@@ -1,27 +1,57 @@
|
|
1
1
|
import * as uuid from "uuid";
|
2
2
|
import {
|
3
|
-
createModel,
|
4
|
-
createSchema,
|
5
3
|
createSchemaDefinition,
|
6
4
|
currentDate,
|
7
|
-
ItemTypeFromTypeSchemaFunction,
|
8
|
-
ModelTypeFromTypeSchemaFunction,
|
9
5
|
MongooseDocument,
|
10
6
|
MongooseModule,
|
11
|
-
ReplaceModelReturnType,
|
12
7
|
} from "../helpers";
|
13
8
|
import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
|
14
|
-
import ColorModule from "./schema/color";
|
15
|
-
import GeoJSONPointModule from "./schema/geojson-point";
|
9
|
+
import ColorModule, { ColorSchemaType } from "./schema/color";
|
10
|
+
import GeoJSONPointModule, { GeoJSONPointType } from "./schema/geojson-point";
|
11
|
+
import { Model, Types } from "mongoose";
|
16
12
|
|
17
|
-
export
|
18
|
-
|
13
|
+
export interface Location extends Record<string, unknown> {
|
14
|
+
_id: Types.ObjectId,
|
15
|
+
id?: string,
|
16
|
+
departmentId: string,
|
17
|
+
userId: string,
|
18
|
+
uuid: string,
|
19
|
+
username: string,
|
20
|
+
device_type: string,
|
21
|
+
active: boolean,
|
22
|
+
deleteAfterDate: Date,
|
23
|
+
modified: Date,
|
24
|
+
movedAt: Date,
|
25
|
+
propsChangedAt: Date,
|
26
|
+
version: number,
|
27
|
+
session: string,
|
28
|
+
altitude: number,
|
29
|
+
heading: number,
|
30
|
+
speed: number,
|
31
|
+
esriId: number,
|
32
|
+
locationGeoJSON: GeoJSONPointType,
|
33
|
+
opAreaCode: string
|
34
|
+
opAreaName: string,
|
35
|
+
agencyCode: string,
|
36
|
+
agencyName: string,
|
37
|
+
shared: boolean,
|
38
|
+
state: string,
|
39
|
+
sendToCAD: boolean,
|
40
|
+
color: ColorSchemaType,
|
41
|
+
colorChangedAt: Date,
|
42
|
+
source: string,
|
43
|
+
kindType: string,
|
44
|
+
typeDetails: object
|
45
|
+
}
|
46
|
+
|
47
|
+
export default async function LocationModule(mongoose: MongooseModule) {
|
48
|
+
const { Schema } = mongoose;
|
19
49
|
const Color = ColorModule(mongoose);
|
20
50
|
const GeoJSONPoint = GeoJSONPointModule(mongoose);
|
21
51
|
|
22
52
|
const modelSchemaDefinition = createSchemaDefinition({
|
23
53
|
_id: {
|
24
|
-
type: Types.ObjectId,
|
54
|
+
type: Schema.Types.ObjectId,
|
25
55
|
auto: true,
|
26
56
|
},
|
27
57
|
departmentId: {
|
@@ -175,8 +205,7 @@ export async function LocationModule(mongoose: MongooseModule) {
|
|
175
205
|
},
|
176
206
|
});
|
177
207
|
|
178
|
-
const modelSchema =
|
179
|
-
collection: "massive_location",
|
208
|
+
const modelSchema = new Schema<Location>(modelSchemaDefinition, {
|
180
209
|
});
|
181
210
|
|
182
211
|
modelSchema.set("toJSON", {
|
@@ -184,11 +213,11 @@ export async function LocationModule(mongoose: MongooseModule) {
|
|
184
213
|
versionKey: false,
|
185
214
|
});
|
186
215
|
|
187
|
-
modelSchema.virtual("id").get(function(this: MongooseDocument) {
|
216
|
+
modelSchema.virtual("id").get(function (this: MongooseDocument) {
|
188
217
|
return this._id.toHexString();
|
189
218
|
});
|
190
219
|
|
191
|
-
modelSchema.virtual("location").get(function(this: { locationGeoJSON: { coordinates: number[] } } | null | undefined) {
|
220
|
+
modelSchema.virtual("location").get(function (this: { locationGeoJSON: { coordinates: number[] } } | null | undefined) {
|
192
221
|
const location = {
|
193
222
|
latitude: 0,
|
194
223
|
longitude: 0
|
@@ -216,9 +245,7 @@ export async function LocationModule(mongoose: MongooseModule) {
|
|
216
245
|
|
217
246
|
modelSchema.plugin(mongooseLeanVirtuals);
|
218
247
|
modelSchema.set("autoIndex", false);
|
219
|
-
return
|
248
|
+
return mongoose.model<Location>("Location", modelSchema, "massive_location", { overwriteModels: true });
|
220
249
|
}
|
221
250
|
|
222
|
-
export interface
|
223
|
-
export interface LocationModel extends ModelTypeFromTypeSchemaFunction<Location> { }
|
224
|
-
export default LocationModule as ReplaceModelReturnType<typeof LocationModule, LocationModel>;
|
251
|
+
export interface LocationModel extends Model<Location> { }
|