@kalisio/kdk 1.4.0 → 1.5.1
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/{0f1a87aa-d3bb-4c61-8c1e-12294055358d.json → 058fc679-d60a-4501-ac04-71171e5200b8.json} +0 -0
- package/.nyc_output/2226bcce-9d22-4dad-b9fa-46564b5565c7.json +1 -0
- package/.nyc_output/6dc4b140-1a8a-4d69-b91c-89c557883d6e.json +1 -0
- package/.nyc_output/{8be4cd9f-124a-41f9-80f4-f267ced63c86.json → 8b1830fa-932e-4a61-9837-4a5b18f83ea9.json} +0 -0
- package/.nyc_output/{a63b0924-fd09-4e30-974f-cb4be2243b66.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/{27204015-ebfd-456f-a3bb-6a94f71946b8.json → 2226bcce-9d22-4dad-b9fa-46564b5565c7.json} +1 -1
- package/.nyc_output/processinfo/6dc4b140-1a8a-4d69-b91c-89c557883d6e.json +1 -0
- 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 +219 -68
- 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 +48 -48
- package/coverage/core/api/hooks/hooks.authentication.js.html +64 -64
- package/coverage/core/api/hooks/hooks.authorisations.js.html +353 -353
- package/coverage/core/api/hooks/hooks.devices.js.html +22 -22
- 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 +183 -231
- 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 +261 -261
- package/coverage/core/api/hooks/index.html +167 -167
- 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 +108 -108
- 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 +61 -61
- package/coverage/core/api/services/devices/index.html +22 -22
- 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 +32 -32
- 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 +336 -336
- 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 +174 -174
- 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 +48 -48
- package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +64 -64
- package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +353 -353
- package/coverage/lcov-report/core/api/hooks/hooks.devices.js.html +22 -22
- 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 +183 -231
- 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 +261 -261
- package/coverage/lcov-report/core/api/hooks/index.html +167 -167
- 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 +108 -108
- 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 +61 -61
- package/coverage/lcov-report/core/api/services/devices/index.html +22 -22
- 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 +32 -32
- 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 +336 -336
- 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 +174 -174
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +72 -18
- 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 +3289 -3610
- package/coverage/map/api/hooks/hooks.catalog.js.html +1 -1
- package/coverage/map/api/hooks/hooks.query.js.html +72 -18
- 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/collection/KBoard.vue +6 -0
- package/lib/core/client/components/collection/KColumn.vue +2 -2
- package/lib/core/client/components/collection/KHistory.vue +14 -6
- package/lib/core/client/components/collection/KHistoryEntry.vue +7 -3
- package/lib/core/client/components/form/KFileField.vue +11 -40
- package/lib/core/client/components/frame/KChipsPane.vue +2 -2
- package/lib/core/client/components/input/KOptionsChooser.vue +2 -2
- package/lib/core/client/i18n/core_en.json +7 -1
- package/lib/core/client/i18n/core_fr.json +7 -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/mixins/mixin.base-collection.js +8 -2
- package/lib/core/client/mixins/mixin.base-collection.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/core/client/services/index.js +1 -3
- package/lib/core/client/services/index.js.map +1 -1
- package/lib/core/client/time.js +4 -1
- package/lib/core/client/time.js.map +1 -1
- package/lib/map/api/hooks/hooks.query.js +30 -13
- 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/KLocationMap.vue +3 -1
- package/lib/map/client/components/KMeasureTool.vue +340 -0
- package/lib/map/client/components/KPositionIndicator.vue +1 -0
- package/lib/map/client/components/KTimeline.vue +7 -8
- package/lib/map/client/components/catalog/KImportLayer.vue +8 -35
- package/lib/map/client/components/catalog/KLayersSelector.vue +13 -11
- package/lib/map/client/components/form/KOwsLayerField.vue +7 -0
- package/lib/map/client/components/widget/KMapillaryViewer.vue +1 -1
- package/lib/map/client/components/widget/KTimeSeries.vue +81 -3
- package/lib/map/client/i18n/map_en.json +43 -5
- package/lib/map/client/i18n/map_fr.json +43 -5
- package/lib/map/client/init.js +6 -1
- package/lib/map/client/init.js.map +1 -1
- package/lib/map/client/leaflet/MaskLayer.js +12 -3
- 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.geojson-layers.js +0 -4
- package/lib/map/client/mixins/globe/mixin.geojson-layers.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 +46 -7
- 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 +9 -5
- package/lib/map/client/mixins/map/mixin.geojson-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.heatmap-layers.js +0 -4
- package/lib/map/client/mixins/map/mixin.heatmap-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 +4 -4
- 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 +58 -38
- 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 -3
- package/.nyc_output/27204015-ebfd-456f-a3bb-6a94f71946b8.json +0 -1
- package/.nyc_output/d3d1fa81-57ca-4287-8fbe-96466b0e5aa1.json +0 -1
- package/.nyc_output/e921974a-3076-4e89-8dbf-6f37bef10583.json +0 -1
- package/.nyc_output/fb790367-ba9f-474f-84c1-f836caf9f50a.json +0 -1
- package/.nyc_output/processinfo/0f1a87aa-d3bb-4c61-8c1e-12294055358d.json +0 -1
- package/.nyc_output/processinfo/8be4cd9f-124a-41f9-80f4-f267ced63c86.json +0 -1
- package/.nyc_output/processinfo/a63b0924-fd09-4e30-974f-cb4be2243b66.json +0 -1
- package/.nyc_output/processinfo/d3d1fa81-57ca-4287-8fbe-96466b0e5aa1.json +0 -1
- package/.nyc_output/processinfo/e921974a-3076-4e89-8dbf-6f37bef10583.json +0 -1
- package/.nyc_output/processinfo/fb790367-ba9f-474f-84c1-f836caf9f50a.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/80</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/13</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/65</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>
|
|
@@ -212,25 +212,25 @@
|
|
|
212
212
|
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
213
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
214
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
-
<a name='L156'></a><a href='#L156'>156</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
216
|
-
<span class="cline-any cline-yes">1x</span>
|
|
217
|
-
<span class="cline-any cline-yes">1x</span>
|
|
218
|
-
<span class="cline-any cline-yes">1x</span>
|
|
219
|
-
<span class="cline-any cline-yes">1x</span>
|
|
220
|
-
<span class="cline-any cline-yes">1x</span>
|
|
221
|
-
<span class="cline-any cline-yes">1x</span>
|
|
222
|
-
<span class="cline-any cline-yes">1x</span>
|
|
223
|
-
<span class="cline-any cline-yes">1x</span>
|
|
224
|
-
<span class="cline-any cline-yes">1x</span>
|
|
225
|
-
<span class="cline-any cline-yes">1x</span>
|
|
226
|
-
<span class="cline-any cline-yes">1x</span>
|
|
227
|
-
<span class="cline-any cline-yes">1x</span>
|
|
228
|
-
<span class="cline-any cline-yes">1x</span>
|
|
229
|
-
<span class="cline-any cline-yes">1x</span>
|
|
230
|
-
<span class="cline-any cline-yes">1x</span>
|
|
215
|
+
<a name='L156'></a><a href='#L156'>156</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
231
216
|
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-
|
|
233
|
-
<span class="cline-any cline-
|
|
217
|
+
<span class="cline-any cline-neutral"> </span>
|
|
218
|
+
<span class="cline-any cline-neutral"> </span>
|
|
219
|
+
<span class="cline-any cline-neutral"> </span>
|
|
220
|
+
<span class="cline-any cline-neutral"> </span>
|
|
221
|
+
<span class="cline-any cline-neutral"> </span>
|
|
222
|
+
<span class="cline-any cline-neutral"> </span>
|
|
223
|
+
<span class="cline-any cline-neutral"> </span>
|
|
224
|
+
<span class="cline-any cline-neutral"> </span>
|
|
225
|
+
<span class="cline-any cline-neutral"> </span>
|
|
226
|
+
<span class="cline-any cline-neutral"> </span>
|
|
227
|
+
<span class="cline-any cline-neutral"> </span>
|
|
228
|
+
<span class="cline-any cline-neutral"> </span>
|
|
229
|
+
<span class="cline-any cline-neutral"> </span>
|
|
230
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
232
|
+
<span class="cline-any cline-no"> </span>
|
|
233
|
+
<span class="cline-any cline-no"> </span>
|
|
234
234
|
<span class="cline-any cline-neutral"> </span>
|
|
235
235
|
<span class="cline-any cline-neutral"> </span>
|
|
236
236
|
<span class="cline-any cline-no"> </span>
|
|
@@ -283,61 +283,61 @@
|
|
|
283
283
|
<span class="cline-any cline-neutral"> </span>
|
|
284
284
|
<span class="cline-any cline-neutral"> </span>
|
|
285
285
|
<span class="cline-any cline-neutral"> </span>
|
|
286
|
-
<span class="cline-any cline-
|
|
287
|
-
<span class="cline-any cline-
|
|
288
|
-
<span class="cline-any cline-
|
|
289
|
-
<span class="cline-any cline-
|
|
290
|
-
<span class="cline-any cline-
|
|
286
|
+
<span class="cline-any cline-no"> </span>
|
|
287
|
+
<span class="cline-any cline-no"> </span>
|
|
288
|
+
<span class="cline-any cline-no"> </span>
|
|
289
|
+
<span class="cline-any cline-no"> </span>
|
|
290
|
+
<span class="cline-any cline-no"> </span>
|
|
291
291
|
<span class="cline-any cline-no"> </span>
|
|
292
292
|
<span class="cline-any cline-neutral"> </span>
|
|
293
293
|
<span class="cline-any cline-neutral"> </span>
|
|
294
|
-
<span class="cline-any cline-
|
|
294
|
+
<span class="cline-any cline-no"> </span>
|
|
295
295
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-
|
|
296
|
+
<span class="cline-any cline-no"> </span>
|
|
297
297
|
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-
|
|
298
|
+
<span class="cline-any cline-no"> </span>
|
|
299
299
|
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-
|
|
301
|
-
<span class="cline-any cline-
|
|
300
|
+
<span class="cline-any cline-no"> </span>
|
|
301
|
+
<span class="cline-any cline-no"> </span>
|
|
302
302
|
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-
|
|
304
|
-
<span class="cline-any cline-
|
|
305
|
-
<span class="cline-any cline-
|
|
306
|
-
<span class="cline-any cline-
|
|
307
|
-
<span class="cline-any cline-
|
|
308
|
-
<span class="cline-any cline-
|
|
309
|
-
<span class="cline-any cline-
|
|
310
|
-
<span class="cline-any cline-
|
|
311
|
-
<span class="cline-any cline-
|
|
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>
|
|
309
|
+
<span class="cline-any cline-no"> </span>
|
|
310
|
+
<span class="cline-any cline-no"> </span>
|
|
311
|
+
<span class="cline-any cline-no"> </span>
|
|
312
312
|
<span class="cline-any cline-neutral"> </span>
|
|
313
|
-
<span class="cline-any cline-
|
|
313
|
+
<span class="cline-any cline-no"> </span>
|
|
314
314
|
<span class="cline-any cline-neutral"> </span>
|
|
315
|
-
<span class="cline-any cline-
|
|
316
|
-
<span class="cline-any cline-
|
|
315
|
+
<span class="cline-any cline-no"> </span>
|
|
316
|
+
<span class="cline-any cline-no"> </span>
|
|
317
317
|
<span class="cline-any cline-neutral"> </span>
|
|
318
|
-
<span class="cline-any cline-
|
|
318
|
+
<span class="cline-any cline-no"> </span>
|
|
319
319
|
<span class="cline-any cline-neutral"> </span>
|
|
320
320
|
<span class="cline-any cline-neutral"> </span>
|
|
321
321
|
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-
|
|
323
|
-
<span class="cline-any cline-
|
|
324
|
-
<span class="cline-any cline-
|
|
325
|
-
<span class="cline-any cline-
|
|
322
|
+
<span class="cline-any cline-no"> </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
326
|
<span class="cline-any cline-no"> </span>
|
|
327
327
|
<span class="cline-any cline-no"> </span>
|
|
328
328
|
<span class="cline-any cline-neutral"> </span>
|
|
329
|
-
<span class="cline-any cline-
|
|
329
|
+
<span class="cline-any cline-no"> </span>
|
|
330
330
|
<span class="cline-any cline-no"> </span>
|
|
331
331
|
<span class="cline-any cline-no"> </span>
|
|
332
332
|
<span class="cline-any cline-neutral"> </span>
|
|
333
|
-
<span class="cline-any cline-
|
|
333
|
+
<span class="cline-any cline-no"> </span>
|
|
334
334
|
<span class="cline-any cline-no"> </span>
|
|
335
335
|
<span class="cline-any cline-no"> </span>
|
|
336
336
|
<span class="cline-any cline-neutral"> </span>
|
|
337
337
|
<span class="cline-any cline-neutral"> </span>
|
|
338
338
|
<span class="cline-any cline-neutral"> </span>
|
|
339
339
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-
|
|
340
|
+
<span class="cline-any cline-no"> </span>
|
|
341
341
|
<span class="cline-any cline-neutral"> </span>
|
|
342
342
|
<span class="cline-any cline-neutral"> </span>
|
|
343
343
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -384,30 +384,30 @@ import OAuth2Verifier from './oauth2-verifier'
|
|
|
384
384
|
import OAuth2Handler from './oauth2-handler'
|
|
385
385
|
import PasswordValidator from 'password-validator'
|
|
386
386
|
|
|
387
|
-
const debug = makeDebug('kdk:core:authentication')
|
|
388
|
-
const debugLimiter = makeDebug('kdk:core:authentication:limiter')
|
|
387
|
+
const debug = <span class="cstat-no" title="statement not covered" >makeDebug('kdk:core:authentication')</span>
|
|
388
|
+
const debugLimiter = <span class="cstat-no" title="statement not covered" >makeDebug('kdk:core:authentication:limiter')</span>
|
|
389
389
|
|
|
390
|
-
function <span class="fstat-no" title="function not covered" >tooManyRequests
|
|
391
|
-
<span class="cstat-no" title="statement not covered" > debug(
|
|
392
|
-
const error = <span class="cstat-no" title="statement not covered" >new
|
|
393
|
-
<span class="cstat-no" title="statement not covered" > socket.
|
|
390
|
+
function <span class="fstat-no" title="function not covered" >tooManyRequests </span>(socket, message, key) {
|
|
391
|
+
<span class="cstat-no" title="statement not covered" > debug(message)</span>
|
|
392
|
+
const error = <span class="cstat-no" title="statement not covered" >new TooManyRequests(message, { translation: { key } })</span>
|
|
393
|
+
<span class="cstat-no" title="statement not covered" > socket.emit('rate-limit', error)</span>
|
|
394
394
|
// Add a timeout so that error message is correctly handled
|
|
395
|
-
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >(</span>
|
|
395
|
+
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >()</span> => <span class="cstat-no" title="statement not covered" >socket.disconnect(true),</span> 3000)</span>
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
function <span class="fstat-no" title="function not covered" >addOAuth2Client
|
|
399
|
-
const config = <span class="cstat-no" title="statement not covered" >app.
|
|
398
|
+
function <span class="fstat-no" title="function not covered" >addOAuth2Client </span>(app, name, clientConfig) {
|
|
399
|
+
const config = <span class="cstat-no" title="statement not covered" >app.get('authentication')</span>
|
|
400
400
|
// Feathers expect each client config to be a key in the globel app config
|
|
401
401
|
// However on our side we manage an array of config by provider
|
|
402
402
|
// so that we update config in place to reflect this setup in Feathers
|
|
403
|
-
<span class="cstat-no" title="statement not covered" > if (!config[name]) <span class="cstat-no" title="statement not covered" >config[
|
|
404
|
-
<span class="cstat-no" title="statement not covered" > app.
|
|
403
|
+
<span class="cstat-no" title="statement not covered" > if (!config[name]) <span class="cstat-no" title="statement not covered" >config[name] = clientConfig</span></span>
|
|
404
|
+
<span class="cstat-no" title="statement not covered" > app.authenticationProviders.push(name)</span>
|
|
405
405
|
}
|
|
406
406
|
|
|
407
|
-
function <span class="fstat-no" title="function not covered" >addGithubOAuth2Client
|
|
407
|
+
function <span class="fstat-no" title="function not covered" >addGithubOAuth2Client </span>(app, clientConfig) {
|
|
408
408
|
const name = <span class="cstat-no" title="statement not covered" >clientConfig.name || 'github'</span>
|
|
409
|
-
<span class="cstat-no" title="statement not covered" > addOAuth2Client(
|
|
410
|
-
<span class="cstat-no" title="statement not covered" > app.
|
|
409
|
+
<span class="cstat-no" title="statement not covered" > addOAuth2Client(app, name, clientConfig)</span>
|
|
410
|
+
<span class="cstat-no" title="statement not covered" > app.configure(oauth2({</span>
|
|
411
411
|
name,
|
|
412
412
|
Strategy: GithubStrategy,
|
|
413
413
|
Verifier: OAuth2Verifier,
|
|
@@ -415,10 +415,10 @@ function <span class="fstat-no" title="function not covered" >addGithubOAuth2Cli
|
|
|
415
415
|
}))
|
|
416
416
|
}
|
|
417
417
|
|
|
418
|
-
function <span class="fstat-no" title="function not covered" >addGoogleOAuth2Client
|
|
418
|
+
function <span class="fstat-no" title="function not covered" >addGoogleOAuth2Client </span>(app, clientConfig) {
|
|
419
419
|
const name = <span class="cstat-no" title="statement not covered" >clientConfig.name || 'google'</span>
|
|
420
|
-
<span class="cstat-no" title="statement not covered" > addOAuth2Client(
|
|
421
|
-
<span class="cstat-no" title="statement not covered" > app.
|
|
420
|
+
<span class="cstat-no" title="statement not covered" > addOAuth2Client(app, name, clientConfig)</span>
|
|
421
|
+
<span class="cstat-no" title="statement not covered" > app.configure(oauth2({</span>
|
|
422
422
|
name,
|
|
423
423
|
Strategy: GoogleStrategy,
|
|
424
424
|
Verifier: OAuth2Verifier,
|
|
@@ -426,10 +426,10 @@ function <span class="fstat-no" title="function not covered" >addGoogleOAuth2Cli
|
|
|
426
426
|
}))
|
|
427
427
|
}
|
|
428
428
|
|
|
429
|
-
function <span class="fstat-no" title="function not covered" >addCognitoOAuth2Client
|
|
429
|
+
function <span class="fstat-no" title="function not covered" >addCognitoOAuth2Client </span>(app, clientConfig) {
|
|
430
430
|
const name = <span class="cstat-no" title="statement not covered" >clientConfig.name || 'cognito'</span>
|
|
431
|
-
<span class="cstat-no" title="statement not covered" > addOAuth2Client(
|
|
432
|
-
<span class="cstat-no" title="statement not covered" > app.
|
|
431
|
+
<span class="cstat-no" title="statement not covered" > addOAuth2Client(app, name, clientConfig)</span>
|
|
432
|
+
<span class="cstat-no" title="statement not covered" > app.configure(oauth2({</span>
|
|
433
433
|
name,
|
|
434
434
|
Strategy: CognitoStrategy,
|
|
435
435
|
Verifier: OAuth2Verifier,
|
|
@@ -437,62 +437,62 @@ function <span class="fstat-no" title="function not covered" >addCognitoOAuth2Cl
|
|
|
437
437
|
}))
|
|
438
438
|
}
|
|
439
439
|
|
|
440
|
-
export default function auth () {
|
|
441
|
-
const app = this
|
|
442
|
-
const config = app.get('authentication')
|
|
443
|
-
|
|
444
|
-
const limiter = config.limiter
|
|
445
|
-
|
|
446
|
-
<span class="cstat-no" title="statement not covered" > app.
|
|
440
|
+
export default function <span class="fstat-no" title="function not covered" >auth </span>() {
|
|
441
|
+
const app = <span class="cstat-no" title="statement not covered" >this</span>
|
|
442
|
+
const config = <span class="cstat-no" title="statement not covered" >app.get('authentication')</span>
|
|
443
|
+
<span class="cstat-no" title="statement not covered" > if (!config) <span class="cstat-no" title="statement not covered" >return</span></span>
|
|
444
|
+
const limiter = <span class="cstat-no" title="statement not covered" >config.limiter</span>
|
|
445
|
+
<span class="cstat-no" title="statement not covered" > if (limiter && limiter.http) {</span>
|
|
446
|
+
<span class="cstat-no" title="statement not covered" > app.use(config.path, new HttpLimiter(limiter.http))</span>
|
|
447
447
|
}
|
|
448
448
|
// Store availalbe OAuth2 providers
|
|
449
|
-
app.authenticationProviders = []
|
|
449
|
+
<span class="cstat-no" title="statement not covered" > app.authenticationProviders = []</span>
|
|
450
450
|
// Get access to password validator if a policy is defined
|
|
451
|
-
|
|
451
|
+
<span class="cstat-no" title="statement not covered" > if (config.passwordPolicy) {</span>
|
|
452
452
|
let validator
|
|
453
|
-
app.getPasswordPolicy = function () {
|
|
453
|
+
<span class="cstat-no" title="statement not covered" > app.getPasswordPolicy = <span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
|
454
454
|
// Create on first access, should not be done outside a function because the app has not yet been correctly initialized
|
|
455
|
-
if (validator) return validator
|
|
456
|
-
const { minLength, maxLength, uppercase, lowercase, digits, symbols, noSpaces, prohibited } = config.passwordPolicy
|
|
455
|
+
<span class="cstat-no" title="statement not covered" > if (validator) <span class="cstat-no" title="statement not covered" >return validator</span></span>
|
|
456
|
+
const { minLength, maxLength, uppercase, lowercase, digits, symbols, noSpaces, prohibited } = <span class="cstat-no" title="statement not covered" >config.passwordPolicy</span>
|
|
457
457
|
|
|
458
|
-
validator = new PasswordValidator()
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
458
|
+
<span class="cstat-no" title="statement not covered" > validator = new PasswordValidator()</span>
|
|
459
|
+
<span class="cstat-no" title="statement not covered" > if (minLength) <span class="cstat-no" title="statement not covered" >validator.is().min(minLength)</span></span>
|
|
460
|
+
<span class="cstat-no" title="statement not covered" > if (maxLength) <span class="cstat-no" title="statement not covered" >validator.is().max(maxLength)</span></span>
|
|
461
|
+
<span class="cstat-no" title="statement not covered" > if (uppercase) <span class="cstat-no" title="statement not covered" >validator.has().uppercase()</span></span>
|
|
462
|
+
<span class="cstat-no" title="statement not covered" > if (lowercase) <span class="cstat-no" title="statement not covered" >validator.has().lowercase()</span></span>
|
|
463
|
+
<span class="cstat-no" title="statement not covered" > if (digits) <span class="cstat-no" title="statement not covered" >validator.has().digits()</span></span>
|
|
464
|
+
<span class="cstat-no" title="statement not covered" > if (symbols) <span class="cstat-no" title="statement not covered" >validator.has().symbols()</span></span>
|
|
465
|
+
<span class="cstat-no" title="statement not covered" > if (noSpaces) <span class="cstat-no" title="statement not covered" >validator.not().spaces()</span></span>
|
|
466
|
+
<span class="cstat-no" title="statement not covered" > if (prohibited) <span class="cstat-no" title="statement not covered" >validator.is().not().oneOf(prohibited)</span></span>
|
|
467
467
|
// Add util functions/options to compare with previous passwords stored in history when required
|
|
468
|
-
const verifier = new local.Verifier(app, _.merge({ usernameField: 'email', passwordField: 'password' }
|
|
468
|
+
const verifier = <span class="cstat-no" title="statement not covered" >new local.Verifier(app, _.merge({ usernameField: 'email', passwordField: 'password' },</span>
|
|
469
469
|
_.pick(config, ['service']), config.local))
|
|
470
|
-
validator.comparePassword = verifier._comparePassword
|
|
471
|
-
validator.options = config.passwordPolicy
|
|
470
|
+
<span class="cstat-no" title="statement not covered" > validator.comparePassword = verifier._comparePassword</span>
|
|
471
|
+
<span class="cstat-no" title="statement not covered" > validator.options = config.passwordPolicy</span>
|
|
472
472
|
|
|
473
|
-
return validator
|
|
473
|
+
<span class="cstat-no" title="statement not covered" > return validator</span>
|
|
474
474
|
}
|
|
475
475
|
}
|
|
476
476
|
// Set up authentication with the secret
|
|
477
|
-
app.configure(authentication(config))
|
|
478
|
-
app.configure(jwt())
|
|
479
|
-
app.configure(local())
|
|
480
|
-
|
|
477
|
+
<span class="cstat-no" title="statement not covered" > app.configure(authentication(config))</span>
|
|
478
|
+
<span class="cstat-no" title="statement not covered" > app.configure(jwt())</span>
|
|
479
|
+
<span class="cstat-no" title="statement not covered" > app.configure(local())</span>
|
|
480
|
+
<span class="cstat-no" title="statement not covered" > if (config.github) {</span>
|
|
481
481
|
const githubClients = (<span class="cstat-no" title="statement not covered" >!Array.isArray(config.github) ? [config.github] : config.github)</span>
|
|
482
|
-
<span class="cstat-no" title="statement not covered" > githubClients.
|
|
482
|
+
<span class="cstat-no" title="statement not covered" > githubClients.forEach(<span class="fstat-no" title="function not covered" >co</span>nfig => <span class="cstat-no" title="statement not covered" >addGithubOAuth2Client(app, config))</span></span>
|
|
483
483
|
}
|
|
484
|
-
|
|
484
|
+
<span class="cstat-no" title="statement not covered" > if (config.google) {</span>
|
|
485
485
|
const googleClients = (<span class="cstat-no" title="statement not covered" >!Array.isArray(config.google) ? [config.google] : config.google)</span>
|
|
486
|
-
<span class="cstat-no" title="statement not covered" > googleClients.
|
|
486
|
+
<span class="cstat-no" title="statement not covered" > googleClients.forEach(<span class="fstat-no" title="function not covered" >co</span>nfig => <span class="cstat-no" title="statement not covered" >addGoogleOAuth2Client(app, config))</span></span>
|
|
487
487
|
}
|
|
488
|
-
|
|
488
|
+
<span class="cstat-no" title="statement not covered" > if (config.cognito) {</span>
|
|
489
489
|
const cognitoClients = (<span class="cstat-no" title="statement not covered" >!Array.isArray(config.cognito) ? [config.cognito] : config.cognito)</span>
|
|
490
|
-
<span class="cstat-no" title="statement not covered" > cognitoClients.
|
|
490
|
+
<span class="cstat-no" title="statement not covered" > cognitoClients.forEach(<span class="fstat-no" title="function not covered" >co</span>nfig => <span class="cstat-no" title="statement not covered" >addCognitoOAuth2Client(app, config))</span></span>
|
|
491
491
|
}
|
|
492
492
|
// The `authentication` service is used to create a JWT.
|
|
493
493
|
// The before `create` hook registers strategies that can be used
|
|
494
494
|
// to create a new valid JWT (e.g. local or oauth2)
|
|
495
|
-
app.getService('authentication').hooks({
|
|
495
|
+
<span class="cstat-no" title="statement not covered" > app.getService('authentication').hooks({</span>
|
|
496
496
|
before: {
|
|
497
497
|
create: [
|
|
498
498
|
authentication.hooks.authenticate(config.strategies)
|
|
@@ -504,19 +504,19 @@ export default function auth () {
|
|
|
504
504
|
})
|
|
505
505
|
}
|
|
506
506
|
|
|
507
|
-
export function <span class="fstat-no" title="function not covered" >authSocket
|
|
508
|
-
const authConfig = <span class="cstat-no" title="statement not covered" >app.
|
|
507
|
+
export function <span class="fstat-no" title="function not covered" >authSocket </span>(app, socket) {
|
|
508
|
+
const authConfig = <span class="cstat-no" title="statement not covered" >app.get('authentication')</span>
|
|
509
509
|
const authLimiter = (<span class="cstat-no" title="statement not covered" >authConfig ? authConfig.limiter : null)</span>
|
|
510
510
|
|
|
511
511
|
<span class="cstat-no" title="statement not covered" > if (authLimiter && authLimiter.websocket) {</span>
|
|
512
512
|
const { tokensPerInterval, interval } = <span class="cstat-no" title="statement not covered" >authLimiter.websocket</span>
|
|
513
|
-
<span class="cstat-no" title="statement not covered" > socket.
|
|
514
|
-
<span class="cstat-no" title="statement not covered" > socket.
|
|
513
|
+
<span class="cstat-no" title="statement not covered" > socket.authSocketLimiter = new SocketLimiter(tokensPerInterval, interval)</span>
|
|
514
|
+
<span class="cstat-no" title="statement not covered" > socket.on('authenticate', <span class="fstat-no" title="function not covered" >(d</span>ata) => {</span>
|
|
515
515
|
// We only limit password guessing
|
|
516
516
|
<span class="cstat-no" title="statement not covered" > if (data.strategy === 'local') {</span>
|
|
517
|
-
<span class="cstat-no" title="statement not covered" > debugLimiter(
|
|
517
|
+
<span class="cstat-no" title="statement not covered" > debugLimiter(socket.authSocketLimiter.getTokensRemaining() + ' remaining authentication token for socket', socket.id, socket.conn.remoteAddress)</span>
|
|
518
518
|
<span class="cstat-no" title="statement not covered" > if (!socket.authSocketLimiter.tryRemoveTokens(1)) { // if exceeded</span>
|
|
519
|
-
<span class="cstat-no" title="statement not covered" > tooManyRequests(
|
|
519
|
+
<span class="cstat-no" title="statement not covered" > tooManyRequests(socket, 'Too many authentication requests in a given amount of time (rate limiting)', 'RATE_LIMITING_AUTHENTICATION')</span>
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
522
|
})
|
|
@@ -529,7 +529,7 @@ export function <span class="fstat-no" title="function not covered" >authSocket
|
|
|
529
529
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
530
530
|
Code coverage generated by
|
|
531
531
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
532
|
-
at Fri
|
|
532
|
+
at Fri Jan 07 2022 19:29:57 GMT+0100 (GMT+01:00)
|
|
533
533
|
</div>
|
|
534
534
|
</div>
|
|
535
535
|
<script src="../../prettify.js"></script>
|