@kalisio/kdk 1.4.2 → 1.5.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/.nyc_output/{2e74ca23-8cf0-4161-9536-f71c2a1a74bb.json → 058fc679-d60a-4501-ac04-71171e5200b8.json} +0 -0
- package/.nyc_output/2226bcce-9d22-4dad-b9fa-46564b5565c7.json +1 -0
- package/.nyc_output/{2c5b7c8e-81db-4d2c-a7a4-02dc640d301f.json → 6dc4b140-1a8a-4d69-b91c-89c557883d6e.json} +1 -1
- package/.nyc_output/{81d21e46-766a-46bc-b1b7-143ca577347a.json → 8b1830fa-932e-4a61-9837-4a5b18f83ea9.json} +0 -0
- package/.nyc_output/{aaf3ebbb-f895-4d7b-9255-bc5dee832570.json → afd2d144-3570-4858-b94a-b523dbd023dd.json} +0 -0
- package/.nyc_output/processinfo/058fc679-d60a-4501-ac04-71171e5200b8.json +1 -0
- package/.nyc_output/processinfo/{a762cb58-70dc-4d39-ab69-928635affa98.json → 2226bcce-9d22-4dad-b9fa-46564b5565c7.json} +1 -1
- package/.nyc_output/processinfo/{2c5b7c8e-81db-4d2c-a7a4-02dc640d301f.json → 6dc4b140-1a8a-4d69-b91c-89c557883d6e.json} +1 -1
- package/.nyc_output/processinfo/8b1830fa-932e-4a61-9837-4a5b18f83ea9.json +1 -0
- package/.nyc_output/processinfo/afd2d144-3570-4858-b94a-b523dbd023dd.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +21 -8
- package/coverage/core/api/application.js.html +455 -455
- package/coverage/core/api/authentication.js.html +119 -119
- package/coverage/core/api/db.js.html +201 -201
- package/coverage/core/api/hooks/hooks.account.js.html +45 -45
- package/coverage/core/api/hooks/hooks.authentication.js.html +71 -71
- package/coverage/core/api/hooks/hooks.authorisations.js.html +353 -353
- package/coverage/core/api/hooks/hooks.devices.js.html +49 -49
- package/coverage/core/api/hooks/hooks.groups.js.html +37 -37
- package/coverage/core/api/hooks/hooks.logger.js.html +27 -27
- package/coverage/core/api/hooks/hooks.model.js.html +269 -269
- package/coverage/core/api/hooks/hooks.organisations.js.html +190 -190
- package/coverage/core/api/hooks/hooks.pusher.js.html +114 -114
- package/coverage/core/api/hooks/hooks.query.js.html +200 -200
- package/coverage/core/api/hooks/hooks.service.js.html +82 -82
- package/coverage/core/api/hooks/hooks.storage.js.html +121 -121
- package/coverage/core/api/hooks/hooks.tags.js.html +232 -232
- package/coverage/core/api/hooks/hooks.users.js.html +263 -263
- package/coverage/core/api/hooks/index.html +172 -172
- package/coverage/core/api/hooks/index.js.html +24 -24
- package/coverage/core/api/index.html +75 -75
- package/coverage/core/api/index.js.html +26 -26
- package/coverage/core/api/marshall.js.html +57 -57
- package/coverage/core/api/models/groups.model.mongodb.js.html +20 -20
- package/coverage/core/api/models/index.html +50 -50
- package/coverage/core/api/models/organisations.model.mongodb.js.html +12 -12
- package/coverage/core/api/models/tags.model.mongodb.js.html +22 -22
- package/coverage/core/api/models/users.model.mongodb.js.html +20 -20
- package/coverage/core/api/oauth2-handler.js.html +18 -18
- package/coverage/core/api/oauth2-verifier.js.html +38 -38
- package/coverage/core/api/services/account/account.hooks.js.html +16 -16
- package/coverage/core/api/services/account/account.service.js.html +104 -104
- package/coverage/core/api/services/account/index.html +32 -32
- package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +9 -9
- package/coverage/core/api/services/authorisations/authorisations.service.js.html +132 -132
- package/coverage/core/api/services/authorisations/index.html +28 -28
- package/coverage/core/api/services/databases/databases.hooks.js.html +9 -9
- package/coverage/core/api/services/databases/databases.service.js.html +12 -12
- package/coverage/core/api/services/databases/index.html +24 -24
- package/coverage/core/api/services/devices/devices.hooks.js.html +9 -9
- package/coverage/core/api/services/devices/devices.service.js.html +121 -121
- package/coverage/core/api/services/devices/index.html +28 -28
- package/coverage/core/api/services/groups/groups.hooks.js.html +9 -9
- package/coverage/core/api/services/groups/index.html +13 -13
- package/coverage/core/api/services/index.html +21 -21
- package/coverage/core/api/services/index.js.html +137 -137
- package/coverage/core/api/services/mailer/index.html +24 -24
- package/coverage/core/api/services/mailer/mailer.hooks.js.html +9 -9
- package/coverage/core/api/services/mailer/mailer.service.js.html +19 -19
- package/coverage/core/api/services/organisations/index.html +24 -24
- package/coverage/core/api/services/organisations/organisations.hooks.js.html +8 -8
- package/coverage/core/api/services/organisations/organisations.service.js.html +67 -67
- package/coverage/core/api/services/pusher/index.html +34 -34
- package/coverage/core/api/services/pusher/pusher.channels.js.html +8 -8
- package/coverage/core/api/services/pusher/pusher.hooks.js.html +10 -10
- package/coverage/core/api/services/pusher/pusher.service.js.html +414 -414
- package/coverage/core/api/services/storage/index.html +21 -21
- package/coverage/core/api/services/storage/storage.hooks.js.html +35 -35
- package/coverage/core/api/services/tags/index.html +21 -21
- package/coverage/core/api/services/tags/tags.hooks.js.html +25 -25
- package/coverage/core/api/services/users/index.html +21 -21
- package/coverage/core/api/services/users/users.hooks.js.html +33 -33
- package/coverage/core/common/errors.js.html +1 -1
- package/coverage/core/common/index.html +42 -27
- package/coverage/core/common/index.js.html +16 -16
- package/coverage/core/common/permissions.js.html +274 -274
- package/coverage/index.html +178 -178
- package/coverage/lcov-report/core/api/application.js.html +455 -455
- package/coverage/lcov-report/core/api/authentication.js.html +119 -119
- package/coverage/lcov-report/core/api/db.js.html +201 -201
- package/coverage/lcov-report/core/api/hooks/hooks.account.js.html +45 -45
- package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +71 -71
- package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +353 -353
- package/coverage/lcov-report/core/api/hooks/hooks.devices.js.html +49 -49
- package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +37 -37
- package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +27 -27
- package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +269 -269
- package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +190 -190
- package/coverage/lcov-report/core/api/hooks/hooks.pusher.js.html +114 -114
- package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +200 -200
- package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +82 -82
- package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +121 -121
- package/coverage/lcov-report/core/api/hooks/hooks.tags.js.html +232 -232
- package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +263 -263
- package/coverage/lcov-report/core/api/hooks/index.html +172 -172
- package/coverage/lcov-report/core/api/hooks/index.js.html +24 -24
- package/coverage/lcov-report/core/api/index.html +75 -75
- package/coverage/lcov-report/core/api/index.js.html +26 -26
- package/coverage/lcov-report/core/api/marshall.js.html +57 -57
- package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +20 -20
- package/coverage/lcov-report/core/api/models/index.html +50 -50
- package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +12 -12
- package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +22 -22
- package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +20 -20
- package/coverage/lcov-report/core/api/oauth2-handler.js.html +18 -18
- package/coverage/lcov-report/core/api/oauth2-verifier.js.html +38 -38
- package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +16 -16
- package/coverage/lcov-report/core/api/services/account/account.service.js.html +104 -104
- package/coverage/lcov-report/core/api/services/account/index.html +32 -32
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +9 -9
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +132 -132
- package/coverage/lcov-report/core/api/services/authorisations/index.html +28 -28
- package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +9 -9
- package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +12 -12
- package/coverage/lcov-report/core/api/services/databases/index.html +24 -24
- package/coverage/lcov-report/core/api/services/devices/devices.hooks.js.html +9 -9
- package/coverage/lcov-report/core/api/services/devices/devices.service.js.html +121 -121
- package/coverage/lcov-report/core/api/services/devices/index.html +28 -28
- package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +9 -9
- package/coverage/lcov-report/core/api/services/groups/index.html +13 -13
- package/coverage/lcov-report/core/api/services/index.html +21 -21
- package/coverage/lcov-report/core/api/services/index.js.html +137 -137
- package/coverage/lcov-report/core/api/services/mailer/index.html +24 -24
- package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +9 -9
- package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +19 -19
- package/coverage/lcov-report/core/api/services/organisations/index.html +24 -24
- package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +8 -8
- package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +67 -67
- package/coverage/lcov-report/core/api/services/pusher/index.html +34 -34
- package/coverage/lcov-report/core/api/services/pusher/pusher.channels.js.html +8 -8
- package/coverage/lcov-report/core/api/services/pusher/pusher.hooks.js.html +10 -10
- package/coverage/lcov-report/core/api/services/pusher/pusher.service.js.html +414 -414
- package/coverage/lcov-report/core/api/services/storage/index.html +21 -21
- package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +35 -35
- package/coverage/lcov-report/core/api/services/tags/index.html +21 -21
- package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +25 -25
- package/coverage/lcov-report/core/api/services/users/index.html +21 -21
- package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +33 -33
- package/coverage/lcov-report/core/common/errors.js.html +1 -1
- package/coverage/lcov-report/core/common/index.html +42 -27
- package/coverage/lcov-report/core/common/index.js.html +16 -16
- package/coverage/lcov-report/core/common/permissions.js.html +274 -274
- package/coverage/lcov-report/index.html +178 -178
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +25 -7
- package/coverage/lcov-report/map/api/hooks/index.html +7 -7
- package/coverage/lcov-report/map/api/hooks/index.js.html +1 -1
- package/coverage/lcov-report/map/api/index.html +1 -1
- package/coverage/lcov-report/map/api/index.js.html +1 -1
- package/coverage/lcov-report/map/api/marshall.js.html +1 -1
- package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/index.html +1 -1
- package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +1 -1
- package/coverage/lcov-report/map/api/services/alerts/index.html +1 -1
- package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/catalog/index.html +1 -1
- package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
- package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
- package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/features/index.html +1 -1
- package/coverage/lcov-report/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
- package/coverage/lcov-report/map/api/services/geocoder/geocoder.service.js.html +1 -1
- package/coverage/lcov-report/map/api/services/geocoder/index.html +1 -1
- package/coverage/lcov-report/map/api/services/index.html +1 -1
- package/coverage/lcov-report/map/api/services/index.js.html +1 -1
- package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/errors.js.html +1 -1
- package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/grid.js.html +1 -1
- package/coverage/lcov-report/map/common/index.html +1 -1
- package/coverage/lcov-report/map/common/index.js.html +1 -1
- package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/moment-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/opendap-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/opendap-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/permissions.js.html +1 -1
- package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/wcs-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/wcs-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/weacast-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/wfs-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/wmts-utils.js.html +1 -1
- package/coverage/lcov.info +3403 -3724
- package/coverage/map/api/hooks/hooks.catalog.js.html +1 -1
- package/coverage/map/api/hooks/hooks.query.js.html +25 -7
- package/coverage/map/api/hooks/index.html +7 -7
- package/coverage/map/api/hooks/index.js.html +1 -1
- package/coverage/map/api/index.html +1 -1
- package/coverage/map/api/index.js.html +1 -1
- package/coverage/map/api/marshall.js.html +1 -1
- package/coverage/map/api/models/alerts.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/catalog.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/features.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/index.html +1 -1
- package/coverage/map/api/services/alerts/alerts.hooks.js.html +1 -1
- package/coverage/map/api/services/alerts/alerts.service.js.html +1 -1
- package/coverage/map/api/services/alerts/index.html +1 -1
- package/coverage/map/api/services/catalog/catalog.hooks.js.html +1 -1
- package/coverage/map/api/services/catalog/index.html +1 -1
- package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
- package/coverage/map/api/services/daptiles/index.html +1 -1
- package/coverage/map/api/services/features/features.hooks.js.html +1 -1
- package/coverage/map/api/services/features/index.html +1 -1
- package/coverage/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
- package/coverage/map/api/services/geocoder/geocoder.service.js.html +1 -1
- package/coverage/map/api/services/geocoder/index.html +1 -1
- package/coverage/map/api/services/index.html +1 -1
- package/coverage/map/api/services/index.js.html +1 -1
- package/coverage/map/common/dynamic-grid-source.js.html +1 -1
- package/coverage/map/common/errors.js.html +1 -1
- package/coverage/map/common/geotiff-grid-source.js.html +1 -1
- package/coverage/map/common/grid.js.html +1 -1
- package/coverage/map/common/index.html +1 -1
- package/coverage/map/common/index.js.html +1 -1
- package/coverage/map/common/meteo-model-grid-source.js.html +1 -1
- package/coverage/map/common/moment-utils.js.html +1 -1
- package/coverage/map/common/opendap-grid-source.js.html +1 -1
- package/coverage/map/common/opendap-utils.js.html +1 -1
- package/coverage/map/common/permissions.js.html +1 -1
- package/coverage/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/map/common/tms-utils.js.html +1 -1
- package/coverage/map/common/wcs-grid-source.js.html +1 -1
- package/coverage/map/common/wcs-utils.js.html +1 -1
- package/coverage/map/common/weacast-grid-source.js.html +1 -1
- package/coverage/map/common/wfs-utils.js.html +1 -1
- package/coverage/map/common/wms-utils.js.html +1 -1
- package/coverage/map/common/wmts-utils.js.html +1 -1
- package/lib/core/client/components/form/KFileField.vue +11 -40
- package/lib/core/client/components/input/KOptionsChooser.vue +2 -2
- package/lib/core/client/i18n/core_en.json +6 -1
- package/lib/core/client/i18n/core_fr.json +6 -1
- package/lib/core/client/index.js +18 -0
- package/lib/core/client/index.js.map +1 -1
- package/lib/core/client/layout.js +8 -1
- package/lib/core/client/layout.js.map +1 -1
- package/lib/core/client/reader.js +54 -0
- package/lib/core/client/reader.js.map +1 -0
- package/lib/core/client/readers/index.js +30 -0
- package/lib/core/client/readers/index.js.map +1 -0
- package/lib/core/client/readers/reader.csv.js +43 -0
- package/lib/core/client/readers/reader.csv.js.map +1 -0
- package/lib/core/client/readers/reader.json.js +38 -0
- package/lib/core/client/readers/reader.json.js.map +1 -0
- package/lib/map/api/hooks/hooks.query.js +7 -2
- package/lib/map/api/hooks/hooks.query.js.map +1 -1
- package/lib/map/client/components/KCaptureToolbar.vue +156 -0
- package/lib/map/client/components/KFeaturesFilter.vue +3 -1
- package/lib/map/client/components/KLayerEditionToolbar.vue +19 -11
- package/lib/map/client/components/KLayerStyleEditor.vue +2 -1
- package/lib/map/client/components/KLayerStyleForm.vue +34 -23
- package/lib/map/client/components/KMeasureTool.vue +340 -0
- package/lib/map/client/components/KTimeline.vue +0 -1
- package/lib/map/client/components/catalog/KImportLayer.vue +8 -35
- package/lib/map/client/components/catalog/KLayersSelector.vue +5 -3
- package/lib/map/client/components/widget/KTimeSeries.vue +81 -3
- package/lib/map/client/i18n/map_en.json +41 -4
- package/lib/map/client/i18n/map_fr.json +41 -4
- package/lib/map/client/init.js +6 -1
- package/lib/map/client/init.js.map +1 -1
- package/lib/map/client/leaflet/MaskLayer.js +9 -0
- package/lib/map/client/leaflet/MaskLayer.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.base-globe.js +3 -5
- package/lib/map/client/mixins/globe/mixin.base-globe.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.popup.js +4 -0
- package/lib/map/client/mixins/globe/mixin.popup.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.tooltip.js +4 -0
- package/lib/map/client/mixins/globe/mixin.tooltip.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.base-map.js +45 -6
- package/lib/map/client/mixins/map/mixin.base-map.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.canvas-layers.js +2 -0
- package/lib/map/client/mixins/map/mixin.canvas-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.file-layers.js +47 -101
- package/lib/map/client/mixins/map/mixin.file-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.geojson-layers.js +4 -1
- package/lib/map/client/mixins/map/mixin.geojson-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.popup.js +4 -0
- package/lib/map/client/mixins/map/mixin.popup.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.tooltip.js +4 -0
- package/lib/map/client/mixins/map/mixin.tooltip.js.map +1 -1
- package/lib/map/client/mixins/mixin.activity.js +2 -0
- package/lib/map/client/mixins/mixin.activity.js.map +1 -1
- package/lib/map/client/mixins/mixin.context.js +26 -3
- package/lib/map/client/mixins/mixin.context.js.map +1 -1
- package/lib/map/client/mixins/mixin.feature-service.js +2 -2
- package/lib/map/client/mixins/mixin.feature-service.js.map +1 -1
- package/lib/map/client/mixins/mixin.infobox.js +4 -0
- package/lib/map/client/mixins/mixin.infobox.js.map +1 -1
- package/lib/map/client/readers/index.js +42 -0
- package/lib/map/client/readers/index.js.map +1 -0
- package/lib/map/client/readers/reader.geojson.js +59 -0
- package/lib/map/client/readers/reader.geojson.js.map +1 -0
- package/lib/map/client/readers/reader.gpx.js +41 -0
- package/lib/map/client/readers/reader.gpx.js.map +1 -0
- package/lib/map/client/readers/reader.kml.js +41 -0
- package/lib/map/client/readers/reader.kml.js.map +1 -0
- package/lib/map/client/utils.js +2 -1
- package/lib/map/client/utils.js.map +1 -1
- package/lib/test/client/core/runner.js +1 -2
- package/lib/test/client/core/runner.js.map +1 -1
- package/lib/test/client/core/utils.js +2 -2
- package/lib/test/client/core/utils.js.map +1 -1
- package/lib/test/client/map/catalog.js +50 -49
- package/lib/test/client/map/catalog.js.map +1 -1
- package/package.json +3 -2
- package/.nyc_output/a762cb58-70dc-4d39-ab69-928635affa98.json +0 -1
- package/.nyc_output/dbeb2602-0ac2-4e66-978b-0d29548359ca.json +0 -1
- package/.nyc_output/e47d1e4c-2fff-4dcb-908f-d3081162547c.json +0 -1
- package/.nyc_output/processinfo/2e74ca23-8cf0-4161-9536-f71c2a1a74bb.json +0 -1
- package/.nyc_output/processinfo/81d21e46-766a-46bc-b1b7-143ca577347a.json +0 -1
- package/.nyc_output/processinfo/aaf3ebbb-f895-4d7b-9255-bc5dee832570.json +0 -1
- package/.nyc_output/processinfo/dbeb2602-0ac2-4e66-978b-0d29548359ca.json +0 -1
- package/.nyc_output/processinfo/e47d1e4c-2fff-4dcb-908f-d3081162547c.json +0 -1
- package/extras/testcafe/Dockerfile +0 -48
- package/extras/testcafe/docker-entrypoint.sh +0 -27
- package/extras/testcafe/page-models/core/account.js +0 -75
- package/extras/testcafe/page-models/core/base-collection.js +0 -41
- package/extras/testcafe/page-models/core/base-page.js +0 -25
- package/extras/testcafe/page-models/core/groups.js +0 -36
- package/extras/testcafe/page-models/core/index.js +0 -140
- package/extras/testcafe/page-models/core/layout.js +0 -145
- package/extras/testcafe/page-models/core/members.js +0 -98
- package/extras/testcafe/page-models/core/organisations.js +0 -76
- package/extras/testcafe/page-models/core/screens.js +0 -99
- package/extras/testcafe/page-models/core/tags.js +0 -21
- package/extras/testcafe/page-models/map/add-layer.js +0 -51
- package/extras/testcafe/page-models/map/catalog.js +0 -132
- package/extras/testcafe/page-models/map/index.js +0 -36
- package/extras/testcafe/page-models/map/map-activity.js +0 -42
- package/extras/testcafe/page-models/map/timeline.js +0 -67
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>0/103</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/56</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>0/26</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>0/89</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
57
|
</div>
|
|
58
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line low'></div>
|
|
59
59
|
<pre><table class="coverage">
|
|
60
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -255,97 +255,94 @@
|
|
|
255
255
|
<a name='L196'></a><a href='#L196'>196</a>
|
|
256
256
|
<a name='L197'></a><a href='#L197'>197</a>
|
|
257
257
|
<a name='L198'></a><a href='#L198'>198</a>
|
|
258
|
-
<a name='L199'></a><a href='#L199'>199</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
259
|
-
<span class="cline-any cline-
|
|
260
|
-
<span class="cline-any cline-
|
|
261
|
-
<span class="cline-any cline-yes">1x</span>
|
|
262
|
-
<span class="cline-any cline-yes">1x</span>
|
|
258
|
+
<a name='L199'></a><a href='#L199'>199</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
260
|
+
<span class="cline-any cline-neutral"> </span>
|
|
263
261
|
<span class="cline-any cline-neutral"> </span>
|
|
264
|
-
<span class="cline-any cline-yes">1x</span>
|
|
265
262
|
<span class="cline-any cline-neutral"> </span>
|
|
266
263
|
<span class="cline-any cline-neutral"> </span>
|
|
267
|
-
<span class="cline-any cline-yes">1x</span>
|
|
268
264
|
<span class="cline-any cline-no"> </span>
|
|
269
265
|
<span class="cline-any cline-neutral"> </span>
|
|
270
266
|
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-no"> </span>
|
|
268
|
+
<span class="cline-any cline-no"> </span>
|
|
271
269
|
<span class="cline-any cline-neutral"> </span>
|
|
272
|
-
<span class="cline-any cline-yes">149x</span>
|
|
273
270
|
<span class="cline-any cline-neutral"> </span>
|
|
274
271
|
<span class="cline-any cline-neutral"> </span>
|
|
272
|
+
<span class="cline-any cline-no"> </span>
|
|
275
273
|
<span class="cline-any cline-neutral"> </span>
|
|
276
|
-
<span class="cline-any cline-yes">24x</span>
|
|
277
274
|
<span class="cline-any cline-neutral"> </span>
|
|
278
275
|
<span class="cline-any cline-neutral"> </span>
|
|
276
|
+
<span class="cline-any cline-no"> </span>
|
|
279
277
|
<span class="cline-any cline-neutral"> </span>
|
|
280
278
|
<span class="cline-any cline-neutral"> </span>
|
|
281
279
|
<span class="cline-any cline-neutral"> </span>
|
|
282
280
|
<span class="cline-any cline-neutral"> </span>
|
|
283
281
|
<span class="cline-any cline-neutral"> </span>
|
|
284
282
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-yes">20x</span>
|
|
286
|
-
<span class="cline-any cline-yes">20x</span>
|
|
287
|
-
<span class="cline-any cline-yes">20x</span>
|
|
288
283
|
<span class="cline-any cline-neutral"> </span>
|
|
289
284
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
+
<span class="cline-any cline-no"> </span>
|
|
286
|
+
<span class="cline-any cline-no"> </span>
|
|
287
|
+
<span class="cline-any cline-no"> </span>
|
|
290
288
|
<span class="cline-any cline-neutral"> </span>
|
|
291
289
|
<span class="cline-any cline-neutral"> </span>
|
|
292
|
-
<span class="cline-any cline-yes">374x</span>
|
|
293
290
|
<span class="cline-any cline-neutral"> </span>
|
|
294
291
|
<span class="cline-any cline-neutral"> </span>
|
|
295
|
-
<span class="cline-any cline-
|
|
296
|
-
<span class="cline-any cline-
|
|
297
|
-
<span class="cline-any cline-yes">17x</span>
|
|
298
|
-
<span class="cline-any cline-yes">17x</span>
|
|
299
|
-
<span class="cline-any cline-yes">17x</span>
|
|
300
|
-
<span class="cline-any cline-yes">17x</span>
|
|
292
|
+
<span class="cline-any cline-no"> </span>
|
|
293
|
+
<span class="cline-any cline-neutral"> </span>
|
|
301
294
|
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-yes">46x</span>
|
|
303
295
|
<span class="cline-any cline-no"> </span>
|
|
304
296
|
<span class="cline-any cline-no"> </span>
|
|
305
|
-
<span class="cline-any cline-
|
|
306
|
-
<span class="cline-any cline-
|
|
307
|
-
<span class="cline-any cline-
|
|
308
|
-
<span class="cline-any cline-
|
|
297
|
+
<span class="cline-any cline-no"> </span>
|
|
298
|
+
<span class="cline-any cline-no"> </span>
|
|
299
|
+
<span class="cline-any cline-no"> </span>
|
|
300
|
+
<span class="cline-any cline-no"> </span>
|
|
309
301
|
<span class="cline-any cline-neutral"> </span>
|
|
310
|
-
<span class="cline-any cline-
|
|
311
|
-
<span class="cline-any cline-
|
|
312
|
-
<span class="cline-any cline-
|
|
302
|
+
<span class="cline-any cline-no"> </span>
|
|
303
|
+
<span class="cline-any cline-no"> </span>
|
|
304
|
+
<span class="cline-any cline-no"> </span>
|
|
305
|
+
<span class="cline-any cline-no"> </span>
|
|
306
|
+
<span class="cline-any cline-no"> </span>
|
|
307
|
+
<span class="cline-any cline-no"> </span>
|
|
308
|
+
<span class="cline-any cline-no"> </span>
|
|
313
309
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-
|
|
315
|
-
<span class="cline-any cline-
|
|
310
|
+
<span class="cline-any cline-no"> </span>
|
|
311
|
+
<span class="cline-any cline-no"> </span>
|
|
312
|
+
<span class="cline-any cline-no"> </span>
|
|
316
313
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
+
<span class="cline-any cline-no"> </span>
|
|
315
|
+
<span class="cline-any cline-no"> </span>
|
|
317
316
|
<span class="cline-any cline-neutral"> </span>
|
|
318
|
-
<span class="cline-any cline-yes">374x</span>
|
|
319
317
|
<span class="cline-any cline-neutral"> </span>
|
|
318
|
+
<span class="cline-any cline-no"> </span>
|
|
320
319
|
<span class="cline-any cline-neutral"> </span>
|
|
321
320
|
<span class="cline-any cline-neutral"> </span>
|
|
322
321
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-yes">2x</span>
|
|
324
|
-
<span class="cline-any cline-yes">2x</span>
|
|
325
|
-
<span class="cline-any cline-yes">2x</span>
|
|
326
|
-
<span class="cline-any cline-yes">2x</span>
|
|
327
322
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
+
<span class="cline-any cline-no"> </span>
|
|
324
|
+
<span class="cline-any cline-no"> </span>
|
|
325
|
+
<span class="cline-any cline-no"> </span>
|
|
326
|
+
<span class="cline-any cline-no"> </span>
|
|
328
327
|
<span class="cline-any cline-neutral"> </span>
|
|
329
328
|
<span class="cline-any cline-neutral"> </span>
|
|
330
329
|
<span class="cline-any cline-neutral"> </span>
|
|
331
330
|
<span class="cline-any cline-neutral"> </span>
|
|
332
331
|
<span class="cline-any cline-neutral"> </span>
|
|
333
|
-
<span class="cline-any cline-yes">5x</span>
|
|
334
|
-
<span class="cline-any cline-yes">5x</span>
|
|
335
|
-
<span class="cline-any cline-yes">5x</span>
|
|
336
332
|
<span class="cline-any cline-neutral"> </span>
|
|
337
333
|
<span class="cline-any cline-no"> </span>
|
|
334
|
+
<span class="cline-any cline-no"> </span>
|
|
335
|
+
<span class="cline-any cline-no"> </span>
|
|
338
336
|
<span class="cline-any cline-neutral"> </span>
|
|
339
|
-
<span class="cline-any cline-
|
|
340
|
-
<span class="cline-any cline-neutral"> </span>
|
|
337
|
+
<span class="cline-any cline-no"> </span>
|
|
341
338
|
<span class="cline-any cline-neutral"> </span>
|
|
339
|
+
<span class="cline-any cline-no"> </span>
|
|
342
340
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">93x</span>
|
|
344
341
|
<span class="cline-any cline-neutral"> </span>
|
|
345
342
|
<span class="cline-any cline-neutral"> </span>
|
|
346
343
|
<span class="cline-any cline-no"> </span>
|
|
347
344
|
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-
|
|
345
|
+
<span class="cline-any cline-neutral"> </span>
|
|
349
346
|
<span class="cline-any cline-neutral"> </span>
|
|
350
347
|
<span class="cline-any cline-neutral"> </span>
|
|
351
348
|
<span class="cline-any cline-no"> </span>
|
|
@@ -353,22 +350,25 @@
|
|
|
353
350
|
<span class="cline-any cline-neutral"> </span>
|
|
354
351
|
<span class="cline-any cline-neutral"> </span>
|
|
355
352
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-yes">5x</span>
|
|
357
353
|
<span class="cline-any cline-neutral"> </span>
|
|
358
354
|
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-yes">5x</span>
|
|
360
355
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-no"> </span>
|
|
361
357
|
<span class="cline-any cline-neutral"> </span>
|
|
362
358
|
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-no"> </span>
|
|
363
360
|
<span class="cline-any cline-neutral"> </span>
|
|
364
361
|
<span class="cline-any cline-neutral"> </span>
|
|
365
362
|
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-yes">5x</span>
|
|
367
|
-
<span class="cline-any cline-yes">5x</span>
|
|
368
363
|
<span class="cline-any cline-neutral"> </span>
|
|
369
|
-
<span class="cline-any cline-yes">5x</span>
|
|
370
364
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-
|
|
365
|
+
<span class="cline-any cline-neutral"> </span>
|
|
366
|
+
<span class="cline-any cline-no"> </span>
|
|
367
|
+
<span class="cline-any cline-no"> </span>
|
|
368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
369
|
+
<span class="cline-any cline-no"> </span>
|
|
370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-no"> </span>
|
|
372
372
|
<span class="cline-any cline-neutral"> </span>
|
|
373
373
|
<span class="cline-any cline-no"> </span>
|
|
374
374
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -377,55 +377,55 @@
|
|
|
377
377
|
<span class="cline-any cline-neutral"> </span>
|
|
378
378
|
<span class="cline-any cline-neutral"> </span>
|
|
379
379
|
<span class="cline-any cline-neutral"> </span>
|
|
380
|
-
<span class="cline-any cline-
|
|
381
|
-
<span class="cline-any cline-
|
|
382
|
-
<span class="cline-any cline-
|
|
380
|
+
<span class="cline-any cline-no"> </span>
|
|
381
|
+
<span class="cline-any cline-no"> </span>
|
|
382
|
+
<span class="cline-any cline-no"> </span>
|
|
383
383
|
<span class="cline-any cline-no"> </span>
|
|
384
384
|
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-
|
|
385
|
+
<span class="cline-any cline-no"> </span>
|
|
386
386
|
<span class="cline-any cline-neutral"> </span>
|
|
387
387
|
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-yes">10x</span>
|
|
389
|
-
<span class="cline-any cline-yes">5x</span>
|
|
390
388
|
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-
|
|
392
|
-
<span class="cline-any cline-yes">5x</span>
|
|
393
|
-
<span class="cline-any cline-yes">5x</span>
|
|
389
|
+
<span class="cline-any cline-no"> </span>
|
|
394
390
|
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-
|
|
396
|
-
<span class="cline-any cline-
|
|
397
|
-
<span class="cline-any cline-
|
|
398
|
-
<span class="cline-any cline-
|
|
399
|
-
<span class="cline-any cline-
|
|
391
|
+
<span class="cline-any cline-no"> </span>
|
|
392
|
+
<span class="cline-any cline-no"> </span>
|
|
393
|
+
<span class="cline-any cline-no"> </span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-no"> </span>
|
|
396
|
+
<span class="cline-any cline-no"> </span>
|
|
397
|
+
<span class="cline-any cline-no"> </span>
|
|
398
|
+
<span class="cline-any cline-no"> </span>
|
|
399
|
+
<span class="cline-any cline-no"> </span>
|
|
400
400
|
<span class="cline-any cline-no"> </span>
|
|
401
401
|
<span class="cline-any cline-no"> </span>
|
|
402
402
|
<span class="cline-any cline-no"> </span>
|
|
403
403
|
<span class="cline-any cline-no"> </span>
|
|
404
404
|
<span class="cline-any cline-neutral"> </span>
|
|
405
|
-
<span class="cline-any cline-
|
|
405
|
+
<span class="cline-any cline-no"> </span>
|
|
406
406
|
<span class="cline-any cline-neutral"> </span>
|
|
407
|
-
<span class="cline-any cline-
|
|
407
|
+
<span class="cline-any cline-no"> </span>
|
|
408
408
|
<span class="cline-any cline-neutral"> </span>
|
|
409
409
|
<span class="cline-any cline-no"> </span>
|
|
410
410
|
<span class="cline-any cline-no"> </span>
|
|
411
411
|
<span class="cline-any cline-neutral"> </span>
|
|
412
412
|
<span class="cline-any cline-neutral"> </span>
|
|
413
413
|
<span class="cline-any cline-neutral"> </span>
|
|
414
|
-
<span class="cline-any cline-
|
|
415
|
-
<span class="cline-any cline-
|
|
416
|
-
<span class="cline-any cline-
|
|
417
|
-
<span class="cline-any cline-
|
|
418
|
-
<span class="cline-any cline-
|
|
419
|
-
<span class="cline-any cline-
|
|
420
|
-
<span class="cline-any cline-
|
|
421
|
-
<span class="cline-any cline-
|
|
422
|
-
<span class="cline-any cline-
|
|
423
|
-
<span class="cline-any cline-
|
|
414
|
+
<span class="cline-any cline-neutral"> </span>
|
|
415
|
+
<span class="cline-any cline-no"> </span>
|
|
416
|
+
<span class="cline-any cline-no"> </span>
|
|
417
|
+
<span class="cline-any cline-no"> </span>
|
|
418
|
+
<span class="cline-any cline-no"> </span>
|
|
419
|
+
<span class="cline-any cline-no"> </span>
|
|
420
|
+
<span class="cline-any cline-no"> </span>
|
|
421
|
+
<span class="cline-any cline-no"> </span>
|
|
422
|
+
<span class="cline-any cline-no"> </span>
|
|
423
|
+
<span class="cline-any cline-no"> </span>
|
|
424
424
|
<span class="cline-any cline-no"> </span>
|
|
425
425
|
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-
|
|
427
|
-
<span class="cline-any cline-
|
|
428
|
-
<span class="cline-any cline-
|
|
426
|
+
<span class="cline-any cline-no"> </span>
|
|
427
|
+
<span class="cline-any cline-no"> </span>
|
|
428
|
+
<span class="cline-any cline-no"> </span>
|
|
429
429
|
<span class="cline-any cline-neutral"> </span>
|
|
430
430
|
<span class="cline-any cline-neutral"> </span>
|
|
431
431
|
<span class="cline-any cline-no"> </span>
|
|
@@ -434,23 +434,23 @@
|
|
|
434
434
|
<span class="cline-any cline-neutral"> </span>
|
|
435
435
|
<span class="cline-any cline-neutral"> </span>
|
|
436
436
|
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-
|
|
437
|
+
<span class="cline-any cline-no"> </span>
|
|
438
438
|
<span class="cline-any cline-neutral"> </span>
|
|
439
439
|
<span class="cline-any cline-neutral"> </span>
|
|
440
440
|
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-
|
|
441
|
+
<span class="cline-any cline-no"> </span>
|
|
442
442
|
<span class="cline-any cline-neutral"> </span>
|
|
443
443
|
<span class="cline-any cline-neutral"> </span>
|
|
444
444
|
<span class="cline-any cline-neutral"> </span>
|
|
445
|
-
<span class="cline-any cline-
|
|
445
|
+
<span class="cline-any cline-no"> </span>
|
|
446
446
|
<span class="cline-any cline-neutral"> </span>
|
|
447
447
|
<span class="cline-any cline-neutral"> </span>
|
|
448
448
|
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-
|
|
449
|
+
<span class="cline-any cline-no"> </span>
|
|
450
450
|
<span class="cline-any cline-neutral"> </span>
|
|
451
|
-
<span class="cline-any cline-
|
|
451
|
+
<span class="cline-any cline-no"> </span>
|
|
452
452
|
<span class="cline-any cline-neutral"> </span>
|
|
453
|
-
<span class="cline-any cline-
|
|
453
|
+
<span class="cline-any cline-no"> </span>
|
|
454
454
|
<span class="cline-any cline-neutral"> </span>
|
|
455
455
|
<span class="cline-any cline-neutral"> </span>
|
|
456
456
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import _ from 'lodash'
|
|
@@ -459,196 +459,196 @@ import makeDebug from 'debug'
|
|
|
459
459
|
import { MongoClient, ObjectID } from 'mongodb'
|
|
460
460
|
import errors from '@feathersjs/errors'
|
|
461
461
|
|
|
462
|
-
const debug = makeDebug('kdk:core:db')
|
|
462
|
+
const debug = <span class="cstat-no" title="statement not covered" >makeDebug('kdk:core:db')</span>
|
|
463
463
|
|
|
464
464
|
// This ensure moment objects are correctly serialized in MongoDB
|
|
465
|
-
Object.getPrototypeOf(moment()).toBSON = <span class="fstat-no" title="function not covered" >
|
|
466
|
-
<span class="cstat-no" title="statement not covered" > return
|
|
465
|
+
<span class="cstat-no" title="statement not covered" >Object.getPrototypeOf(moment()).toBSON = <span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
|
466
|
+
<span class="cstat-no" title="statement not covered" > return this.toDate()</span>
|
|
467
467
|
}
|
|
468
468
|
|
|
469
|
-
export function isObjectID (id) {
|
|
470
|
-
return id && (typeof id.toHexString === 'function') && (typeof id.getTimestamp === 'function')
|
|
469
|
+
export function <span class="fstat-no" title="function not covered" >isObjectID </span>(id) {
|
|
470
|
+
<span class="cstat-no" title="statement not covered" > return id && (typeof id.toHexString === 'function') && (typeof id.getTimestamp === 'function')</span>
|
|
471
471
|
}
|
|
472
472
|
|
|
473
|
-
export function idToString (id) {
|
|
474
|
-
return (typeof id === 'object'
|
|
473
|
+
export function <span class="fstat-no" title="function not covered" >idToString </span>(id) {
|
|
474
|
+
<span class="cstat-no" title="statement not covered" > return (typeof id === 'object'</span>
|
|
475
475
|
? (ObjectID.isValid(id)
|
|
476
476
|
? id.toString()
|
|
477
477
|
: idToString(id._id))
|
|
478
|
-
:
|
|
478
|
+
: id)
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
export function createObjectID (id) {
|
|
481
|
+
export function <span class="fstat-no" title="function not covered" >createObjectID </span>(id) {
|
|
482
482
|
// This ensure it works even if id is already an ObjectID
|
|
483
|
-
|
|
484
|
-
else <span class="
|
|
485
|
-
else return new ObjectID(id)
|
|
483
|
+
<span class="cstat-no" title="statement not covered" > if (isObjectID(id)) <span class="cstat-no" title="statement not covered" >return id</span></span>
|
|
484
|
+
else <span class="cstat-no" title="statement not covered" >if (!ObjectID.isValid(id)) <span class="cstat-no" title="statement not covered" >return null</span></span>
|
|
485
|
+
else <span class="cstat-no" title="statement not covered" >return new ObjectID(id)</span>
|
|
486
486
|
}
|
|
487
487
|
|
|
488
488
|
// Utility function used to convert from string to MongoDB IDs as required eg by queries
|
|
489
|
-
export function objectifyIDs (object) {
|
|
490
|
-
_.forOwn(object, (
|
|
489
|
+
export function <span class="fstat-no" title="function not covered" >objectifyIDs </span>(object) {
|
|
490
|
+
<span class="cstat-no" title="statement not covered" > _.forOwn(object, <span class="fstat-no" title="function not covered" >(v</span>alue, key) => {</span>
|
|
491
491
|
// Process current attributes or recurse
|
|
492
492
|
// Take care to nested fields like 'field._id'
|
|
493
|
-
if (key === '_id' || key.endsWith('._id') || key === '$ne') {
|
|
494
|
-
if (typeof value === 'string') {
|
|
495
|
-
debug('Objectify ID ' + key)
|
|
496
|
-
const id = createObjectID(value)
|
|
497
|
-
|
|
498
|
-
object[key] = id
|
|
493
|
+
<span class="cstat-no" title="statement not covered" > if (key === '_id' || key.endsWith('._id') || key === '$ne') {</span>
|
|
494
|
+
<span class="cstat-no" title="statement not covered" > if (typeof value === 'string') {</span>
|
|
495
|
+
<span class="cstat-no" title="statement not covered" > debug('Objectify ID ' + key)</span>
|
|
496
|
+
const id = <span class="cstat-no" title="statement not covered" >createObjectID(value)</span>
|
|
497
|
+
<span class="cstat-no" title="statement not covered" > if (id) {</span>
|
|
498
|
+
<span class="cstat-no" title="statement not covered" > object[key] = id</span>
|
|
499
499
|
}
|
|
500
|
-
} else <span class="
|
|
501
|
-
<span class="cstat-no" title="statement not covered" > debug('
|
|
502
|
-
<span class="cstat-no" title="statement not covered" > object[
|
|
503
|
-
} else if ((typeof value === 'object') && !isObjectID(value)) objectifyIDs(value)
|
|
504
|
-
} else if (['$in', '$nin'].includes(key)) {
|
|
505
|
-
debug('Objectify ID array ' + key)
|
|
506
|
-
const ids = value.map(id => createObjectID(id))
|
|
500
|
+
} else <span class="cstat-no" title="statement not covered" >if (Array.isArray(value)) {</span>
|
|
501
|
+
<span class="cstat-no" title="statement not covered" > debug('Objectify ID array ' + key)</span>
|
|
502
|
+
<span class="cstat-no" title="statement not covered" > object[key] = value.map(<span class="fstat-no" title="function not covered" >id</span> => <span class="cstat-no" title="statement not covered" >createObjectID(id))</span>.filter(<span class="fstat-no" title="function not covered" >id</span> => <span class="cstat-no" title="statement not covered" >id)</span></span>
|
|
503
|
+
} else <span class="cstat-no" title="statement not covered" >if ((typeof value === 'object') && !isObjectID(value)) <span class="cstat-no" title="statement not covered" >objectifyIDs(value) </span></span>// Avoid jumping inside an already transformed ObjectID
|
|
504
|
+
} else <span class="cstat-no" title="statement not covered" >if (['$in', '$nin'].includes(key)) {</span>
|
|
505
|
+
<span class="cstat-no" title="statement not covered" > debug('Objectify ID array ' + key)</span>
|
|
506
|
+
const ids = <span class="cstat-no" title="statement not covered" >value.map(<span class="fstat-no" title="function not covered" >id</span> => <span class="cstat-no" title="statement not covered" >createObjectID(id))</span>.filter(<span class="fstat-no" title="function not covered" >id</span> => <span class="cstat-no" title="statement not covered" >id)</span></span>
|
|
507
507
|
// Take care that $in/$nin can be used for others types than Object IDs so conversion might fail
|
|
508
|
-
|
|
509
|
-
} else if (key === '$or') {
|
|
510
|
-
value.forEach(
|
|
508
|
+
<span class="cstat-no" title="statement not covered" > if (ids.length > 0) <span class="cstat-no" title="statement not covered" >object[key] = ids</span></span>
|
|
509
|
+
} else <span class="cstat-no" title="statement not covered" >if (key === '$or') {</span>
|
|
510
|
+
<span class="cstat-no" title="statement not covered" > value.forEach(<span class="fstat-no" title="function not covered" >en</span>try => <span class="cstat-no" title="statement not covered" >objectifyIDs(entry))</span></span>
|
|
511
511
|
// Avoid jumping inside an already transformed ObjectID
|
|
512
|
-
} else if ((typeof value === 'object') && !isObjectID(value)) {
|
|
513
|
-
objectifyIDs(value)
|
|
512
|
+
} else <span class="cstat-no" title="statement not covered" >if ((typeof value === 'object') && !isObjectID(value)) {</span>
|
|
513
|
+
<span class="cstat-no" title="statement not covered" > objectifyIDs(value)</span>
|
|
514
514
|
}
|
|
515
515
|
})
|
|
516
|
-
return object
|
|
516
|
+
<span class="cstat-no" title="statement not covered" > return object</span>
|
|
517
517
|
}
|
|
518
518
|
|
|
519
519
|
// Utility function used to convert from string to MongoDB IDs a fixed set of properties on a given object
|
|
520
|
-
export function toObjectIDs (object, properties) {
|
|
521
|
-
properties.forEach(
|
|
522
|
-
const id = createObjectID(_.get(object, property))
|
|
523
|
-
|
|
524
|
-
_.set(object, property, id)
|
|
520
|
+
export function <span class="fstat-no" title="function not covered" >toObjectIDs </span>(object, properties) {
|
|
521
|
+
<span class="cstat-no" title="statement not covered" > properties.forEach(<span class="fstat-no" title="function not covered" >pr</span>operty => {</span>
|
|
522
|
+
const id = <span class="cstat-no" title="statement not covered" >createObjectID(_.get(object, property))</span>
|
|
523
|
+
<span class="cstat-no" title="statement not covered" > if (id) {</span>
|
|
524
|
+
<span class="cstat-no" title="statement not covered" > _.set(object, property, id)</span>
|
|
525
525
|
}
|
|
526
526
|
})
|
|
527
527
|
}
|
|
528
528
|
|
|
529
529
|
export class Database {
|
|
530
|
-
|
|
531
|
-
try {
|
|
532
|
-
this.app = app
|
|
533
|
-
this._adapter = app.get('db').adapter
|
|
530
|
+
<span class="fstat-no" title="function not covered" > co</span>nstructor (app) {
|
|
531
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
532
|
+
<span class="cstat-no" title="statement not covered" > this.app = app</span>
|
|
533
|
+
<span class="cstat-no" title="statement not covered" > this._adapter = app.get('db').adapter</span>
|
|
534
534
|
} catch (error) {
|
|
535
|
-
<span class="cstat-no" title="statement not covered" > throw
|
|
535
|
+
<span class="cstat-no" title="statement not covered" > throw new errors.GeneralError('Cannot find database adapter configuration in application')</span>
|
|
536
536
|
}
|
|
537
|
-
this._collections = new Map()
|
|
537
|
+
<span class="cstat-no" title="statement not covered" > this._collections = new Map()</span>
|
|
538
538
|
}
|
|
539
539
|
|
|
540
|
-
|
|
541
|
-
return this._adapter
|
|
540
|
+
<span class="fstat-no" title="function not covered" > ge</span>t adapter () {
|
|
541
|
+
<span class="cstat-no" title="statement not covered" > return this._adapter</span>
|
|
542
542
|
}
|
|
543
543
|
|
|
544
|
-
|
|
544
|
+
<span class="fstat-no" title="function not covered" > as</span>ync connect () {
|
|
545
545
|
// Default implementation
|
|
546
|
-
<span class="cstat-no" title="statement not covered" > return
|
|
546
|
+
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
547
547
|
}
|
|
548
548
|
|
|
549
|
-
|
|
549
|
+
<span class="fstat-no" title="function not covered" > as</span>ync disconnect () {
|
|
550
550
|
// Default implementation
|
|
551
551
|
}
|
|
552
552
|
|
|
553
|
-
|
|
554
|
-
switch (this.adapter) {
|
|
555
|
-
|
|
553
|
+
<span class="fstat-no" title="function not covered" > st</span>atic create (app) {
|
|
554
|
+
<span class="cstat-no" title="statement not covered" > switch (this.adapter) {</span>
|
|
555
|
+
case 'mongodb':
|
|
556
556
|
default:
|
|
557
|
-
return new MongoDatabase(app)
|
|
557
|
+
<span class="cstat-no" title="statement not covered" > return new MongoDatabase(app)</span>
|
|
558
558
|
}
|
|
559
559
|
}
|
|
560
560
|
}
|
|
561
561
|
|
|
562
562
|
export class MongoDatabase extends Database {
|
|
563
|
-
|
|
564
|
-
super(app)
|
|
565
|
-
try {
|
|
563
|
+
<span class="fstat-no" title="function not covered" > co</span>nstructor (app) {
|
|
564
|
+
<span class="cstat-no" title="statement not covered" > super(app)</span>
|
|
565
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
566
566
|
// Primary DB
|
|
567
|
-
this._dbUrl = app.get('db').url
|
|
567
|
+
<span class="cstat-no" title="statement not covered" > this._dbUrl = app.get('db').url</span>
|
|
568
568
|
// Secondaries if any
|
|
569
|
-
this._secondaries = app.get('db').secondaries || {}
|
|
569
|
+
<span class="cstat-no" title="statement not covered" > this._secondaries = app.get('db').secondaries || {}</span>
|
|
570
570
|
} catch (error) {
|
|
571
|
-
<span class="cstat-no" title="statement not covered" > throw
|
|
571
|
+
<span class="cstat-no" title="statement not covered" > throw new errors.GeneralError('Cannot find database connection settings in application')</span>
|
|
572
572
|
}
|
|
573
573
|
}
|
|
574
574
|
|
|
575
|
-
|
|
575
|
+
<span class="fstat-no" title="function not covered" > co</span>nnectionDb (url) {
|
|
576
576
|
// Extract database name from url. Need to remove the connections options if any
|
|
577
577
|
let dbName
|
|
578
|
-
const indexOfDBName = url.lastIndexOf('/') + 1
|
|
579
|
-
const indexOfOptions = url.indexOf('?')
|
|
580
|
-
|
|
581
|
-
else <span class="cstat-no" title="statement not covered" >dbName =
|
|
578
|
+
const indexOfDBName = <span class="cstat-no" title="statement not covered" >url.lastIndexOf('/') + 1</span>
|
|
579
|
+
const indexOfOptions = <span class="cstat-no" title="statement not covered" >url.indexOf('?')</span>
|
|
580
|
+
<span class="cstat-no" title="statement not covered" > if (indexOfOptions === -1) <span class="cstat-no" title="statement not covered" >dbName = url.substring(indexOfDBName)</span></span>
|
|
581
|
+
else <span class="cstat-no" title="statement not covered" >dbName = url.substring(indexOfDBName, indexOfOptions)</span>
|
|
582
582
|
|
|
583
|
-
return dbName
|
|
583
|
+
<span class="cstat-no" title="statement not covered" > return dbName</span>
|
|
584
584
|
}
|
|
585
585
|
|
|
586
|
-
|
|
587
|
-
try {
|
|
586
|
+
<span class="fstat-no" title="function not covered" > as</span>ync connect () {
|
|
587
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
588
588
|
// Connect to primary
|
|
589
|
-
this._client = await MongoClient.connect(this._dbUrl)
|
|
590
|
-
this._db = await this._client.db(this.connectionDb(this._dbUrl))
|
|
591
|
-
debug('Connected to primary DB ' + this.adapter)
|
|
589
|
+
<span class="cstat-no" title="statement not covered" > this._client = await MongoClient.connect(this._dbUrl)</span>
|
|
590
|
+
<span class="cstat-no" title="statement not covered" > this._db = await this._client.db(this.connectionDb(this._dbUrl))</span>
|
|
591
|
+
<span class="cstat-no" title="statement not covered" > debug('Connected to primary DB ' + this.adapter)</span>
|
|
592
592
|
// Then secondaries if any
|
|
593
|
-
this._clients = {}
|
|
594
|
-
this._dbs = {}
|
|
595
|
-
|
|
596
|
-
const dbNames = _.keys(this._secondaries)
|
|
597
|
-
for (let i = 0
|
|
598
|
-
const dbName = <span class="cstat-no" title="statement not covered" >dbNames[i</span>
|
|
599
|
-
const dbUrl = <span class="cstat-no" title="statement not covered" >this.
|
|
600
|
-
<span class="cstat-no" title="statement not covered" > this.
|
|
601
|
-
<span class="cstat-no" title="statement not covered" > this.
|
|
593
|
+
<span class="cstat-no" title="statement not covered" > this._clients = {}</span>
|
|
594
|
+
<span class="cstat-no" title="statement not covered" > this._dbs = {}</span>
|
|
595
|
+
<span class="cstat-no" title="statement not covered" > if (this._secondaries) {</span>
|
|
596
|
+
const dbNames = <span class="cstat-no" title="statement not covered" >_.keys(this._secondaries)</span>
|
|
597
|
+
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i < dbNames.length; i++) {</span>
|
|
598
|
+
const dbName = <span class="cstat-no" title="statement not covered" >dbNames[i]</span>
|
|
599
|
+
const dbUrl = <span class="cstat-no" title="statement not covered" >this._secondaries[dbName]</span>
|
|
600
|
+
<span class="cstat-no" title="statement not covered" > this._clients[dbName] = await MongoClient.connect(dbUrl)</span>
|
|
601
|
+
<span class="cstat-no" title="statement not covered" > this._dbs[dbName] = await this._clients[dbName].db(this.connectionDb(dbUrl))</span>
|
|
602
602
|
}
|
|
603
|
-
|
|
603
|
+
<span class="cstat-no" title="statement not covered" > if (dbNames.length > 0) <span class="cstat-no" title="statement not covered" >debug('Connected to secondaries DB ' + this.adapter)</span></span>
|
|
604
604
|
}
|
|
605
|
-
return this._db
|
|
605
|
+
<span class="cstat-no" title="statement not covered" > return this._db</span>
|
|
606
606
|
} catch (error) {
|
|
607
|
-
<span class="cstat-no" title="statement not covered" > this.
|
|
608
|
-
<span class="cstat-no" title="statement not covered" > throw
|
|
607
|
+
<span class="cstat-no" title="statement not covered" > this.app.logger.error('Could not connect to ' + this.adapter + ' database(s), please check your configuration', error)</span>
|
|
608
|
+
<span class="cstat-no" title="statement not covered" > throw error</span>
|
|
609
609
|
}
|
|
610
610
|
}
|
|
611
611
|
|
|
612
|
-
|
|
613
|
-
try {
|
|
614
|
-
await this._client.close()
|
|
615
|
-
debug('Disconnected from primary DB ' + this.adapter)
|
|
616
|
-
this._client = null
|
|
617
|
-
this._db = null
|
|
618
|
-
|
|
619
|
-
const dbNames = _.keys(this._secondaries)
|
|
620
|
-
const clients = _.values(this._clients)
|
|
621
|
-
for (let i = 0
|
|
622
|
-
<span class="cstat-no" title="statement not covered" > await
|
|
612
|
+
<span class="fstat-no" title="function not covered" > as</span>ync disconnect () {
|
|
613
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
614
|
+
<span class="cstat-no" title="statement not covered" > await this._client.close()</span>
|
|
615
|
+
<span class="cstat-no" title="statement not covered" > debug('Disconnected from primary DB ' + this.adapter)</span>
|
|
616
|
+
<span class="cstat-no" title="statement not covered" > this._client = null</span>
|
|
617
|
+
<span class="cstat-no" title="statement not covered" > this._db = null</span>
|
|
618
|
+
<span class="cstat-no" title="statement not covered" > if (this._secondaries) {</span>
|
|
619
|
+
const dbNames = <span class="cstat-no" title="statement not covered" >_.keys(this._secondaries)</span>
|
|
620
|
+
const clients = <span class="cstat-no" title="statement not covered" >_.values(this._clients)</span>
|
|
621
|
+
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i < clients.length; i++) {</span>
|
|
622
|
+
<span class="cstat-no" title="statement not covered" > await clients[i].close()</span>
|
|
623
623
|
}
|
|
624
|
-
this._clients = {}
|
|
625
|
-
this._dbs = {}
|
|
626
|
-
|
|
624
|
+
<span class="cstat-no" title="statement not covered" > this._clients = {}</span>
|
|
625
|
+
<span class="cstat-no" title="statement not covered" > this._dbs = {}</span>
|
|
626
|
+
<span class="cstat-no" title="statement not covered" > if (dbNames.length > 0) <span class="cstat-no" title="statement not covered" >debug('Disconnected from secondaries DB ' + this.adapter)</span></span>
|
|
627
627
|
}
|
|
628
628
|
} catch (error) {
|
|
629
|
-
<span class="cstat-no" title="statement not covered" > this.
|
|
630
|
-
<span class="cstat-no" title="statement not covered" > throw
|
|
629
|
+
<span class="cstat-no" title="statement not covered" > this.app.logger.error('Could not disconnect from ' + this.adapter + ' database(s)', error)</span>
|
|
630
|
+
<span class="cstat-no" title="statement not covered" > throw error</span>
|
|
631
631
|
}
|
|
632
632
|
}
|
|
633
633
|
|
|
634
|
-
|
|
635
|
-
return this._client
|
|
634
|
+
<span class="fstat-no" title="function not covered" > ge</span>t client () {
|
|
635
|
+
<span class="cstat-no" title="statement not covered" > return this._client</span>
|
|
636
636
|
}
|
|
637
637
|
|
|
638
|
-
|
|
639
|
-
return this._db
|
|
638
|
+
<span class="fstat-no" title="function not covered" > ge</span>t instance () {
|
|
639
|
+
<span class="cstat-no" title="statement not covered" > return this._db</span>
|
|
640
640
|
}
|
|
641
641
|
|
|
642
|
-
db (dbName) {
|
|
643
|
-
|
|
642
|
+
<span class="fstat-no" title="function not covered" > db</span> (dbName) {
|
|
643
|
+
<span class="cstat-no" title="statement not covered" > return (dbName ? this._dbs[dbName] : this._db)</span>
|
|
644
644
|
}
|
|
645
645
|
|
|
646
|
-
|
|
647
|
-
|
|
646
|
+
<span class="fstat-no" title="function not covered" > co</span>llection (name, dbName) {
|
|
647
|
+
<span class="cstat-no" title="statement not covered" > if (!this._collections.has(name)) {</span>
|
|
648
648
|
// Get collection from secondary or primary DB
|
|
649
|
-
this._collections.set(name, this.db(dbName).collection(name))
|
|
649
|
+
<span class="cstat-no" title="statement not covered" > this._collections.set(name, this.db(dbName).collection(name))</span>
|
|
650
650
|
}
|
|
651
|
-
return this._collections.get(name)
|
|
651
|
+
<span class="cstat-no" title="statement not covered" > return this._collections.get(name)</span>
|
|
652
652
|
}
|
|
653
653
|
}
|
|
654
654
|
</pre></td></tr></table></pre>
|
|
@@ -658,7 +658,7 @@ export class MongoDatabase extends Database {
|
|
|
658
658
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
659
659
|
Code coverage generated by
|
|
660
660
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
661
|
-
at
|
|
661
|
+
at Fri Jan 07 2022 19:29:56 GMT+0100 (GMT+01:00)
|
|
662
662
|
</div>
|
|
663
663
|
</div>
|
|
664
664
|
<script src="../../prettify.js"></script>
|