@kalisio/kdk 1.3.5 → 1.4.2
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/2c5b7c8e-81db-4d2c-a7a4-02dc640d301f.json +1 -0
- package/.nyc_output/{0b8aa700-8daa-49ce-85e7-a8f8965d55f0.json → 2e74ca23-8cf0-4161-9536-f71c2a1a74bb.json} +0 -0
- package/.nyc_output/{20df4355-911a-4b16-a8ab-d3392e9f0a7f.json → 81d21e46-766a-46bc-b1b7-143ca577347a.json} +0 -0
- package/.nyc_output/a762cb58-70dc-4d39-ab69-928635affa98.json +1 -0
- package/.nyc_output/{257af0bb-96c3-465a-b5ef-a1df60078d5f.json → aaf3ebbb-f895-4d7b-9255-bc5dee832570.json} +0 -0
- package/.nyc_output/{284aebfa-23fd-425f-9d72-e4b8904dc224.json → dbeb2602-0ac2-4e66-978b-0d29548359ca.json} +0 -0
- package/.nyc_output/{5cbee06e-be6e-468a-bd78-4793ee785fe4.json → e47d1e4c-2fff-4dcb-908f-d3081162547c.json} +0 -0
- package/.nyc_output/processinfo/{2bece194-92f7-4971-a688-10604044a7fa.json → 2c5b7c8e-81db-4d2c-a7a4-02dc640d301f.json} +1 -1
- package/.nyc_output/processinfo/2e74ca23-8cf0-4161-9536-f71c2a1a74bb.json +1 -0
- package/.nyc_output/processinfo/81d21e46-766a-46bc-b1b7-143ca577347a.json +1 -0
- package/.nyc_output/processinfo/a762cb58-70dc-4d39-ab69-928635affa98.json +1 -0
- package/.nyc_output/processinfo/aaf3ebbb-f895-4d7b-9255-bc5dee832570.json +1 -0
- package/.nyc_output/processinfo/dbeb2602-0ac2-4e66-978b-0d29548359ca.json +1 -0
- package/.nyc_output/processinfo/e47d1e4c-2fff-4dcb-908f-d3081162547c.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +189 -67
- package/README.md +1 -1
- package/coverage/core/api/application.js.html +145 -145
- package/coverage/core/api/authentication.js.html +37 -37
- package/coverage/core/api/db.js.html +74 -74
- package/coverage/core/api/hooks/hooks.account.js.html +15 -15
- package/coverage/core/api/hooks/hooks.authentication.js.html +16 -16
- package/coverage/core/api/hooks/hooks.authorisations.js.html +112 -121
- package/coverage/core/api/hooks/hooks.devices.js.html +5 -5
- package/coverage/core/api/hooks/hooks.groups.js.html +3 -3
- package/coverage/core/api/hooks/hooks.logger.js.html +7 -7
- package/coverage/core/api/hooks/hooks.model.js.html +149 -149
- package/coverage/core/api/hooks/hooks.organisations.js.html +13 -61
- package/coverage/core/api/hooks/hooks.pusher.js.html +7 -7
- package/coverage/core/api/hooks/hooks.query.js.html +68 -32
- package/coverage/core/api/hooks/hooks.service.js.html +15 -15
- package/coverage/core/api/hooks/hooks.storage.js.html +5 -5
- package/coverage/core/api/hooks/hooks.tags.js.html +7 -7
- package/coverage/core/api/hooks/hooks.users.js.html +111 -63
- package/coverage/core/api/hooks/index.html +72 -72
- package/coverage/core/api/hooks/index.js.html +15 -15
- package/coverage/core/api/index.html +35 -35
- package/coverage/core/api/index.js.html +13 -13
- package/coverage/core/api/marshall.js.html +81 -81
- package/coverage/core/api/models/groups.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/index.html +1 -1
- package/coverage/core/api/models/organisations.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/tags.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/users.model.mongodb.js.html +7 -7
- package/coverage/core/api/oauth2-handler.js.html +3 -3
- package/coverage/core/api/oauth2-verifier.js.html +5 -5
- package/coverage/core/api/services/account/account.hooks.js.html +1 -1
- package/coverage/core/api/services/account/account.service.js.html +34 -34
- package/coverage/core/api/services/account/index.html +17 -17
- package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +3 -3
- package/coverage/core/api/services/authorisations/authorisations.service.js.html +40 -37
- package/coverage/core/api/services/authorisations/index.html +17 -17
- package/coverage/core/api/services/databases/databases.hooks.js.html +1 -1
- package/coverage/core/api/services/databases/databases.service.js.html +1 -1
- package/coverage/core/api/services/databases/index.html +1 -1
- package/coverage/core/api/services/devices/devices.hooks.js.html +1 -1
- package/coverage/core/api/services/devices/devices.service.js.html +1 -1
- package/coverage/core/api/services/devices/index.html +1 -1
- package/coverage/core/api/services/groups/groups.hooks.js.html +1 -1
- package/coverage/core/api/services/groups/index.html +1 -1
- package/coverage/core/api/services/index.html +5 -5
- package/coverage/core/api/services/index.js.html +40 -40
- package/coverage/core/api/services/mailer/index.html +1 -1
- package/coverage/core/api/services/mailer/mailer.hooks.js.html +1 -1
- package/coverage/core/api/services/mailer/mailer.service.js.html +1 -1
- package/coverage/core/api/services/organisations/index.html +1 -1
- package/coverage/core/api/services/organisations/organisations.hooks.js.html +1 -1
- package/coverage/core/api/services/organisations/organisations.service.js.html +1 -1
- package/coverage/core/api/services/pusher/index.html +1 -1
- package/coverage/core/api/services/pusher/pusher.channels.js.html +1 -1
- package/coverage/core/api/services/pusher/pusher.hooks.js.html +1 -1
- package/coverage/core/api/services/pusher/pusher.service.js.html +1 -1
- package/coverage/core/api/services/storage/index.html +1 -1
- package/coverage/core/api/services/storage/storage.hooks.js.html +4 -4
- package/coverage/core/api/services/tags/index.html +1 -1
- package/coverage/core/api/services/tags/tags.hooks.js.html +1 -1
- package/coverage/core/api/services/users/index.html +1 -1
- package/coverage/core/api/services/users/users.hooks.js.html +12 -12
- package/coverage/core/common/index.html +32 -32
- package/coverage/core/common/index.js.html +27 -27
- package/coverage/core/common/permissions.js.html +135 -75
- package/coverage/index.html +157 -157
- package/coverage/lcov-report/core/api/application.js.html +145 -145
- package/coverage/lcov-report/core/api/authentication.js.html +37 -37
- package/coverage/lcov-report/core/api/db.js.html +74 -74
- package/coverage/lcov-report/core/api/hooks/hooks.account.js.html +15 -15
- package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +16 -16
- package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +112 -121
- package/coverage/lcov-report/core/api/hooks/hooks.devices.js.html +5 -5
- package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +3 -3
- package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +7 -7
- package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +149 -149
- package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +13 -61
- package/coverage/lcov-report/core/api/hooks/hooks.pusher.js.html +7 -7
- package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +68 -32
- package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +15 -15
- package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +5 -5
- package/coverage/lcov-report/core/api/hooks/hooks.tags.js.html +7 -7
- package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +111 -63
- package/coverage/lcov-report/core/api/hooks/index.html +72 -72
- package/coverage/lcov-report/core/api/hooks/index.js.html +15 -15
- package/coverage/lcov-report/core/api/index.html +35 -35
- package/coverage/lcov-report/core/api/index.js.html +13 -13
- package/coverage/lcov-report/core/api/marshall.js.html +81 -81
- package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/index.html +1 -1
- package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +7 -7
- package/coverage/lcov-report/core/api/oauth2-handler.js.html +3 -3
- package/coverage/lcov-report/core/api/oauth2-verifier.js.html +5 -5
- package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/account/account.service.js.html +34 -34
- package/coverage/lcov-report/core/api/services/account/index.html +17 -17
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +3 -3
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +40 -37
- package/coverage/lcov-report/core/api/services/authorisations/index.html +17 -17
- package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/databases/index.html +1 -1
- package/coverage/lcov-report/core/api/services/devices/devices.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/devices/devices.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/devices/index.html +1 -1
- package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/groups/index.html +1 -1
- package/coverage/lcov-report/core/api/services/index.html +5 -5
- package/coverage/lcov-report/core/api/services/index.js.html +40 -40
- package/coverage/lcov-report/core/api/services/mailer/index.html +1 -1
- package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/organisations/index.html +1 -1
- package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/pusher/index.html +1 -1
- package/coverage/lcov-report/core/api/services/pusher/pusher.channels.js.html +1 -1
- package/coverage/lcov-report/core/api/services/pusher/pusher.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/pusher/pusher.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/storage/index.html +1 -1
- package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +4 -4
- package/coverage/lcov-report/core/api/services/tags/index.html +1 -1
- package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/users/index.html +1 -1
- package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +12 -12
- package/coverage/lcov-report/core/common/index.html +32 -32
- package/coverage/lcov-report/core/common/index.js.html +27 -27
- package/coverage/lcov-report/core/common/permissions.js.html +135 -75
- package/coverage/lcov-report/index.html +157 -157
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +55 -55
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +337 -274
- package/coverage/lcov-report/map/api/hooks/index.html +43 -43
- package/coverage/lcov-report/map/api/hooks/index.js.html +12 -12
- package/coverage/lcov-report/map/api/index.html +31 -31
- package/coverage/lcov-report/map/api/index.js.html +24 -24
- package/coverage/lcov-report/map/api/marshall.js.html +39 -39
- package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +20 -20
- package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +22 -22
- package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +24 -24
- package/coverage/lcov-report/map/api/models/index.html +43 -43
- package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +21 -21
- package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +156 -156
- package/coverage/lcov-report/map/api/services/alerts/index.html +30 -30
- package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +19 -19
- package/coverage/lcov-report/map/api/services/catalog/index.html +17 -17
- 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 +20 -20
- package/coverage/lcov-report/map/api/services/features/index.html +21 -21
- package/coverage/lcov-report/map/api/services/geocoder/geocoder.hooks.js.html +8 -8
- package/coverage/lcov-report/map/api/services/geocoder/geocoder.service.js.html +99 -99
- package/coverage/lcov-report/map/api/services/geocoder/index.html +28 -28
- package/coverage/lcov-report/map/api/services/index.html +21 -21
- package/coverage/lcov-report/map/api/services/index.js.html +71 -71
- package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +68 -68
- package/coverage/lcov-report/map/common/errors.js.html +9 -9
- package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +120 -120
- package/coverage/lcov-report/map/common/grid.js.html +268 -268
- package/coverage/lcov-report/map/common/index.html +149 -149
- package/coverage/lcov-report/map/common/index.js.html +31 -31
- package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +71 -71
- package/coverage/lcov-report/map/common/moment-utils.js.html +14 -14
- package/coverage/lcov-report/map/common/opendap-grid-source.js.html +280 -280
- package/coverage/lcov-report/map/common/opendap-utils.js.html +220 -220
- package/coverage/lcov-report/map/common/permissions.js.html +21 -21
- package/coverage/lcov-report/map/common/time-based-grid-source.js.html +51 -51
- package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/wcs-grid-source.js.html +99 -99
- package/coverage/lcov-report/map/common/wcs-utils.js.html +66 -66
- package/coverage/lcov-report/map/common/weacast-grid-source.js.html +196 -196
- package/coverage/lcov-report/map/common/wfs-utils.js.html +8 -5
- package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/wmts-utils.js.html +71 -11
- package/coverage/lcov.info +3588 -3659
- package/coverage/map/api/hooks/hooks.catalog.js.html +55 -55
- package/coverage/map/api/hooks/hooks.query.js.html +337 -274
- package/coverage/map/api/hooks/index.html +43 -43
- package/coverage/map/api/hooks/index.js.html +12 -12
- package/coverage/map/api/index.html +31 -31
- package/coverage/map/api/index.js.html +24 -24
- package/coverage/map/api/marshall.js.html +39 -39
- package/coverage/map/api/models/alerts.model.mongodb.js.html +20 -20
- package/coverage/map/api/models/catalog.model.mongodb.js.html +22 -22
- package/coverage/map/api/models/features.model.mongodb.js.html +24 -24
- package/coverage/map/api/models/index.html +43 -43
- package/coverage/map/api/services/alerts/alerts.hooks.js.html +21 -21
- package/coverage/map/api/services/alerts/alerts.service.js.html +156 -156
- package/coverage/map/api/services/alerts/index.html +30 -30
- package/coverage/map/api/services/catalog/catalog.hooks.js.html +19 -19
- package/coverage/map/api/services/catalog/index.html +17 -17
- 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 +20 -20
- package/coverage/map/api/services/features/index.html +21 -21
- package/coverage/map/api/services/geocoder/geocoder.hooks.js.html +8 -8
- package/coverage/map/api/services/geocoder/geocoder.service.js.html +99 -99
- package/coverage/map/api/services/geocoder/index.html +28 -28
- package/coverage/map/api/services/index.html +21 -21
- package/coverage/map/api/services/index.js.html +71 -71
- package/coverage/map/common/dynamic-grid-source.js.html +68 -68
- package/coverage/map/common/errors.js.html +9 -9
- package/coverage/map/common/geotiff-grid-source.js.html +120 -120
- package/coverage/map/common/grid.js.html +268 -268
- package/coverage/map/common/index.html +149 -149
- package/coverage/map/common/index.js.html +31 -31
- package/coverage/map/common/meteo-model-grid-source.js.html +71 -71
- package/coverage/map/common/moment-utils.js.html +14 -14
- package/coverage/map/common/opendap-grid-source.js.html +280 -280
- package/coverage/map/common/opendap-utils.js.html +220 -220
- package/coverage/map/common/permissions.js.html +21 -21
- package/coverage/map/common/time-based-grid-source.js.html +51 -51
- package/coverage/map/common/tms-utils.js.html +1 -1
- package/coverage/map/common/wcs-grid-source.js.html +99 -99
- package/coverage/map/common/wcs-utils.js.html +66 -66
- package/coverage/map/common/weacast-grid-source.js.html +196 -196
- package/coverage/map/common/wfs-utils.js.html +8 -5
- package/coverage/map/common/wms-utils.js.html +1 -1
- package/coverage/map/common/wmts-utils.js.html +71 -11
- package/extras/icons/kanban.png +0 -0
- package/extras/testcafe/page-models/map/catalog.js +2 -2
- package/extras/tours/core/add-member.js +10 -1
- package/extras/tours/core/{tag-member.js → edit-member-tags.js} +4 -3
- package/extras/tours/core/groups.js +8 -2
- package/extras/tours/core/members.js +11 -21
- package/extras/tours/core/tags.js +7 -1
- package/extras/tours/map/catalog-categories.js +4 -4
- package/extras/tours/map/catalog-panel.js +16 -16
- package/extras/tours/map/favorite-views.js +3 -3
- package/lib/core/api/hooks/hooks.authorisations.js +149 -140
- package/lib/core/api/hooks/hooks.authorisations.js.map +1 -1
- package/lib/core/api/hooks/hooks.organisations.js +1 -23
- package/lib/core/api/hooks/hooks.organisations.js.map +1 -1
- package/lib/core/api/hooks/hooks.query.js +22 -0
- package/lib/core/api/hooks/hooks.query.js.map +1 -1
- package/lib/core/api/hooks/hooks.users.js +34 -18
- package/lib/core/api/hooks/hooks.users.js.map +1 -1
- package/lib/core/api/services/authorisations/authorisations.service.js +34 -25
- package/lib/core/api/services/authorisations/authorisations.service.js.map +1 -1
- package/lib/core/client/api.js +1 -0
- package/lib/core/client/api.js.map +1 -1
- package/lib/core/client/components/account/KAccountDZ.vue +3 -4
- package/lib/core/client/components/account/KAccountDevices.vue +5 -6
- package/lib/core/client/components/account/KDeviceCard.vue +2 -1
- package/lib/core/client/components/account/KIdentityPanel.vue +1 -7
- package/lib/core/client/components/collection/KBoard.vue +26 -155
- package/lib/core/client/components/collection/KCard.vue +144 -42
- package/lib/core/client/components/collection/KCardSection.vue +52 -0
- package/lib/core/client/components/collection/KColumn.vue +181 -0
- package/lib/core/client/components/collection/KGrid.vue +13 -18
- package/lib/core/client/components/collection/KHistory.vue +61 -89
- package/lib/core/client/components/collection/KHistoryEntry.vue +90 -66
- package/lib/core/client/components/collection/KItem.vue +21 -2
- package/lib/core/client/components/collection/KList.vue +9 -12
- package/lib/core/client/components/collection/KTable.vue +33 -39
- package/lib/core/client/components/collection/index.js +6 -1
- package/lib/core/client/components/collection/index.js.map +1 -1
- package/lib/core/client/components/editor/KEditor.vue +0 -6
- package/lib/core/client/components/editor/KModalEditor.vue +4 -4
- package/lib/core/client/components/editor/KSettingsEditor.vue +49 -0
- package/lib/core/client/components/form/KAttachmentField.vue +10 -10
- package/lib/core/client/components/form/KChipsField.vue +28 -23
- package/lib/core/client/components/form/KColorField.vue +30 -25
- package/lib/core/client/components/form/KForm.vue +0 -12
- package/lib/core/client/components/form/KIconField.vue +1 -0
- package/lib/core/client/components/form/KItemField.vue +8 -4
- package/lib/core/client/components/form/KRoleField.vue +56 -0
- package/lib/core/client/components/form/KSelectField.vue +16 -1
- package/lib/core/client/components/form/KView.vue +5 -14
- package/lib/core/client/components/frame/KAction.vue +18 -12
- package/lib/core/client/components/frame/KAvatar.vue +3 -3
- package/lib/core/client/components/frame/KChart.vue +60 -0
- package/lib/core/client/components/frame/KChipsPane.vue +80 -0
- package/lib/core/client/components/frame/KContent.vue +1 -1
- package/lib/core/client/components/frame/KModal.vue +30 -44
- package/lib/core/client/components/frame/KPanel.vue +1 -1
- package/lib/core/client/components/frame/{KMenu.vue → KPopupAction.vue} +6 -7
- package/lib/core/client/components/frame/KSpot.vue +31 -0
- package/lib/core/client/components/frame/KStamp.vue +62 -0
- package/lib/core/client/components/frame/index.js +56 -1
- package/lib/core/client/components/frame/index.js.map +1 -1
- package/lib/core/client/components/input/KColorChooser.vue +16 -8
- package/lib/core/client/components/input/KIconChooser.vue +2 -1
- package/lib/core/client/components/input/KUploader.vue +14 -5
- package/lib/core/client/components/layout/KAbout.vue +9 -3
- package/lib/core/client/components/layout/KFab.vue +1 -1
- package/lib/core/client/components/layout/KPage.vue +44 -19
- package/lib/core/client/components/layout/KTour.vue +2 -2
- package/lib/core/client/components/layout/KWelcome.vue +13 -12
- package/lib/core/client/components/layout/KWindow.vue +1 -1
- package/lib/core/client/components/media/KImageViewer.vue +9 -7
- package/lib/core/client/components/media/KMediaBrowser.vue +12 -8
- package/lib/core/client/components/menu/KMenu.vue +103 -0
- package/lib/core/client/components/team/KAddMember.vue +17 -9
- package/lib/core/client/components/team/KChangeRole.vue +5 -7
- package/lib/core/client/components/team/KGroupCard.vue +34 -51
- package/lib/core/client/components/team/KGroupsActivity.vue +9 -2
- package/lib/core/client/components/team/KJoinGroup.vue +5 -7
- package/lib/core/client/components/team/KMemberCard.vue +104 -63
- package/lib/core/client/components/team/KMembersActivity.vue +9 -2
- package/lib/core/client/components/team/KOrganisationsActivity.vue +8 -1
- package/lib/core/client/components/team/KTagCard.vue +26 -26
- package/lib/core/client/components/team/KTagsActivity.vue +9 -2
- package/lib/core/client/components/time/KTimeRange.vue +144 -0
- package/lib/core/client/components/viewer/KModalViewer.vue +6 -0
- package/lib/core/client/components/viewer/KViewer.vue +0 -6
- package/lib/core/client/i18n/core_en.json +133 -93
- package/lib/core/client/i18n/core_fr.json +56 -16
- package/lib/core/client/index.js +28 -14
- package/lib/core/client/index.js.map +1 -1
- package/lib/core/client/mixins/mixin.authorisation.js +28 -18
- package/lib/core/client/mixins/mixin.authorisation.js.map +1 -1
- package/lib/core/client/mixins/mixin.base-collection.js +57 -9
- package/lib/core/client/mixins/mixin.base-collection.js.map +1 -1
- package/lib/core/client/mixins/mixin.base-context.js +1 -1
- package/lib/core/client/mixins/mixin.base-context.js.map +1 -1
- package/lib/core/client/mixins/mixin.base-editor.js +26 -16
- package/lib/core/client/mixins/mixin.base-editor.js.map +1 -1
- package/lib/core/client/mixins/mixin.base-field.js +0 -4
- package/lib/core/client/mixins/mixin.base-field.js.map +1 -1
- package/lib/core/client/mixins/mixin.base-item.js +29 -14
- package/lib/core/client/mixins/mixin.base-item.js.map +1 -1
- package/lib/core/client/mixins/mixin.base-viewer.js +0 -2
- package/lib/core/client/mixins/mixin.base-viewer.js.map +1 -1
- package/lib/core/client/mixins/mixin.object-proxy.js +17 -3
- package/lib/core/client/mixins/mixin.object-proxy.js.map +1 -1
- package/lib/core/client/mixins/mixin.schema-proxy.js +31 -0
- package/lib/core/client/mixins/mixin.schema-proxy.js.map +1 -1
- package/lib/core/client/mixins/mixin.service.js +5 -33
- package/lib/core/client/mixins/mixin.service.js.map +1 -1
- package/lib/core/client/services/index.js +23 -0
- package/lib/core/client/services/index.js.map +1 -1
- package/lib/core/client/services/local-settings.service.js +4 -0
- package/lib/core/client/services/local-settings.service.js.map +1 -1
- package/lib/core/client/time.js +131 -0
- package/lib/core/client/time.js.map +1 -0
- package/lib/core/common/permissions.js +65 -23
- package/lib/core/common/permissions.js.map +1 -1
- package/lib/core/common/schemas/groups.create.json +1 -1
- package/lib/core/common/schemas/groups.update.json +1 -1
- package/lib/core/common/schemas/organisations.create.json +1 -1
- package/lib/core/common/schemas/organisations.update.json +2 -2
- package/lib/core/common/schemas/settings.update.json +139 -0
- package/lib/core/common/schemas/tags.update.json +9 -1
- package/lib/map/api/hooks/hooks.query.js +48 -27
- package/lib/map/api/hooks/hooks.query.js.map +1 -1
- package/lib/map/api/services/features/features.hooks.js +1 -1
- package/lib/map/api/services/features/features.hooks.js.map +1 -1
- package/lib/map/client/components/KColorLegend.vue +25 -23
- package/lib/map/client/components/KFavoriteViews.vue +71 -35
- package/lib/map/client/components/KFeaturesChart.vue +11 -9
- package/lib/map/client/components/KFeaturesFilter.vue +15 -7
- package/lib/map/client/components/KFeaturesTable.vue +27 -2
- package/lib/map/client/components/KLayerEditionToolbar.vue +43 -0
- package/lib/map/client/components/KLayerStyleEditor.vue +10 -4
- package/lib/map/client/components/KLayerStyleForm.vue +14 -11
- package/lib/map/client/components/KLocationInput.vue +126 -65
- package/lib/map/client/components/KLocationMap.vue +199 -84
- package/lib/map/client/components/KPositionIndicator.vue +1 -0
- package/lib/map/client/components/KTimeline.vue +41 -36
- package/lib/map/client/components/KUrlLegend.vue +21 -19
- package/lib/map/client/components/catalog/KBaseLayersSelector.vue +105 -0
- package/lib/map/client/components/catalog/KCatalog.vue +14 -2
- package/lib/map/client/components/catalog/KConnectLayer.vue +31 -11
- package/lib/map/client/components/catalog/KCreateLayer.vue +37 -14
- package/lib/map/client/components/catalog/KImportLayer.vue +28 -8
- package/lib/map/client/components/catalog/KLayerCategories.vue +86 -62
- package/lib/map/client/components/catalog/KLayersSelector.vue +42 -42
- package/lib/map/client/components/catalog/KWeatherLayersSelector.vue +3 -3
- package/lib/map/client/components/form/KLocationField.vue +1 -1
- package/lib/map/client/components/form/KOwsLayerField.vue +21 -2
- package/lib/map/client/components/form/KOwsServiceField.vue +1 -0
- package/lib/map/client/components/widget/KInformationBox.vue +10 -16
- package/lib/map/client/components/widget/KMapillaryViewer.vue +59 -49
- package/lib/map/client/components/widget/KTimeSeries.vue +39 -29
- package/lib/map/client/i18n/map_en.json +65 -17
- package/lib/map/client/i18n/map_fr.json +67 -20
- package/lib/map/client/init.js +18 -6
- package/lib/map/client/init.js.map +1 -1
- package/lib/map/client/leaflet/GSMaPLayer.js +4 -9
- package/lib/map/client/leaflet/GSMaPLayer.js.map +1 -1
- package/lib/map/client/leaflet/GradientPath.js.map +1 -1
- package/lib/map/client/leaflet/MaskLayer.js +64 -0
- package/lib/map/client/leaflet/MaskLayer.js.map +1 -0
- package/lib/map/client/mixins/globe/mixin.base-globe.js +4 -1
- package/lib/map/client/mixins/globe/mixin.base-globe.js.map +1 -1
- package/lib/map/client/mixins/globe/mixin.geojson-layers.js +7 -9
- package/lib/map/client/mixins/globe/mixin.geojson-layers.js.map +1 -1
- package/lib/map/client/mixins/index.js +8 -13
- package/lib/map/client/mixins/index.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.base-map.js +30 -6
- package/lib/map/client/mixins/map/mixin.base-map.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.canvas-layers.js +274 -51
- package/lib/map/client/mixins/map/mixin.canvas-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.edit-layers.js +218 -121
- package/lib/map/client/mixins/map/mixin.edit-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.file-layers.js +25 -18
- package/lib/map/client/mixins/map/mixin.file-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.geojson-layers.js +18 -10
- package/lib/map/client/mixins/map/mixin.geojson-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.georaster-layers.js +7 -4
- package/lib/map/client/mixins/map/mixin.georaster-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.gsmap-layers.js +3 -3
- package/lib/map/client/mixins/map/mixin.gsmap-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.heatmap-layers.js +8 -10
- package/lib/map/client/mixins/map/mixin.heatmap-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.mapillary-layers.js +25 -40
- package/lib/map/client/mixins/map/mixin.mapillary-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.tiled-mesh-layers.js +5 -3
- package/lib/map/client/mixins/map/mixin.tiled-mesh-layers.js.map +1 -1
- package/lib/map/client/mixins/map/mixin.tiled-wind-layers.js +5 -3
- package/lib/map/client/mixins/map/mixin.tiled-wind-layers.js.map +1 -1
- package/lib/map/client/mixins/mixin.activity.js +60 -68
- package/lib/map/client/mixins/mixin.activity.js.map +1 -1
- package/lib/map/client/mixins/mixin.feature-selection.js +8 -10
- package/lib/map/client/mixins/mixin.feature-selection.js.map +1 -1
- package/lib/map/client/mixins/mixin.feature-service.js +7 -5
- package/lib/map/client/mixins/mixin.feature-service.js.map +1 -1
- package/lib/map/client/mixins/mixin.weacast.js +6 -4
- package/lib/map/client/mixins/mixin.weacast.js.map +1 -1
- package/lib/map/client/pixi-utils.js +9 -0
- package/lib/map/client/pixi-utils.js.map +1 -1
- package/lib/map/client/utils.js +50 -0
- package/lib/map/client/utils.js.map +1 -1
- package/lib/map/common/wfs-utils.js +1 -1
- package/lib/map/common/wfs-utils.js.map +1 -1
- package/lib/map/common/wmts-utils.js +31 -7
- package/lib/map/common/wmts-utils.js.map +1 -1
- package/lib/test/client/core/account.js +100 -0
- package/lib/test/client/core/account.js.map +1 -0
- package/lib/test/client/core/api.js +400 -0
- package/lib/test/client/core/api.js.map +1 -0
- package/lib/test/client/core/collection.js +109 -0
- package/lib/test/client/core/collection.js.map +1 -0
- package/lib/test/client/core/index.js +90 -0
- package/lib/test/client/core/index.js.map +1 -0
- package/lib/test/client/core/layout.js +221 -0
- package/lib/test/client/core/layout.js.map +1 -0
- package/lib/test/client/core/runner.js +204 -0
- package/lib/test/client/core/runner.js.map +1 -0
- package/lib/test/client/core/screens.js +68 -0
- package/lib/test/client/core/screens.js.map +1 -0
- package/lib/test/client/core/utils.js +304 -0
- package/lib/test/client/core/utils.js.map +1 -0
- package/lib/test/client/index.js +20 -0
- package/lib/test/client/index.js.map +1 -0
- package/lib/test/client/map/catalog.js +191 -0
- package/lib/test/client/map/catalog.js.map +1 -0
- package/lib/test/client/map/controls.js +54 -0
- package/lib/test/client/map/controls.js.map +1 -0
- package/lib/test/client/map/index.js +30 -0
- package/lib/test/client/map/index.js.map +1 -0
- package/package.json +17 -9
- package/test.client.js +1 -0
- package/tests/core/test-log-2021-07-15.log +71 -0
- package/tests/core/test-log-2021-09-02.log +47 -0
- package/tests/map/test-log-%DATE%.logYYYY-07-DD +12 -0
- package/tests/map/test-log-%DATE%.logYYYY-09-DD +6 -0
- package/tests/map/test-log-2021-07-12.log +12 -0
- package/tests/map/test-log-2021-07-15.log +5 -0
- package/tests/map/test-log-2021-09-02.log +3 -0
- package/.nyc_output/11cd93d8-69cb-405c-98a3-d249ea35b6da.json +0 -1
- package/.nyc_output/2bece194-92f7-4971-a688-10604044a7fa.json +0 -1
- package/.nyc_output/5ddee33e-b658-4c8e-a247-54f575ac67e8.json +0 -1
- package/.nyc_output/78760ae4-555f-4d9c-a6a1-acf5e2f0fe45.json +0 -1
- package/.nyc_output/d0bb2559-084e-4c92-b9e6-29a9abd41f7c.json +0 -1
- package/.nyc_output/processinfo/0b8aa700-8daa-49ce-85e7-a8f8965d55f0.json +0 -1
- package/.nyc_output/processinfo/11cd93d8-69cb-405c-98a3-d249ea35b6da.json +0 -1
- package/.nyc_output/processinfo/20df4355-911a-4b16-a8ab-d3392e9f0a7f.json +0 -1
- package/.nyc_output/processinfo/257af0bb-96c3-465a-b5ef-a1df60078d5f.json +0 -1
- package/.nyc_output/processinfo/284aebfa-23fd-425f-9d72-e4b8904dc224.json +0 -1
- package/.nyc_output/processinfo/5cbee06e-be6e-468a-bd78-4793ee785fe4.json +0 -1
- package/.nyc_output/processinfo/5ddee33e-b658-4c8e-a247-54f575ac67e8.json +0 -1
- package/.nyc_output/processinfo/78760ae4-555f-4d9c-a6a1-acf5e2f0fe45.json +0 -1
- package/.nyc_output/processinfo/d0bb2559-084e-4c92-b9e6-29a9abd41f7c.json +0 -1
- package/lib/core/client/components/frame/KLabel.vue +0 -56
- package/lib/core/client/components/team/KTagsPane.vue +0 -35
- package/lib/map/client/leaflet/TiledMapillaryLayer.js +0 -137
- package/lib/map/client/leaflet/TiledMapillaryLayer.js.map +0 -1
- package/lib/map/client/mixins/mixin.time.js +0 -73
- package/lib/map/client/mixins/mixin.time.js.map +0 -1
- package/tests/core/account.test.js +0 -415
- package/tests/core/client.test.js.skip +0 -37
- package/tests/core/config/default.js +0 -97
- package/tests/core/config/email-templates/confirmInvitation/html.ejs +0 -18
- package/tests/core/config/email-templates/identityChange/html.ejs +0 -12
- package/tests/core/config/email-templates/newDevice/html.ejs +0 -7
- package/tests/core/config/email-templates/passwordChange/html.ejs +0 -5
- package/tests/core/config/email-templates/resendVerifySignup/html.ejs +0 -10
- package/tests/core/config/email-templates/resetPwd/html.ejs +0 -5
- package/tests/core/config/email-templates/sendResetPwd/html.ejs +0 -8
- package/tests/core/config/email-templates/verifySignup/html.ejs +0 -3
- package/tests/core/data/10k_most_common_passwords.txt +0 -10000
- package/tests/core/data/logo.png +0 -0
- package/tests/core/hooks.test.js +0 -175
- package/tests/core/index.test.js +0 -418
- package/tests/core/notifications.test.js +0 -465
- package/tests/core/storage.test.js +0 -134
- package/tests/core/team.test.js +0 -610
- package/tests/core/utils.js +0 -59
- package/tests/map/alerts.test.js +0 -554
- package/tests/map/config/default.js +0 -112
- package/tests/map/config/layers.json +0 -37
- package/tests/map/daptiles.test.js +0 -41
- package/tests/map/data/DescribeCoverage.xml +0 -55
- package/tests/map/data/GetCoverage.tif +0 -0
- package/tests/map/data/adsb.observations.json +0 -132
- package/tests/map/data/dataset.grb.das +0 -55
- package/tests/map/data/dataset.grb.dds +0 -17
- package/tests/map/data/dataset.grb.dods +0 -0
- package/tests/map/data/lat_lon_bounds.grb.dods +0 -0
- package/tests/map/data/subdataset.grb.dods +0 -0
- package/tests/map/data/vigicrues.observations.json +0 -47042
- package/tests/map/data/vigicrues.stations.json +0 -15422
- package/tests/map/data/zones.json +0 -1228
- package/tests/map/grid-sources.test.js +0 -304
- package/tests/map/hooks.test.js +0 -96
- package/tests/map/index.test.js +0 -333
|
@@ -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/72</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/34</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/8</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/67</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>
|
|
@@ -228,157 +228,157 @@
|
|
|
228
228
|
<a name='L169'></a><a href='#L169'>169</a>
|
|
229
229
|
<a name='L170'></a><a href='#L170'>170</a>
|
|
230
230
|
<a name='L171'></a><a href='#L171'>171</a>
|
|
231
|
-
<a name='L172'></a><a href='#L172'>172</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
232
|
-
<span class="cline-any cline-yes">1x</span>
|
|
233
|
-
<span class="cline-any cline-yes">1x</span>
|
|
234
|
-
<span class="cline-any cline-yes">1x</span>
|
|
235
|
-
<span class="cline-any cline-yes">1x</span>
|
|
236
|
-
<span class="cline-any cline-yes">1x</span>
|
|
237
|
-
<span class="cline-any cline-yes">1x</span>
|
|
238
|
-
<span class="cline-any cline-yes">1x</span>
|
|
231
|
+
<a name='L172'></a><a href='#L172'>172</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
239
232
|
<span class="cline-any cline-neutral"> </span>
|
|
240
233
|
<span class="cline-any cline-neutral"> </span>
|
|
241
|
-
<span class="cline-any cline-yes">1x</span>
|
|
242
234
|
<span class="cline-any cline-neutral"> </span>
|
|
243
235
|
<span class="cline-any cline-neutral"> </span>
|
|
244
|
-
<span class="cline-any cline-yes">12x</span>
|
|
245
|
-
<span class="cline-any cline-yes">6x</span>
|
|
246
|
-
<span class="cline-any cline-yes">6x</span>
|
|
247
|
-
<span class="cline-any cline-yes">8x</span>
|
|
248
|
-
<span class="cline-any cline-yes">6x</span>
|
|
249
|
-
<span class="cline-any cline-yes">6x</span>
|
|
250
|
-
<span class="cline-any cline-yes">6x</span>
|
|
251
236
|
<span class="cline-any cline-neutral"> </span>
|
|
252
237
|
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-
|
|
254
|
-
<span class="cline-any cline-
|
|
255
|
-
<span class="cline-any cline-yes">6x</span>
|
|
256
|
-
<span class="cline-any cline-yes">6x</span>
|
|
257
|
-
<span class="cline-any cline-yes">6x</span>
|
|
258
|
-
<span class="cline-any cline-yes">6x</span>
|
|
259
|
-
<span class="cline-any cline-yes">6x</span>
|
|
238
|
+
<span class="cline-any cline-no"> </span>
|
|
239
|
+
<span class="cline-any cline-neutral"> </span>
|
|
260
240
|
<span class="cline-any cline-neutral"> </span>
|
|
241
|
+
<span class="cline-any cline-no"> </span>
|
|
261
242
|
<span class="cline-any cline-neutral"> </span>
|
|
262
243
|
<span class="cline-any cline-neutral"> </span>
|
|
263
|
-
<span class="cline-any cline-
|
|
244
|
+
<span class="cline-any cline-neutral"> </span>
|
|
245
|
+
<span class="cline-any cline-no"> </span>
|
|
246
|
+
<span class="cline-any cline-no"> </span>
|
|
247
|
+
<span class="cline-any cline-no"> </span>
|
|
248
|
+
<span class="cline-any cline-no"> </span>
|
|
249
|
+
<span class="cline-any cline-no"> </span>
|
|
250
|
+
<span class="cline-any cline-no"> </span>
|
|
264
251
|
<span class="cline-any cline-neutral"> </span>
|
|
265
252
|
<span class="cline-any cline-neutral"> </span>
|
|
266
|
-
<span class="cline-any cline-yes">14x</span>
|
|
267
|
-
<span class="cline-any cline-yes">7x</span>
|
|
268
253
|
<span class="cline-any cline-neutral"> </span>
|
|
269
|
-
<span class="cline-any cline-
|
|
270
|
-
<span class="cline-any cline-
|
|
271
|
-
<span class="cline-any cline-
|
|
254
|
+
<span class="cline-any cline-no"> </span>
|
|
255
|
+
<span class="cline-any cline-no"> </span>
|
|
256
|
+
<span class="cline-any cline-no"> </span>
|
|
257
|
+
<span class="cline-any cline-no"> </span>
|
|
258
|
+
<span class="cline-any cline-no"> </span>
|
|
272
259
|
<span class="cline-any cline-no"> </span>
|
|
273
260
|
<span class="cline-any cline-neutral"> </span>
|
|
274
261
|
<span class="cline-any cline-neutral"> </span>
|
|
275
262
|
<span class="cline-any cline-neutral"> </span>
|
|
263
|
+
<span class="cline-any cline-no"> </span>
|
|
276
264
|
<span class="cline-any cline-neutral"> </span>
|
|
277
265
|
<span class="cline-any cline-neutral"> </span>
|
|
278
266
|
<span class="cline-any cline-neutral"> </span>
|
|
279
|
-
<span class="cline-any cline-
|
|
267
|
+
<span class="cline-any cline-no"> </span>
|
|
280
268
|
<span class="cline-any cline-neutral"> </span>
|
|
269
|
+
<span class="cline-any cline-no"> </span>
|
|
270
|
+
<span class="cline-any cline-no"> </span>
|
|
271
|
+
<span class="cline-any cline-no"> </span>
|
|
272
|
+
<span class="cline-any cline-no"> </span>
|
|
281
273
|
<span class="cline-any cline-neutral"> </span>
|
|
282
274
|
<span class="cline-any cline-neutral"> </span>
|
|
283
275
|
<span class="cline-any cline-neutral"> </span>
|
|
284
276
|
<span class="cline-any cline-neutral"> </span>
|
|
285
277
|
<span class="cline-any cline-neutral"> </span>
|
|
286
278
|
<span class="cline-any cline-neutral"> </span>
|
|
279
|
+
<span class="cline-any cline-no"> </span>
|
|
287
280
|
<span class="cline-any cline-neutral"> </span>
|
|
288
281
|
<span class="cline-any cline-neutral"> </span>
|
|
289
282
|
<span class="cline-any cline-neutral"> </span>
|
|
290
283
|
<span class="cline-any cline-neutral"> </span>
|
|
291
|
-
<span class="cline-any cline-yes">7x</span>
|
|
292
284
|
<span class="cline-any cline-neutral"> </span>
|
|
293
285
|
<span class="cline-any cline-neutral"> </span>
|
|
294
286
|
<span class="cline-any cline-neutral"> </span>
|
|
295
287
|
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-yes">7x</span>
|
|
297
|
-
<span class="cline-any cline-yes">1x</span>
|
|
298
288
|
<span class="cline-any cline-neutral"> </span>
|
|
299
289
|
<span class="cline-any cline-neutral"> </span>
|
|
300
290
|
<span class="cline-any cline-neutral"> </span>
|
|
291
|
+
<span class="cline-any cline-no"> </span>
|
|
292
|
+
<span class="cline-any cline-neutral"> </span>
|
|
293
|
+
<span class="cline-any cline-neutral"> </span>
|
|
294
|
+
<span class="cline-any cline-neutral"> </span>
|
|
295
|
+
<span class="cline-any cline-neutral"> </span>
|
|
296
|
+
<span class="cline-any cline-no"> </span>
|
|
297
|
+
<span class="cline-any cline-no"> </span>
|
|
301
298
|
<span class="cline-any cline-neutral"> </span>
|
|
302
299
|
<span class="cline-any cline-neutral"> </span>
|
|
303
300
|
<span class="cline-any cline-neutral"> </span>
|
|
304
|
-
<span class="cline-any cline-yes">6x</span>
|
|
305
301
|
<span class="cline-any cline-neutral"> </span>
|
|
306
302
|
<span class="cline-any cline-neutral"> </span>
|
|
307
|
-
<span class="cline-any cline-yes">14x</span>
|
|
308
|
-
<span class="cline-any cline-yes">7x</span>
|
|
309
303
|
<span class="cline-any cline-neutral"> </span>
|
|
310
|
-
<span class="cline-any cline-yes">7x</span>
|
|
311
|
-
<span class="cline-any cline-yes">7x</span>
|
|
312
|
-
<span class="cline-any cline-yes">7x</span>
|
|
313
304
|
<span class="cline-any cline-no"> </span>
|
|
314
305
|
<span class="cline-any cline-neutral"> </span>
|
|
315
306
|
<span class="cline-any cline-neutral"> </span>
|
|
316
307
|
<span class="cline-any cline-neutral"> </span>
|
|
308
|
+
<span class="cline-any cline-no"> </span>
|
|
309
|
+
<span class="cline-any cline-neutral"> </span>
|
|
310
|
+
<span class="cline-any cline-no"> </span>
|
|
311
|
+
<span class="cline-any cline-no"> </span>
|
|
312
|
+
<span class="cline-any cline-no"> </span>
|
|
313
|
+
<span class="cline-any cline-no"> </span>
|
|
317
314
|
<span class="cline-any cline-neutral"> </span>
|
|
318
315
|
<span class="cline-any cline-neutral"> </span>
|
|
319
316
|
<span class="cline-any cline-neutral"> </span>
|
|
320
|
-
<span class="cline-any cline-yes">7x</span>
|
|
321
317
|
<span class="cline-any cline-neutral"> </span>
|
|
322
318
|
<span class="cline-any cline-neutral"> </span>
|
|
323
319
|
<span class="cline-any cline-neutral"> </span>
|
|
320
|
+
<span class="cline-any cline-no"> </span>
|
|
321
|
+
<span class="cline-any cline-neutral"> </span>
|
|
324
322
|
<span class="cline-any cline-neutral"> </span>
|
|
325
323
|
<span class="cline-any cline-neutral"> </span>
|
|
326
|
-
<span class="cline-any cline-yes">7x</span>
|
|
327
|
-
<span class="cline-any cline-yes">7x</span>
|
|
328
324
|
<span class="cline-any cline-neutral"> </span>
|
|
325
|
+
<span class="cline-any cline-neutral"> </span>
|
|
326
|
+
<span class="cline-any cline-no"> </span>
|
|
329
327
|
<span class="cline-any cline-no"> </span>
|
|
330
328
|
<span class="cline-any cline-neutral"> </span>
|
|
329
|
+
<span class="cline-any cline-no"> </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-
|
|
334
|
-
<span class="cline-any cline-
|
|
335
|
-
<span class="cline-any cline-
|
|
332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
333
|
+
<span class="cline-any cline-no"> </span>
|
|
334
|
+
<span class="cline-any cline-no"> </span>
|
|
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
340
|
<span class="cline-any cline-neutral"> </span>
|
|
341
341
|
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-
|
|
343
|
-
<span class="cline-any cline-
|
|
342
|
+
<span class="cline-any cline-no"> </span>
|
|
343
|
+
<span class="cline-any cline-no"> </span>
|
|
344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
344
345
|
<span class="cline-any cline-neutral"> </span>
|
|
345
346
|
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-
|
|
347
|
-
<span class="cline-any cline-
|
|
348
|
-
<span class="cline-any cline-yes">14x</span>
|
|
347
|
+
<span class="cline-any cline-no"> </span>
|
|
348
|
+
<span class="cline-any cline-no"> </span>
|
|
349
349
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-
|
|
350
|
+
<span class="cline-any cline-no"> </span>
|
|
351
351
|
<span class="cline-any cline-no"> </span>
|
|
352
352
|
<span class="cline-any cline-no"> </span>
|
|
353
353
|
<span class="cline-any cline-neutral"> </span>
|
|
354
354
|
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-
|
|
356
|
-
<span class="cline-any cline-
|
|
355
|
+
<span class="cline-any cline-no"> </span>
|
|
356
|
+
<span class="cline-any cline-no"> </span>
|
|
357
357
|
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-
|
|
359
|
-
<span class="cline-any cline-
|
|
360
|
-
<span class="cline-any cline-
|
|
358
|
+
<span class="cline-any cline-no"> </span>
|
|
359
|
+
<span class="cline-any cline-no"> </span>
|
|
360
|
+
<span class="cline-any cline-no"> </span>
|
|
361
361
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-
|
|
363
|
-
<span class="cline-any cline-
|
|
364
|
-
<span class="cline-any cline-
|
|
365
|
-
<span class="cline-any cline-
|
|
362
|
+
<span class="cline-any cline-no"> </span>
|
|
363
|
+
<span class="cline-any cline-no"> </span>
|
|
364
|
+
<span class="cline-any cline-no"> </span>
|
|
365
|
+
<span class="cline-any cline-no"> </span>
|
|
366
366
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-
|
|
368
|
-
<span class="cline-any cline-
|
|
367
|
+
<span class="cline-any cline-no"> </span>
|
|
368
|
+
<span class="cline-any cline-no"> </span>
|
|
369
369
|
<span class="cline-any cline-neutral"> </span>
|
|
370
370
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-
|
|
371
|
+
<span class="cline-any cline-no"> </span>
|
|
372
372
|
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-
|
|
373
|
+
<span class="cline-any cline-no"> </span>
|
|
374
374
|
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-
|
|
376
|
-
<span class="cline-any cline-
|
|
375
|
+
<span class="cline-any cline-no"> </span>
|
|
376
|
+
<span class="cline-any cline-no"> </span>
|
|
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-
|
|
380
|
+
<span class="cline-any cline-no"> </span>
|
|
381
|
+
<span class="cline-any cline-no"> </span>
|
|
382
382
|
<span class="cline-any cline-neutral"> </span>
|
|
383
383
|
<span class="cline-any cline-neutral"> </span>
|
|
384
384
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -389,14 +389,14 @@
|
|
|
389
389
|
<span class="cline-any cline-neutral"> </span>
|
|
390
390
|
<span class="cline-any cline-neutral"> </span>
|
|
391
391
|
<span class="cline-any cline-neutral"> </span>
|
|
392
|
-
<span class="cline-any cline-
|
|
392
|
+
<span class="cline-any cline-no"> </span>
|
|
393
393
|
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-
|
|
395
|
-
<span class="cline-any cline-
|
|
396
|
-
<span class="cline-any cline-
|
|
397
|
-
<span class="cline-any cline-
|
|
394
|
+
<span class="cline-any cline-no"> </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
398
|
<span class="cline-any cline-neutral"> </span>
|
|
399
|
-
<span class="cline-any cline-
|
|
399
|
+
<span class="cline-any cline-no"> </span>
|
|
400
400
|
<span class="cline-any cline-neutral"> </span>
|
|
401
401
|
<span class="cline-any cline-neutral"> </span>
|
|
402
402
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import _ from 'lodash'
|
|
@@ -406,48 +406,48 @@ import request from 'superagent'
|
|
|
406
406
|
import { CronJob } from 'cron'
|
|
407
407
|
import { Unprocessable } from '@feathersjs/errors'
|
|
408
408
|
import makeDebug from 'debug'
|
|
409
|
-
const debug = makeDebug('kdk:map:alerts:service')
|
|
409
|
+
const debug = <span class="cstat-no" title="statement not covered" >makeDebug('kdk:map:alerts:service')</span>
|
|
410
410
|
|
|
411
411
|
// Alert map
|
|
412
|
-
const alerts = {}
|
|
412
|
+
const alerts = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
413
413
|
|
|
414
414
|
export default {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
debug('Registering new alert ', alert)
|
|
418
|
-
const cronJob = new CronJob(alert.cron, () => this.checkAlert(alert))
|
|
419
|
-
alerts[alert._id.toString()] = cronJob
|
|
420
|
-
|
|
421
|
-
cronJob.start()
|
|
415
|
+
<span class="fstat-no" title="function not covered" > as</span>ync registerAlert (alert, check = <span class="branch-0 cbranch-no" title="branch not covered" >true)</span> {
|
|
416
|
+
<span class="cstat-no" title="statement not covered" > if (alerts[alert._id.toString()]) <span class="cstat-no" title="statement not covered" >return</span></span>
|
|
417
|
+
<span class="cstat-no" title="statement not covered" > debug('Registering new alert ', alert)</span>
|
|
418
|
+
const cronJob = <span class="cstat-no" title="statement not covered" >new CronJob(alert.cron, <span class="fstat-no" title="function not covered" >()</span> => <span class="cstat-no" title="statement not covered" >this.checkAlert(alert))</span></span>
|
|
419
|
+
<span class="cstat-no" title="statement not covered" > alerts[alert._id.toString()] = cronJob</span>
|
|
420
|
+
<span class="cstat-no" title="statement not covered" > if (check) <span class="cstat-no" title="statement not covered" >await this.checkAlert(alert)</span></span>
|
|
421
|
+
<span class="cstat-no" title="statement not covered" > cronJob.start()</span>
|
|
422
422
|
},
|
|
423
423
|
|
|
424
|
-
|
|
425
|
-
const id = (
|
|
426
|
-
const cronJob = alerts[id.toString()]
|
|
427
|
-
|
|
428
|
-
debug('Unregistering alert ', alert)
|
|
429
|
-
cronJob.stop()
|
|
430
|
-
delete alerts[id.toString()]
|
|
424
|
+
<span class="fstat-no" title="function not covered" > as</span>ync unregisterAlert (alert) {
|
|
425
|
+
const id = (<span class="cstat-no" title="statement not covered" >typeof alert === 'string' ? alert : alert._id)</span>
|
|
426
|
+
const cronJob = <span class="cstat-no" title="statement not covered" >alerts[id.toString()]</span>
|
|
427
|
+
<span class="cstat-no" title="statement not covered" > if (!cronJob) <span class="cstat-no" title="statement not covered" >return</span></span>
|
|
428
|
+
<span class="cstat-no" title="statement not covered" > debug('Unregistering alert ', alert)</span>
|
|
429
|
+
<span class="cstat-no" title="statement not covered" > cronJob.stop()</span>
|
|
430
|
+
<span class="cstat-no" title="statement not covered" > delete alerts[id.toString()]</span>
|
|
431
431
|
},
|
|
432
432
|
|
|
433
|
-
|
|
434
|
-
return _.mapKeys(alert.conditions, (
|
|
433
|
+
<span class="fstat-no" title="function not covered" > ge</span>tConditions (alert) {
|
|
434
|
+
<span class="cstat-no" title="statement not covered" > return _.mapKeys(alert.conditions, <span class="fstat-no" title="function not covered" >(v</span>alue, key) => <span class="cstat-no" title="statement not covered" >'properties.' + key)</span></span>
|
|
435
435
|
},
|
|
436
436
|
|
|
437
|
-
|
|
438
|
-
const now = moment.utc()
|
|
437
|
+
<span class="fstat-no" title="function not covered" > as</span>ync checkWeatherAlert (alert) {
|
|
438
|
+
const now = <span class="cstat-no" title="statement not covered" >moment.utc()</span>
|
|
439
439
|
// Convert conditions to internal data model
|
|
440
|
-
const conditions = this.getConditions(alert)
|
|
441
|
-
const probesService = this.app.getService('probes')
|
|
442
|
-
|
|
443
|
-
<span class="cstat-no" title="statement not covered" > throw
|
|
440
|
+
const conditions = <span class="cstat-no" title="statement not covered" >this.getConditions(alert)</span>
|
|
441
|
+
const probesService = <span class="cstat-no" title="statement not covered" >this.app.getService('probes')</span>
|
|
442
|
+
<span class="cstat-no" title="statement not covered" > if (!probesService) {</span>
|
|
443
|
+
<span class="cstat-no" title="statement not covered" > throw new Unprocessable('Cannot check alert ' + alert._id.toString() + ' as target probes service is not available', {</span>
|
|
444
444
|
translation: {
|
|
445
445
|
key: 'CANNOT_CHECK_ALERT_MISSING_SERVICE'
|
|
446
446
|
}
|
|
447
447
|
})
|
|
448
448
|
}
|
|
449
449
|
// Perform aggregation over time range
|
|
450
|
-
const query = Object.assign({
|
|
450
|
+
const query = <span class="cstat-no" title="statement not covered" >Object.assign({</span>
|
|
451
451
|
forecastTime: {
|
|
452
452
|
$gte: now.clone().add(_.get(alert, 'period.start', { seconds: 0 })).toDate(),
|
|
453
453
|
$lte: now.clone().add(_.get(alert, 'period.end', { seconds: 24 * 3600 })).toDate()
|
|
@@ -459,97 +459,97 @@ export default {
|
|
|
459
459
|
},
|
|
460
460
|
aggregate: false
|
|
461
461
|
})
|
|
462
|
-
const result = await probesService.create({
|
|
462
|
+
const result = <span class="cstat-no" title="statement not covered" >await probesService.create({</span>
|
|
463
463
|
forecast: alert.forecast,
|
|
464
464
|
elements: alert.elements
|
|
465
465
|
}, { query })
|
|
466
466
|
// Check for available data so that we will not close an alert because data is missing
|
|
467
|
-
if (result.features.length === 0) {
|
|
468
|
-
throw new Unprocessable('Cannot check alert ' + alert._id.toString() + ' as no data is available for ' + alert.forecast, {
|
|
467
|
+
<span class="cstat-no" title="statement not covered" > if (result.features.length === 0) {</span>
|
|
468
|
+
<span class="cstat-no" title="statement not covered" > throw new Unprocessable('Cannot check alert ' + alert._id.toString() + ' as no data is available for ' + alert.forecast, {</span>
|
|
469
469
|
translation: {
|
|
470
470
|
key: 'CANNOT_CHECK_ALERT_MISSING_DATA'
|
|
471
471
|
}
|
|
472
472
|
})
|
|
473
473
|
}
|
|
474
474
|
// Let sift performs condition matching as in this case MongoDB cannot
|
|
475
|
-
return result.features.filter(sift(conditions))
|
|
475
|
+
<span class="cstat-no" title="statement not covered" > return result.features.filter(sift(conditions))</span>
|
|
476
476
|
},
|
|
477
477
|
|
|
478
|
-
|
|
479
|
-
const now = moment.utc()
|
|
478
|
+
<span class="fstat-no" title="function not covered" > as</span>ync checkMeasureAlert (alert) {
|
|
479
|
+
const now = <span class="cstat-no" title="statement not covered" >moment.utc()</span>
|
|
480
480
|
// Convert conditions to internal data model
|
|
481
|
-
const conditions = this.getConditions(alert)
|
|
482
|
-
const featureService = this.app.getService(_.get(alert, 'layer.service'))
|
|
483
|
-
|
|
484
|
-
<span class="cstat-no" title="statement not covered" > throw
|
|
481
|
+
const conditions = <span class="cstat-no" title="statement not covered" >this.getConditions(alert)</span>
|
|
482
|
+
const featureService = <span class="cstat-no" title="statement not covered" >this.app.getService(_.get(alert, 'layer.service'))</span>
|
|
483
|
+
<span class="cstat-no" title="statement not covered" > if (!featureService) {</span>
|
|
484
|
+
<span class="cstat-no" title="statement not covered" > throw new Unprocessable('Cannot check alert ' + alert._id.toString() + ' as target features service ' + _.get(alert, 'layer.service') + ' is not available', {</span>
|
|
485
485
|
translation: {
|
|
486
486
|
key: 'CANNOT_CHECK_ALERT_MISSING_SERVICE'
|
|
487
487
|
}
|
|
488
488
|
})
|
|
489
489
|
}
|
|
490
490
|
// Build base query for time range and target feature
|
|
491
|
-
const query = {
|
|
491
|
+
const query = <span class="cstat-no" title="statement not covered" >{</span>
|
|
492
492
|
time: {
|
|
493
493
|
$gte: now.clone().add(_.get(alert, 'period.start', { seconds: 0 })).toDate(),
|
|
494
494
|
$lte: now.clone().add(_.get(alert, 'period.end', { seconds: 24 * 3600 })).toDate()
|
|
495
495
|
}
|
|
496
496
|
}
|
|
497
|
-
|
|
498
|
-
query['properties.' + _.get(alert, 'layer.featureId')] = alert.feature
|
|
497
|
+
<span class="cstat-no" title="statement not covered" > if (_.has(alert, 'layer.featureId')) {</span>
|
|
498
|
+
<span class="cstat-no" title="statement not covered" > query['properties.' + _.get(alert, 'layer.featureId')] = alert.feature</span>
|
|
499
499
|
} else {
|
|
500
|
-
<span class="cstat-no" title="statement not covered" > query.
|
|
500
|
+
<span class="cstat-no" title="statement not covered" > query._id = alert.feature</span>
|
|
501
501
|
}
|
|
502
502
|
// Check for available data so that we will not close an alert because data is missing
|
|
503
503
|
// $limit = 0 performs a simple count query
|
|
504
|
-
let result = await featureService.find({ query: Object.assign({ $limit: 0 }, query) })
|
|
505
|
-
if (result.total === 0) {
|
|
506
|
-
throw new Unprocessable('Cannot check alert ' + alert._id.toString() + ' as no data is available for features service ' + _.get(alert, 'layer.service'), {
|
|
504
|
+
let result = <span class="cstat-no" title="statement not covered" >await featureService.find({ query: Object.assign({ $limit: 0 }, query) })</span>
|
|
505
|
+
<span class="cstat-no" title="statement not covered" > if (result.total === 0) {</span>
|
|
506
|
+
<span class="cstat-no" title="statement not covered" > throw new Unprocessable('Cannot check alert ' + alert._id.toString() + ' as no data is available for features service ' + _.get(alert, 'layer.service'), {</span>
|
|
507
507
|
translation: {
|
|
508
508
|
key: 'CANNOT_CHECK_ALERT_MISSING_DATA'
|
|
509
509
|
}
|
|
510
510
|
})
|
|
511
511
|
}
|
|
512
512
|
// Perform aggregation over time range
|
|
513
|
-
result = await featureService.find({ query: Object.assign(query, conditions) })
|
|
514
|
-
return result.features
|
|
513
|
+
<span class="cstat-no" title="statement not covered" > result = await featureService.find({ query: Object.assign(query, conditions) })</span>
|
|
514
|
+
<span class="cstat-no" title="statement not covered" > return result.features</span>
|
|
515
515
|
},
|
|
516
516
|
|
|
517
|
-
|
|
518
|
-
const now = moment.utc()
|
|
519
|
-
debug('Checking alert at ' + now.format(), _.omit(alert, ['status', 'webhook']))
|
|
517
|
+
<span class="fstat-no" title="function not covered" > as</span>ync checkAlert (alert, options = <span class="branch-0 cbranch-no" title="branch not covered" >{ patch: true, callWebhook: true })</span> {
|
|
518
|
+
const now = <span class="cstat-no" title="statement not covered" >moment.utc()</span>
|
|
519
|
+
<span class="cstat-no" title="statement not covered" > debug('Checking alert at ' + now.format(), _.omit(alert, ['status', 'webhook']))</span>
|
|
520
520
|
// First check if still valid
|
|
521
|
-
|
|
522
|
-
<span class="cstat-no" title="statement not covered" > await
|
|
521
|
+
<span class="cstat-no" title="statement not covered" > if (now.isAfter(alert.expireAt)) {</span>
|
|
522
|
+
<span class="cstat-no" title="statement not covered" > await this.unregisterAlert(alert)</span>
|
|
523
523
|
<span class="cstat-no" title="statement not covered" > return</span>
|
|
524
524
|
}
|
|
525
525
|
// Then update alert status starting from previous one (i.e. trigger time stamp, etc.)
|
|
526
|
-
const status = _.get(alert, 'status', {})
|
|
527
|
-
status.checkedAt = now.clone()
|
|
526
|
+
const status = <span class="cstat-no" title="statement not covered" >_.get(alert, 'status', {})</span>
|
|
527
|
+
<span class="cstat-no" title="statement not covered" > status.checkedAt = now.clone()</span>
|
|
528
528
|
// Clean any error state
|
|
529
|
-
delete status.error
|
|
530
|
-
try {
|
|
531
|
-
const results = (alert.feature ? await this.checkMeasureAlert(alert) : await this.checkWeatherAlert(alert))
|
|
529
|
+
<span class="cstat-no" title="statement not covered" > delete status.error</span>
|
|
530
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
531
|
+
const results = (<span class="cstat-no" title="statement not covered" >alert.feature ? await this.checkMeasureAlert(alert) : await this.checkWeatherAlert(alert))</span>
|
|
532
532
|
// FIXME: check for a specific duration where conditions are met
|
|
533
|
-
const isActive = (results.length > 0)
|
|
534
|
-
const wasActive = status.active
|
|
535
|
-
status.active = isActive
|
|
536
|
-
if (isActive) {
|
|
533
|
+
const isActive = (<span class="cstat-no" title="statement not covered" >results.length > 0)</span>
|
|
534
|
+
const wasActive = <span class="cstat-no" title="statement not covered" >status.active</span>
|
|
535
|
+
<span class="cstat-no" title="statement not covered" > status.active = isActive</span>
|
|
536
|
+
<span class="cstat-no" title="statement not covered" > if (isActive) {</span>
|
|
537
537
|
// If not previously active and it is now add first time stamp
|
|
538
|
-
if (!wasActive) {
|
|
539
|
-
status.triggeredAt = now.clone()
|
|
538
|
+
<span class="cstat-no" title="statement not covered" > if (!wasActive) {</span>
|
|
539
|
+
<span class="cstat-no" title="statement not covered" > status.triggeredAt = now.clone()</span>
|
|
540
540
|
}
|
|
541
541
|
// Update triggers
|
|
542
|
-
status.triggers = results
|
|
542
|
+
<span class="cstat-no" title="statement not covered" > status.triggers = results</span>
|
|
543
543
|
}
|
|
544
|
-
debug('Alert ' + alert._id.toString() + ' status', status, ' with ' + results.length + ' triggers')
|
|
544
|
+
<span class="cstat-no" title="statement not covered" > debug('Alert ' + alert._id.toString() + ' status', status, ' with ' + results.length + ' triggers')</span>
|
|
545
545
|
} catch (error) { // Possible if no data
|
|
546
|
-
this.app.logger.error(error.message)
|
|
547
|
-
status.error = error.toJSON()
|
|
546
|
+
<span class="cstat-no" title="statement not covered" > this.app.logger.error(error.message)</span>
|
|
547
|
+
<span class="cstat-no" title="statement not covered" > status.error = error.toJSON()</span>
|
|
548
548
|
}
|
|
549
549
|
|
|
550
550
|
// As we keep in-memory objects avoid them being mutated by hooks processing operation payload
|
|
551
|
-
|
|
552
|
-
await this.patch(alert._id.toString(), { status: Object.assign({}, status) })
|
|
551
|
+
<span class="cstat-no" title="statement not covered" > if (options.patch) {</span>
|
|
552
|
+
<span class="cstat-no" title="statement not covered" > await this.patch(alert._id.toString(), { status: Object.assign({}, status) })</span>
|
|
553
553
|
// DEBUG code to simulate alert closing
|
|
554
554
|
/*
|
|
555
555
|
setTimeout(async () => {
|
|
@@ -560,14 +560,14 @@ export default {
|
|
|
560
560
|
*/
|
|
561
561
|
}
|
|
562
562
|
// Keep track of changes in memory as well
|
|
563
|
-
Object.assign(alert, { status })
|
|
563
|
+
<span class="cstat-no" title="statement not covered" > Object.assign(alert, { status })</span>
|
|
564
564
|
// If a webhook is configured call it
|
|
565
|
-
const webhook = alert.webhook
|
|
566
|
-
|
|
567
|
-
const body = Object.assign({ alert: _.omit(alert, ['webhook']) }, _.omit(webhook, ['url']))
|
|
568
|
-
await request.post(webhook.url, body)
|
|
565
|
+
const webhook = <span class="cstat-no" title="statement not covered" >alert.webhook</span>
|
|
566
|
+
<span class="cstat-no" title="statement not covered" > if (options.callWebhook && webhook) {</span>
|
|
567
|
+
const body = <span class="cstat-no" title="statement not covered" >Object.assign({ alert: _.omit(alert, ['webhook']) }, _.omit(webhook, ['url']))</span>
|
|
568
|
+
<span class="cstat-no" title="statement not covered" > await request.post(webhook.url, body)</span>
|
|
569
569
|
}
|
|
570
|
-
return alert
|
|
570
|
+
<span class="cstat-no" title="statement not covered" > return alert</span>
|
|
571
571
|
}
|
|
572
572
|
}
|
|
573
573
|
</pre></td></tr></table></pre>
|
|
@@ -577,7 +577,7 @@ export default {
|
|
|
577
577
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
578
578
|
Code coverage generated by
|
|
579
579
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
580
|
-
at
|
|
580
|
+
at Wed Dec 08 2021 20:41:51 GMT+0100 (GMT+01:00)
|
|
581
581
|
</div>
|
|
582
582
|
</div>
|
|
583
583
|
<script src="../../../../prettify.js"></script>
|