@kalisio/kdk 2.6.4 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/api/application.js +2 -4
- package/core/api/authentication.js +2 -3
- package/core/api/db.js +10 -2
- package/core/api/hooks/hooks.authorisations.js +4 -2
- package/core/api/hooks/hooks.push.js +6 -2
- package/core/api/hooks/hooks.query.js +29 -12
- package/core/api/hooks/hooks.users.js +30 -17
- package/core/api/models/configurations.model.mongodb.js +4 -0
- package/core/api/services/authorisations/authorisations.service.js +1 -1
- package/core/api/services/configurations/configurations.hooks.js +33 -0
- package/core/api/services/index.js +41 -7
- package/core/api/services/messages/messages.hooks.js +9 -3
- package/core/client/api.js +14 -1
- package/core/client/capabilities.js +1 -6
- package/core/client/components/KAvatar.vue +24 -20
- package/core/client/components/account/KProfile.vue +10 -71
- package/core/client/components/account/index.js +0 -2
- package/core/client/components/app/KSettings.vue +1 -0
- package/core/client/components/collection/KBoard.vue +4 -3
- package/core/client/components/collection/KCardSection.vue +1 -0
- package/core/client/components/collection/KGrid.vue +2 -0
- package/core/client/components/collection/KTable.vue +5 -1
- package/core/client/components/collection/KTimeLine.vue +9 -1
- package/core/client/components/collection/index.js +0 -2
- package/core/client/components/form/KChipsField.vue +2 -1
- package/core/client/components/form/KEmailField.vue +1 -0
- package/core/client/components/form/KFileField.vue +22 -1
- package/core/client/components/form/KForm.vue +2 -0
- package/core/client/components/form/KItemField.vue +1 -0
- package/core/client/components/form/KNumberField.vue +1 -0
- package/core/client/components/form/KPasswordField.vue +1 -0
- package/core/client/components/form/KPhoneField.vue +1 -0
- package/core/client/components/form/KPropertyItemField.vue +1 -0
- package/core/client/components/form/KResolutionField.vue +1 -0
- package/core/client/components/form/KSelectField.vue +31 -0
- package/core/client/components/form/KTagField.vue +1 -0
- package/core/client/components/form/KTextField.vue +1 -0
- package/core/client/components/form/KTokenField.vue +1 -0
- package/core/client/components/form/KUnitField.vue +1 -0
- package/core/client/components/form/KUrlField.vue +1 -0
- package/core/client/components/graphics/KIcon.vue +3 -4
- package/core/client/components/layout/KPage.vue +1 -0
- package/core/client/components/layout/KWindow.vue +6 -3
- package/core/client/components/messages/KMessageComposer.vue +2 -1
- package/core/client/components/messages/KMessagesTimeLine.vue +1 -1
- package/core/client/components/time/KDate.vue +1 -2
- package/core/client/components/time/KDateTime.vue +11 -11
- package/core/client/components/time/KTime.vue +1 -1
- package/core/client/composables/collection.js +33 -8
- package/core/client/composables/errors.js +1 -1
- package/core/client/composables/layout.js +9 -9
- package/core/client/configurations.js +50 -0
- package/core/client/exporter.js +1 -1
- package/core/client/i18n/core_en.json +6 -39
- package/core/client/i18n/core_fr.json +6 -39
- package/core/client/index.js +2 -0
- package/core/client/layout.js +8 -8
- package/core/client/mixins/mixin.base-activity.js +5 -2
- package/core/client/mixins/mixin.base-field.js +3 -3
- package/core/client/search.js +2 -1
- package/core/client/utils/utils.collection.js +8 -8
- package/core/client/utils/utils.items.js +4 -0
- package/core/client/utils/utils.push.js +3 -3
- package/core/client/utils/utils.session.js +7 -5
- package/core/client/utils/utils.shapes.js +38 -7
- package/core/client/utils/utils.time.js +21 -22
- package/core/common/schemas/users.update-profile.json +3 -2
- package/coverage/core/api/application.js.html +392 -398
- package/coverage/core/api/authentication.js.html +352 -187
- package/coverage/core/api/db.js.html +165 -126
- package/coverage/core/api/hooks/hooks.authentication.js.html +22 -196
- package/coverage/core/api/hooks/hooks.authorisations.js.html +383 -662
- package/coverage/core/api/hooks/hooks.logger.js.html +41 -41
- package/coverage/core/api/hooks/hooks.model.js.html +113 -101
- package/coverage/core/api/hooks/hooks.push.js.html +124 -97
- package/coverage/core/api/hooks/hooks.query.js.html +292 -217
- package/coverage/core/api/hooks/hooks.schemas.js.html +123 -123
- package/coverage/core/api/hooks/hooks.service.js.html +1 -1
- package/coverage/core/api/hooks/hooks.storage.js.html +1 -1
- package/coverage/core/api/hooks/{hooks.groups.js.html → hooks.tags.js.html} +100 -76
- package/coverage/core/api/hooks/hooks.users.js.html +255 -447
- package/coverage/core/api/hooks/index.html +107 -122
- package/coverage/core/api/hooks/index.js.html +4 -10
- package/coverage/core/api/index.html +46 -61
- package/coverage/core/api/index.js.html +9 -9
- package/coverage/core/api/marshall.js.html +9 -9
- package/coverage/core/api/models/{organisations.model.mongodb.js.html → configurations.model.mongodb.js.html} +10 -7
- package/coverage/core/api/models/index.html +35 -50
- package/coverage/core/api/models/messages.model.mongodb.js.html +39 -27
- package/coverage/core/api/models/tags.model.mongodb.js.html +26 -32
- package/coverage/core/api/models/users.model.mongodb.js.html +10 -10
- package/coverage/core/api/services/account/account.hooks.js.html +5 -5
- package/coverage/core/api/services/account/account.service.js.html +127 -127
- package/coverage/core/api/services/account/index.html +22 -22
- package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
- package/coverage/core/api/services/authorisations/authorisations.service.js.html +213 -222
- package/coverage/core/api/services/authorisations/index.html +21 -21
- package/coverage/core/api/services/{organisations/organisations.hooks.js.html → configurations/configurations.hooks.js.html} +16 -10
- package/coverage/core/api/services/{groups → configurations}/index.html +8 -8
- 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/import-export/import-export.hooks.js.html +76 -76
- package/coverage/core/api/services/import-export/import-export.service.js.html +32 -32
- package/coverage/core/api/services/import-export/index.html +32 -32
- package/coverage/core/api/services/index.html +21 -21
- package/coverage/core/api/services/index.js.html +313 -142
- package/coverage/core/api/services/mailer/index.html +32 -32
- package/coverage/core/api/services/mailer/mailer.hooks.js.html +80 -80
- package/coverage/core/api/services/mailer/mailer.service.js.html +32 -32
- package/coverage/core/api/services/messages/index.html +21 -21
- package/coverage/core/api/services/messages/messages.hooks.js.html +112 -76
- package/coverage/core/api/services/push/index.html +32 -32
- package/coverage/core/api/services/push/push.hooks.js.html +80 -80
- package/coverage/core/api/services/push/push.service.js.html +34 -34
- package/coverage/core/api/services/storage/index.html +29 -29
- package/coverage/core/api/services/storage/storage.hooks.js.html +80 -80
- package/coverage/core/api/services/storage/storage.service.js.html +29 -29
- package/coverage/core/api/services/tags/index.html +21 -21
- package/coverage/core/api/services/tags/tags.hooks.js.html +119 -71
- package/coverage/core/api/services/users/index.html +27 -12
- package/coverage/core/api/services/users/users.hooks.js.html +14 -11
- package/coverage/core/api/services/users/users.service.js.html +100 -0
- package/coverage/core/common/errors.js.html +1 -1
- package/coverage/core/common/index.html +42 -27
- package/coverage/core/common/index.js.html +1 -1
- package/coverage/core/common/permissions.js.html +166 -472
- package/coverage/core/common/schema.js.html +4 -4
- package/coverage/core/common/utils.js.html +31 -25
- package/coverage/core/common/utils.offline.js.html +199 -0
- package/coverage/index.html +192 -192
- package/coverage/lcov-report/core/api/application.js.html +392 -398
- package/coverage/lcov-report/core/api/authentication.js.html +352 -187
- package/coverage/lcov-report/core/api/db.js.html +165 -126
- package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +22 -196
- package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +383 -662
- package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +41 -41
- package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +113 -101
- package/coverage/lcov-report/core/api/hooks/hooks.push.js.html +124 -97
- package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +292 -217
- package/coverage/lcov-report/core/api/hooks/hooks.schemas.js.html +123 -123
- package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/{hooks.groups.js.html → hooks.tags.js.html} +100 -76
- package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +255 -447
- package/coverage/lcov-report/core/api/hooks/index.html +107 -122
- package/coverage/lcov-report/core/api/hooks/index.js.html +4 -10
- package/coverage/lcov-report/core/api/index.html +46 -61
- package/coverage/lcov-report/core/api/index.js.html +9 -9
- package/coverage/lcov-report/core/api/marshall.js.html +9 -9
- package/coverage/lcov-report/core/api/models/{organisations.model.mongodb.js.html → configurations.model.mongodb.js.html} +10 -7
- package/coverage/lcov-report/core/api/models/index.html +35 -50
- package/coverage/lcov-report/core/api/models/messages.model.mongodb.js.html +39 -27
- package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +26 -32
- package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +10 -10
- package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +5 -5
- package/coverage/lcov-report/core/api/services/account/account.service.js.html +127 -127
- package/coverage/lcov-report/core/api/services/account/index.html +22 -22
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +213 -222
- package/coverage/lcov-report/core/api/services/authorisations/index.html +21 -21
- package/coverage/lcov-report/core/api/services/{groups/groups.hooks.js.html → configurations/configurations.hooks.js.html} +16 -10
- package/coverage/lcov-report/core/api/services/{groups → configurations}/index.html +8 -8
- 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/import-export/import-export.hooks.js.html +76 -76
- package/coverage/lcov-report/core/api/services/import-export/import-export.service.js.html +32 -32
- package/coverage/lcov-report/core/api/services/import-export/index.html +32 -32
- package/coverage/lcov-report/core/api/services/index.html +21 -21
- package/coverage/lcov-report/core/api/services/index.js.html +313 -142
- package/coverage/lcov-report/core/api/services/mailer/index.html +32 -32
- package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +80 -80
- package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +32 -32
- package/coverage/lcov-report/core/api/services/messages/index.html +21 -21
- package/coverage/lcov-report/core/api/services/messages/messages.hooks.js.html +112 -76
- package/coverage/lcov-report/core/api/services/push/index.html +32 -32
- package/coverage/lcov-report/core/api/services/push/push.hooks.js.html +80 -80
- package/coverage/lcov-report/core/api/services/push/push.service.js.html +34 -34
- package/coverage/lcov-report/core/api/services/storage/index.html +29 -29
- package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +80 -80
- package/coverage/lcov-report/core/api/services/storage/storage.service.js.html +29 -29
- package/coverage/lcov-report/core/api/services/tags/index.html +21 -21
- package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +119 -71
- package/coverage/lcov-report/core/api/services/users/index.html +27 -12
- package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +14 -11
- package/coverage/lcov-report/core/api/services/users/users.service.js.html +100 -0
- 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 +1 -1
- package/coverage/lcov-report/core/common/permissions.js.html +166 -472
- package/coverage/lcov-report/core/common/schema.js.html +4 -4
- package/coverage/lcov-report/core/common/utils.js.html +31 -25
- package/coverage/lcov-report/core/common/utils.offline.js.html +199 -0
- package/coverage/lcov-report/index.html +192 -192
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +169 -31
- package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +215 -35
- 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 +82 -7
- package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/index.html +22 -7
- package/coverage/lcov-report/map/api/models/projects.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/{core/api/models/groups.model.mongodb.js.html → map/api/models/styles.model.mongodb.js.html} +10 -7
- 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 +39 -12
- package/coverage/lcov-report/map/api/services/catalog/index.html +5 -5
- 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 +86 -11
- package/coverage/lcov-report/map/api/services/features/features.service.js.html +307 -4
- package/coverage/lcov-report/map/api/services/features/index.html +7 -7
- package/coverage/lcov-report/map/api/services/index.html +5 -5
- package/coverage/lcov-report/map/api/services/index.js.html +326 -50
- package/coverage/lcov-report/map/api/services/projects/index.html +1 -1
- package/coverage/lcov-report/map/api/services/projects/projects.hooks.js.html +1 -1
- package/coverage/{core/api/services/organisations → lcov-report/map/api/services/styles}/index.html +10 -25
- package/coverage/lcov-report/{core/api/services/organisations/organisations.hooks.js.html → map/api/services/styles/styles.hooks.js.html} +45 -12
- 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 +7 -10
- package/coverage/lcov-report/map/common/grid.js.html +1 -1
- package/coverage/lcov-report/map/common/index.html +19 -19
- 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 +4 -7
- package/coverage/lcov-report/map/common/permissions.js.html +10 -4
- package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/tms-utils.js.html +9 -12
- package/coverage/lcov-report/map/common/wcs-grid-source.js.html +3 -3
- package/coverage/lcov-report/map/common/wcs-utils.js.html +12 -15
- package/coverage/lcov-report/map/common/weacast-grid-source.js.html +2 -2
- package/coverage/lcov-report/map/common/wfs-utils.js.html +14 -17
- package/coverage/lcov-report/map/common/wms-utils.js.html +30 -12
- package/coverage/lcov-report/map/common/wmts-utils.js.html +10 -13
- package/coverage/lcov.info +4157 -3816
- package/coverage/map/api/hooks/hooks.catalog.js.html +169 -31
- package/coverage/map/api/hooks/hooks.features.js.html +1 -1
- package/coverage/map/api/hooks/hooks.query.js.html +215 -35
- 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 +82 -7
- package/coverage/map/api/models/features.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/index.html +22 -7
- package/coverage/map/api/models/projects.model.mongodb.js.html +1 -1
- package/coverage/{core/api/models/groups.model.mongodb.js.html → map/api/models/styles.model.mongodb.js.html} +10 -7
- 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 +39 -12
- package/coverage/map/api/services/catalog/index.html +5 -5
- 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 +86 -11
- package/coverage/map/api/services/features/features.service.js.html +307 -4
- package/coverage/map/api/services/features/index.html +7 -7
- package/coverage/map/api/services/index.html +5 -5
- package/coverage/map/api/services/index.js.html +326 -50
- package/coverage/map/api/services/projects/index.html +1 -1
- package/coverage/map/api/services/projects/projects.hooks.js.html +1 -1
- package/coverage/{lcov-report/core/api/services/organisations → map/api/services/styles}/index.html +10 -25
- package/coverage/{core/api/services/groups/groups.hooks.js.html → map/api/services/styles/styles.hooks.js.html} +45 -12
- 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 +7 -10
- package/coverage/map/common/grid.js.html +1 -1
- package/coverage/map/common/index.html +19 -19
- 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 +4 -7
- package/coverage/map/common/permissions.js.html +10 -4
- package/coverage/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/map/common/tms-utils.js.html +9 -12
- package/coverage/map/common/wcs-grid-source.js.html +3 -3
- package/coverage/map/common/wcs-utils.js.html +12 -15
- package/coverage/map/common/weacast-grid-source.js.html +2 -2
- package/coverage/map/common/wfs-utils.js.html +14 -17
- package/coverage/map/common/wms-utils.js.html +30 -12
- package/coverage/map/common/wmts-utils.js.html +10 -13
- package/coverage/tmp/coverage-1028514-1773134124472-0.json +1 -0
- package/coverage/tmp/coverage-1028526-1773134124448-0.json +1 -0
- package/coverage/tmp/coverage-1028537-1773134124431-0.json +1 -0
- package/coverage/tmp/coverage-1028549-1773134124401-0.json +1 -0
- package/coverage/tmp/coverage-1028556-1773134124353-0.json +1 -0
- package/extras/configs/widgets.top.js +3 -3
- package/extras/tests/core/collection.mjs +2 -9
- package/extras/tours/pane.top.js +0 -9
- package/map/api/hooks/hooks.catalog.js +18 -4
- package/map/api/services/catalog/catalog.hooks.js +3 -0
- package/map/api/services/features/features.hooks.js +3 -1
- package/map/api/services/index.js +2 -6
- package/map/api/services/styles/styles.hooks.js +6 -1
- package/map/client/components/KFeatureActionButton.vue +9 -3
- package/map/client/components/KFeaturesFilterManager.vue +5 -5
- package/map/client/components/KFilterCondition.vue +17 -10
- package/map/client/components/KLayerEditor.vue +49 -39
- package/map/client/components/KMeasureTool.vue +7 -1
- package/map/client/components/KTimezoneMap.vue +29 -9
- package/map/client/components/catalog/KLayersPanel.vue +26 -16
- package/map/client/components/catalog/KLayersSelector.vue +13 -2
- package/map/client/components/catalog/KViewsPanel.vue +5 -4
- package/map/client/components/form/KSelectLayersField.vue +28 -17
- package/map/client/components/form/KSelectViewsField.vue +18 -9
- package/map/client/components/form/KTimezoneField.vue +1 -2
- package/map/client/components/legend/KVariablesLegend.vue +10 -1
- package/map/client/components/location/KLocationCardSection.vue +7 -2
- package/map/client/components/location/KLocationMap.vue +31 -7
- package/map/client/components/selection/KSelectedLayerFeatures.vue +2 -2
- package/map/client/components/stickies/KZoomControl.vue +1 -1
- package/map/client/components/styles/KStyleManager.vue +4 -1
- package/map/client/components/widget/KTimeSeries.vue +174 -497
- package/map/client/components/widget/KTimeSeriesSelector.vue +72 -0
- package/map/client/components/widget/KTimeSeriesToolbar.vue +83 -0
- package/map/client/composables/catalog.js +6 -10
- package/map/client/composables/highlight.js +12 -9
- package/map/client/composables/project.js +1 -1
- package/map/client/composables/selection.js +8 -7
- package/map/client/composables/weather.js +9 -2
- package/map/client/geolocation.js +8 -5
- package/map/client/i18n/map_en.json +11 -10
- package/map/client/i18n/map_fr.json +10 -9
- package/map/client/leaflet/TiledFeatureLayer.js +85 -82
- package/map/client/leaflet/utils/utils.geojson.js +3 -3
- package/map/client/mixins/globe/mixin.base-globe.js +15 -6
- package/map/client/mixins/globe/mixin.geojson-layers.js +27 -18
- package/map/client/mixins/map/mixin.edit-layers.js +9 -1
- package/map/client/mixins/map/mixin.pmtiles-layers.js +118 -29
- package/map/client/mixins/map/mixin.tiled-mesh-layers.js +12 -5
- package/map/client/mixins/map/mixin.tiled-wind-layers.js +19 -10
- package/map/client/mixins/mixin.activity.js +23 -30
- package/map/client/mixins/mixin.feature-selection.js +41 -5
- package/map/client/planets.js +1 -1
- package/map/client/readers/reader.kml.js +2 -3
- package/map/client/utils/utils.catalog.js +36 -10
- package/map/client/utils/utils.layers.js +39 -8
- package/map/client/utils/utils.project.js +4 -0
- package/map/client/utils/utils.style.js +37 -7
- package/map/client/utils/utils.time-series.js +215 -6
- package/map/common/schemas/catalog.update.json +1 -1
- package/map/common/weacast-grid-source.js +1 -1
- package/package.json +3 -3
- package/scripts/kash/CHANGELOG.md +0 -4
- package/scripts/kash/README.md +0 -9
- package/scripts/kash/kash.sh +45 -40
- package/scripts/kash/scripts/run_tests.sh +1 -4
- package/test/api/core/authentication.test.js +9 -4
- package/test/api/core/config/default.cjs +1 -0
- package/test/api/core/hooks.test.js +6 -0
- package/test/api/core/index.test.js +43 -18
- package/test/api/core/push.test.js +8 -8
- package/test/api/core/test-log-2026-03-10.log +60 -0
- package/test/api/core/users.test.js +384 -0
- package/test/api/map/grid-sources.test.js +1 -1
- package/test/api/map/test-log-2026-03-10.log +56 -0
- package/vite/package.json +11 -2
- package/vite/test/core/composables.test.js +77 -0
- package/vite/vitest.config.js +13 -0
- package/vite/yarn.lock +1096 -18
- package/.vscode/settings.json +0 -5
- package/core/client/components/account/KAccount.vue +0 -68
- package/core/client/components/account/KDeleteAccountManager.vue +0 -62
- package/core/client/components/account/KEmailManager.vue +0 -128
- package/core/client/components/account/KPasswordManager.vue +0 -90
- package/core/client/components/account/KVerifyEmailManager.vue +0 -105
- package/core/client/components/collection/KColumn.vue +0 -227
- package/core/client/components/collection/KHistory.vue +0 -113
- package/core/client/components/collection/KHistoryEntry.vue +0 -109
- package/coverage/core/api/hooks/hooks.organisations.js.html +0 -541
- package/coverage/core/api/services/organisations/organisations.service.js.html +0 -343
- package/coverage/core/api/utils.js.html +0 -118
- package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +0 -541
- package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +0 -343
- package/coverage/lcov-report/core/api/utils.js.html +0 -118
- package/coverage/tmp/coverage-151166-1723543324307-0.json +0 -1
- package/coverage/tmp/coverage-151178-1723543324283-0.json +0 -1
- package/coverage/tmp/coverage-151189-1723543324271-0.json +0 -1
- package/coverage/tmp/coverage-151201-1723543324248-0.json +0 -1
- package/coverage/tmp/coverage-151208-1723543324227-0.json +0 -1
- package/scripts/kash/LICENSE +0 -21
- package/test/api/core/test-log-2024-04-22.log +0 -84
- package/test/api/core/test-log-2024-04-23.log +0 -23
- package/test/api/core/test-log-2024-08-13.log +0 -3
- package/test/api/map/test-log-2025-03-08.log +0 -0
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/
|
|
28
|
+
<span class='fraction'>0/62</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/
|
|
49
|
+
<span class='fraction'>0/62</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -125,9 +125,7 @@
|
|
|
125
125
|
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
126
|
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
127
|
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
130
|
-
<span class="cline-any cline-no"> </span>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
131
129
|
<span class="cline-any cline-no"> </span>
|
|
132
130
|
<span class="cline-any cline-no"> </span>
|
|
133
131
|
<span class="cline-any cline-no"> </span>
|
|
@@ -190,20 +188,19 @@
|
|
|
190
188
|
<span class="cline-any cline-no"> </span>
|
|
191
189
|
<span class="cline-any cline-no"> </span>
|
|
192
190
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import _ from 'lodash'</span></span></span>
|
|
193
|
-
<span class="cstat-no" title="statement not covered" >import fetch from 'node-fetch'</span>
|
|
194
191
|
<span class="cstat-no" title="statement not covered" >import xml2js from 'xml2js'</span>
|
|
195
192
|
<span class="cstat-no" title="statement not covered" >import { buildUrl } from '../../core/common/index.js'</span>
|
|
196
193
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
197
|
-
<span class="cstat-no" title="statement not covered" >function fetchAsJson (query) {</span>
|
|
198
|
-
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow' })</span>
|
|
194
|
+
<span class="cstat-no" title="statement not covered" >function fetchAsJson (query, headers = {}) {</span>
|
|
195
|
+
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow', headers })</span>
|
|
199
196
|
<span class="cstat-no" title="statement not covered" > .then(response => response.text())</span>
|
|
200
197
|
<span class="cstat-no" title="statement not covered" > .then(txt => xml2js.parseStringPromise(txt, { tagNameProcessors: [xml2js.processors.stripPrefix] }))</span>
|
|
201
198
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
202
199
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
203
|
-
<span class="cstat-no" title="statement not covered" >export async function discover (tmsUrl, searchParams = {}, caps = null) {</span>
|
|
200
|
+
<span class="cstat-no" title="statement not covered" >export async function discover (tmsUrl, searchParams = {}, headers = {}, caps = null) {</span>
|
|
204
201
|
<span class="cstat-no" title="statement not covered" > // fetch root caps if not provided</span>
|
|
205
202
|
<span class="cstat-no" title="statement not covered" > if (!caps) {</span>
|
|
206
|
-
<span class="cstat-no" title="statement not covered" > caps = await fetchAsJson(buildUrl(tmsUrl, searchParams))</span>
|
|
203
|
+
<span class="cstat-no" title="statement not covered" > caps = await fetchAsJson(buildUrl(tmsUrl, searchParams), headers)</span>
|
|
207
204
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
208
205
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
209
206
|
<span class="cstat-no" title="statement not covered" > // decode from caps</span>
|
|
@@ -216,7 +213,7 @@
|
|
|
216
213
|
<span class="cstat-no" title="statement not covered" > const allPromises = []</span>
|
|
217
214
|
<span class="cstat-no" title="statement not covered" > for (const layer of layerRoot) {</span>
|
|
218
215
|
<span class="cstat-no" title="statement not covered" > // fetch detailed layer informations</span>
|
|
219
|
-
<span class="cstat-no" title="statement not covered" > const p = fetchAsJson(buildUrl(layer.$.href, searchParams)).then(json => {</span>
|
|
216
|
+
<span class="cstat-no" title="statement not covered" > const p = fetchAsJson(buildUrl(layer.$.href, searchParams), headers).then(json => {</span>
|
|
220
217
|
<span class="cstat-no" title="statement not covered" > const obj = {</span>
|
|
221
218
|
<span class="cstat-no" title="statement not covered" > id: _.get(json, 'TileMap.Title[0]'),</span>
|
|
222
219
|
<span class="cstat-no" title="statement not covered" > display: _.get(json, 'TileMap.Title[0]'),</span>
|
|
@@ -259,7 +256,7 @@
|
|
|
259
256
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
260
257
|
Code coverage generated by
|
|
261
258
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
262
|
-
at
|
|
259
|
+
at 2026-03-10T09:15:24.743Z
|
|
263
260
|
</div>
|
|
264
261
|
<script src="../../prettify.js"></script>
|
|
265
262
|
<script>
|
|
@@ -294,7 +294,7 @@
|
|
|
294
294
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
295
295
|
<span class="cstat-no" title="statement not covered" > // use DescribeCoverage to find out bbox</span>
|
|
296
296
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
297
|
-
<span class="cstat-no" title="statement not covered" > const coverage = await wcs.DescribeCoverage(this.config.url, this.config.version, this.config.coverage)</span>
|
|
297
|
+
<span class="cstat-no" title="statement not covered" > const coverage = await wcs.DescribeCoverage(this.config.url, this.config.version, this.config.coverage, this.config.searchParams, this.config.headers)</span>
|
|
298
298
|
<span class="cstat-no" title="statement not covered" > const bounds = wcs.GetCoverageSpatialBounds(coverage)</span>
|
|
299
299
|
<span class="cstat-no" title="statement not covered" > const formats = wcs.GetSupportedFormats(coverage)</span>
|
|
300
300
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
@@ -325,7 +325,7 @@
|
|
|
325
325
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
326
326
|
<span class="cstat-no" title="statement not covered" > const wcsbbox = [reqMinLon, reqMinLat, reqMaxLon, reqMaxLat]</span>
|
|
327
327
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
328
|
-
<span class="cstat-no" title="statement not covered" > const image = await wcs.GetCoverage(abort, this.config.url, this.config.version, this.config.coverage, this.queryFormat, wcsbbox, width, height)</span>
|
|
328
|
+
<span class="cstat-no" title="statement not covered" > const image = await wcs.GetCoverage(abort, this.config.url, this.config.version, this.config.coverage, this.queryFormat, wcsbbox, width, height, this.config.searchParams, this.config.headers)</span>
|
|
329
329
|
<span class="cstat-no" title="statement not covered" > // geotiff.js will try to use a FileReader to read from the blob</span>
|
|
330
330
|
<span class="cstat-no" title="statement not covered" > // this class doesn't exist in node.js so we use fromArrayBuffer</span>
|
|
331
331
|
<span class="cstat-no" title="statement not covered" > // .then(blob => GeoTIFF.fromBlob(blob))</span>
|
|
@@ -349,7 +349,7 @@
|
|
|
349
349
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
350
350
|
Code coverage generated by
|
|
351
351
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
352
|
-
at
|
|
352
|
+
at 2026-03-10T09:15:24.743Z
|
|
353
353
|
</div>
|
|
354
354
|
<script src="../../prettify.js"></script>
|
|
355
355
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/
|
|
28
|
+
<span class='fraction'>0/166</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/
|
|
49
|
+
<span class='fraction'>0/166</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -229,9 +229,7 @@
|
|
|
229
229
|
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
230
|
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
231
|
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
234
|
-
<span class="cline-any cline-no"> </span>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
235
233
|
<span class="cline-any cline-no"> </span>
|
|
236
234
|
<span class="cline-any cline-no"> </span>
|
|
237
235
|
<span class="cline-any cline-no"> </span>
|
|
@@ -398,37 +396,36 @@
|
|
|
398
396
|
<span class="cline-any cline-no"> </span>
|
|
399
397
|
<span class="cline-any cline-no"> </span>
|
|
400
398
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import _ from 'lodash'</span></span></span>
|
|
401
|
-
<span class="cstat-no" title="statement not covered" >import fetch from 'node-fetch'</span>
|
|
402
399
|
<span class="cstat-no" title="statement not covered" >import xml2js from 'xml2js'</span>
|
|
403
400
|
<span class="cstat-no" title="statement not covered" >import { buildUrl } from '../../core/common/index.js'</span>
|
|
404
401
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
405
402
|
<span class="cstat-no" title="statement not covered" >// https://www.opengeospatial.org/standards/wcs</span>
|
|
406
403
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
407
|
-
<span class="cstat-no" title="statement not covered" >export function fetchAsJson (query) {</span>
|
|
408
|
-
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow' })</span>
|
|
404
|
+
<span class="cstat-no" title="statement not covered" >export function fetchAsJson (query, headers = {}) {</span>
|
|
405
|
+
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow', headers })</span>
|
|
409
406
|
<span class="cstat-no" title="statement not covered" > .then(response => response.text())</span>
|
|
410
407
|
<span class="cstat-no" title="statement not covered" > .then(txt => xml2js.parseStringPromise(txt, { tagNameProcessors: [xml2js.processors.stripPrefix] }))</span>
|
|
411
408
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
412
409
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
413
|
-
<span class="cstat-no" title="statement not covered" >export async function GetCapabilities (url, searchParams = {}) {</span>
|
|
410
|
+
<span class="cstat-no" title="statement not covered" >export async function GetCapabilities (url, searchParams = {}, headers = {}) {</span>
|
|
414
411
|
<span class="cstat-no" title="statement not covered" > const query = buildUrl(url, Object.assign({</span>
|
|
415
412
|
<span class="cstat-no" title="statement not covered" > SERVICE: 'WCS',</span>
|
|
416
413
|
<span class="cstat-no" title="statement not covered" > REQUEST: 'GetCapabilities'</span>
|
|
417
414
|
<span class="cstat-no" title="statement not covered" > }, searchParams))</span>
|
|
418
|
-
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query)</span>
|
|
415
|
+
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query, headers)</span>
|
|
419
416
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
420
417
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
421
|
-
<span class="cstat-no" title="statement not covered" >export async function DescribeCoverage (url, version, coverage, searchParams = {}) {</span>
|
|
418
|
+
<span class="cstat-no" title="statement not covered" >export async function DescribeCoverage (url, version, coverage, searchParams = {}, headers = {}) {</span>
|
|
422
419
|
<span class="cstat-no" title="statement not covered" > const query = buildUrl(url, Object.assign({</span>
|
|
423
420
|
<span class="cstat-no" title="statement not covered" > SERVICE: 'WCS',</span>
|
|
424
421
|
<span class="cstat-no" title="statement not covered" > VERSION: version,</span>
|
|
425
422
|
<span class="cstat-no" title="statement not covered" > REQUEST: 'DescribeCoverage',</span>
|
|
426
423
|
<span class="cstat-no" title="statement not covered" > COVERAGE: coverage</span>
|
|
427
424
|
<span class="cstat-no" title="statement not covered" > }, searchParams))</span>
|
|
428
|
-
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query)</span>
|
|
425
|
+
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query, headers)</span>
|
|
429
426
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
430
427
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
431
|
-
<span class="cstat-no" title="statement not covered" >export async function GetCoverage (abort, url, version, coverage, format, bbox, width, height, searchParams = {}) {</span>
|
|
428
|
+
<span class="cstat-no" title="statement not covered" >export async function GetCoverage (abort, url, version, coverage, format, bbox, width, height, searchParams = {}, headers = {}) {</span>
|
|
432
429
|
<span class="cstat-no" title="statement not covered" > const query = buildUrl(url, Object.assign({</span>
|
|
433
430
|
<span class="cstat-no" title="statement not covered" > SERVICE: 'WCS',</span>
|
|
434
431
|
<span class="cstat-no" title="statement not covered" > VERSION: version,</span>
|
|
@@ -440,7 +437,7 @@
|
|
|
440
437
|
<span class="cstat-no" title="statement not covered" > HEIGHT: height,</span>
|
|
441
438
|
<span class="cstat-no" title="statement not covered" > FORMAT: format</span>
|
|
442
439
|
<span class="cstat-no" title="statement not covered" > }, searchParams))</span>
|
|
443
|
-
<span class="cstat-no" title="statement not covered" > return fetch(query, { method: 'get', signal: abort })</span>
|
|
440
|
+
<span class="cstat-no" title="statement not covered" > return fetch(query, { method: 'get', signal: abort, headers })</span>
|
|
444
441
|
<span class="cstat-no" title="statement not covered" > // using a Blob is problematic with node.js since there's no support for it</span>
|
|
445
442
|
<span class="cstat-no" title="statement not covered" > // instead use an ArrayBuffer</span>
|
|
446
443
|
<span class="cstat-no" title="statement not covered" > // .then(response => response.blob())</span>
|
|
@@ -571,7 +568,7 @@
|
|
|
571
568
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
572
569
|
Code coverage generated by
|
|
573
570
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
574
|
-
at
|
|
571
|
+
at 2026-03-10T09:15:24.743Z
|
|
575
572
|
</div>
|
|
576
573
|
<script src="../../prettify.js"></script>
|
|
577
574
|
<script>
|
|
@@ -755,7 +755,7 @@
|
|
|
755
755
|
<span class="cstat-no" title="statement not covered" > constructor (options) {</span>
|
|
756
756
|
<span class="cstat-no" title="statement not covered" > super(options)</span>
|
|
757
757
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
758
|
-
<span class="cstat-no" title="statement not covered" > this.api = options.
|
|
758
|
+
<span class="cstat-no" title="statement not covered" > this.api = options.planetApi</span>
|
|
759
759
|
<span class="cstat-no" title="statement not covered" > this.usable = false</span>
|
|
760
760
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
761
761
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
@@ -1018,7 +1018,7 @@
|
|
|
1018
1018
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1019
1019
|
Code coverage generated by
|
|
1020
1020
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1021
|
-
at
|
|
1021
|
+
at 2026-03-10T09:15:24.743Z
|
|
1022
1022
|
</div>
|
|
1023
1023
|
<script src="../../prettify.js"></script>
|
|
1024
1024
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/
|
|
28
|
+
<span class='fraction'>0/162</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/
|
|
49
|
+
<span class='fraction'>0/162</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -225,9 +225,7 @@
|
|
|
225
225
|
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
226
|
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
227
|
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
230
|
-
<span class="cline-any cline-no"> </span>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
231
229
|
<span class="cline-any cline-no"> </span>
|
|
232
230
|
<span class="cline-any cline-no"> </span>
|
|
233
231
|
<span class="cline-any cline-no"> </span>
|
|
@@ -390,49 +388,48 @@
|
|
|
390
388
|
<span class="cline-any cline-no"> </span>
|
|
391
389
|
<span class="cline-any cline-no"> </span>
|
|
392
390
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import _ from 'lodash'</span></span></span>
|
|
393
|
-
<span class="cstat-no" title="statement not covered" >import fetch from 'node-fetch'</span>
|
|
394
391
|
<span class="cstat-no" title="statement not covered" >import xml2js from 'xml2js'</span>
|
|
395
392
|
<span class="cstat-no" title="statement not covered" >import { buildUrl } from '../../core/common/index.js'</span>
|
|
396
393
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
397
394
|
<span class="cstat-no" title="statement not covered" >// https://www.opengeospatial.org/standards/wfs</span>
|
|
398
395
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
399
|
-
<span class="cstat-no" title="statement not covered" >function fetchAsJson (query) {</span>
|
|
400
|
-
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow' })</span>
|
|
396
|
+
<span class="cstat-no" title="statement not covered" >function fetchAsJson (query, headers = {}) {</span>
|
|
397
|
+
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow', headers })</span>
|
|
401
398
|
<span class="cstat-no" title="statement not covered" > .then(response => response.text())</span>
|
|
402
399
|
<span class="cstat-no" title="statement not covered" > .then(txt => xml2js.parseStringPromise(txt, { tagNameProcessors: [xml2js.processors.stripPrefix] }))</span>
|
|
403
400
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
404
401
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
405
|
-
<span class="cstat-no" title="statement not covered" >export function GetCapabilities (url, searchParams = {}) {</span>
|
|
402
|
+
<span class="cstat-no" title="statement not covered" >export function GetCapabilities (url, searchParams = {}, headers = {}) {</span>
|
|
406
403
|
<span class="cstat-no" title="statement not covered" > const query = buildUrl(url, Object.assign({</span>
|
|
407
404
|
<span class="cstat-no" title="statement not covered" > SERVICE: 'WFS',</span>
|
|
408
405
|
<span class="cstat-no" title="statement not covered" > REQUEST: 'GetCapabilities'</span>
|
|
409
406
|
<span class="cstat-no" title="statement not covered" > }, searchParams))</span>
|
|
410
|
-
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query)</span>
|
|
407
|
+
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query, headers)</span>
|
|
411
408
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
412
409
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
413
|
-
<span class="cstat-no" title="statement not covered" >export function DescribeFeatureType (url, version, typeNames, searchParams = {}) {</span>
|
|
410
|
+
<span class="cstat-no" title="statement not covered" >export function DescribeFeatureType (url, version, typeNames, searchParams = {}, headers = {}) {</span>
|
|
414
411
|
<span class="cstat-no" title="statement not covered" > const query = buildUrl(url, Object.assign({</span>
|
|
415
412
|
<span class="cstat-no" title="statement not covered" > SERVICE: 'WFS',</span>
|
|
416
413
|
<span class="cstat-no" title="statement not covered" > VERSION: version,</span>
|
|
417
414
|
<span class="cstat-no" title="statement not covered" > REQUEST: 'DescribeFeatureType',</span>
|
|
418
415
|
<span class="cstat-no" title="statement not covered" > TYPENAMES: typeof typeNames === 'string' ? typeNames : typeNames.join(' ')</span>
|
|
419
416
|
<span class="cstat-no" title="statement not covered" > }, searchParams))</span>
|
|
420
|
-
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query)</span>
|
|
417
|
+
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query, headers)</span>
|
|
421
418
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
422
419
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
423
|
-
<span class="cstat-no" title="statement not covered" >export function GetFeature (url, version, typeNames, searchParams = {}, { xml2json = true } = {}) {</span>
|
|
420
|
+
<span class="cstat-no" title="statement not covered" >export function GetFeature (url, version, typeNames, searchParams = {}, headers = {}, { xml2json = true } = {}) {</span>
|
|
424
421
|
<span class="cstat-no" title="statement not covered" > const query = buildUrl(url, Object.assign({</span>
|
|
425
422
|
<span class="cstat-no" title="statement not covered" > SERVICE: 'WFS',</span>
|
|
426
423
|
<span class="cstat-no" title="statement not covered" > VERSION: version,</span>
|
|
427
424
|
<span class="cstat-no" title="statement not covered" > REQUEST: 'GetFeature',</span>
|
|
428
425
|
<span class="cstat-no" title="statement not covered" > TYPENAMES: typeof typeNames === 'string' ? typeNames : typeNames.join(' ')</span>
|
|
429
426
|
<span class="cstat-no" title="statement not covered" > }, searchParams))</span>
|
|
430
|
-
<span class="cstat-no" title="statement not covered" > return xml2json ? fetchAsJson(query) : fetch(query, { redirect: 'follow' }).then(response => response.json())</span>
|
|
427
|
+
<span class="cstat-no" title="statement not covered" > return xml2json ? fetchAsJson(query, headers) : fetch(query, { redirect: 'follow', headers }).then(response => response.json())</span>
|
|
431
428
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
432
429
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
433
|
-
<span class="cstat-no" title="statement not covered" >export async function discover (url, searchParams = {}, caps = null) {</span>
|
|
430
|
+
<span class="cstat-no" title="statement not covered" >export async function discover (url, searchParams = {}, headers = {}, caps = null) {</span>
|
|
434
431
|
<span class="cstat-no" title="statement not covered" > if (!caps) {</span>
|
|
435
|
-
<span class="cstat-no" title="statement not covered" > caps = await GetCapabilities(url, searchParams)</span>
|
|
432
|
+
<span class="cstat-no" title="statement not covered" > caps = await GetCapabilities(url, searchParams, headers)</span>
|
|
436
433
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
437
434
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
438
435
|
<span class="cstat-no" title="statement not covered" > const out = {</span>
|
|
@@ -559,7 +556,7 @@
|
|
|
559
556
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
560
557
|
Code coverage generated by
|
|
561
558
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
562
|
-
at
|
|
559
|
+
at 2026-03-10T09:15:24.743Z
|
|
563
560
|
</div>
|
|
564
561
|
<script src="../../prettify.js"></script>
|
|
565
562
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/
|
|
28
|
+
<span class='fraction'>0/128</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/
|
|
49
|
+
<span class='fraction'>0/128</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -185,7 +185,19 @@
|
|
|
185
185
|
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
186
|
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
187
|
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
195
|
+
<span class="cline-any cline-no"> </span>
|
|
196
|
+
<span class="cline-any cline-no"> </span>
|
|
197
|
+
<span class="cline-any cline-no"> </span>
|
|
198
|
+
<span class="cline-any cline-no"> </span>
|
|
199
|
+
<span class="cline-any cline-no"> </span>
|
|
200
|
+
<span class="cline-any cline-no"> </span>
|
|
189
201
|
<span class="cline-any cline-no"> </span>
|
|
190
202
|
<span class="cline-any cline-no"> </span>
|
|
191
203
|
<span class="cline-any cline-no"> </span>
|
|
@@ -308,14 +320,13 @@
|
|
|
308
320
|
<span class="cline-any cline-no"> </span>
|
|
309
321
|
<span class="cline-any cline-no"> </span>
|
|
310
322
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import _ from 'lodash'</span></span></span>
|
|
311
|
-
<span class="cstat-no" title="statement not covered" >import fetch from 'node-fetch'</span>
|
|
312
323
|
<span class="cstat-no" title="statement not covered" >import xml2js from 'xml2js'</span>
|
|
313
324
|
<span class="cstat-no" title="statement not covered" >import { buildUrl } from '../../core/common/index.js'</span>
|
|
314
325
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
315
326
|
<span class="cstat-no" title="statement not covered" >// https://www.opengeospatial.org/standards/wms</span>
|
|
316
327
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
317
|
-
<span class="cstat-no" title="statement not covered" >function fetchAsJson (query) {</span>
|
|
318
|
-
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow' })</span>
|
|
328
|
+
<span class="cstat-no" title="statement not covered" >function fetchAsJson (query, headers = {}) {</span>
|
|
329
|
+
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow', headers })</span>
|
|
319
330
|
<span class="cstat-no" title="statement not covered" > .then(response => response.text())</span>
|
|
320
331
|
<span class="cstat-no" title="statement not covered" > .then(txt => xml2js.parseStringPromise(txt, { tagNameProcessors: [xml2js.processors.stripPrefix] }))</span>
|
|
321
332
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
@@ -325,15 +336,15 @@
|
|
|
325
336
|
<span class="cstat-no" title="statement not covered" > return parseInt(parts[0]) * 1000000 + parseInt(parts[1]) * 1000 + (parts.length > 2 ? parseInt(parts[2]) : 0)</span>
|
|
326
337
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
327
338
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
328
|
-
<span class="cstat-no" title="statement not covered" >export function GetCapabilities (url, searchParams = {}) {</span>
|
|
339
|
+
<span class="cstat-no" title="statement not covered" >export function GetCapabilities (url, searchParams = {}, headers = {}) {</span>
|
|
329
340
|
<span class="cstat-no" title="statement not covered" > const query = buildUrl(url, Object.assign({</span>
|
|
330
341
|
<span class="cstat-no" title="statement not covered" > SERVICE: 'WMS',</span>
|
|
331
342
|
<span class="cstat-no" title="statement not covered" > REQUEST: 'GetCapabilities'</span>
|
|
332
343
|
<span class="cstat-no" title="statement not covered" > }, searchParams))</span>
|
|
333
|
-
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query)</span>
|
|
344
|
+
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query, headers)</span>
|
|
334
345
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
335
346
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
336
|
-
<span class="cstat-no" title="statement not covered" >export function makeGetLegendGraphic (url, version, layer, style, searchParams = {}) {</span>
|
|
347
|
+
<span class="cstat-no" title="statement not covered" >export function makeGetLegendGraphic (url, version, layer, style, searchParams = {}, headers = {}) {</span>
|
|
337
348
|
<span class="cstat-no" title="statement not covered" > const additionalParams = {}</span>
|
|
338
349
|
<span class="cstat-no" title="statement not covered" > if (style) additionalParams.STYLE = style</span>
|
|
339
350
|
<span class="cstat-no" title="statement not covered" > if (!version) version = '1.0.0'</span>
|
|
@@ -347,9 +358,9 @@
|
|
|
347
358
|
<span class="cstat-no" title="statement not covered" > }, additionalParams, searchParams))</span>
|
|
348
359
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
349
360
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
350
|
-
<span class="cstat-no" title="statement not covered" >export async function discover (url, searchParams = {}, caps = null) {</span>
|
|
361
|
+
<span class="cstat-no" title="statement not covered" >export async function discover (url, searchParams = {}, headers = {}, caps = null) {</span>
|
|
351
362
|
<span class="cstat-no" title="statement not covered" > if (!caps) {</span>
|
|
352
|
-
<span class="cstat-no" title="statement not covered" > caps = await GetCapabilities(url, searchParams)</span>
|
|
363
|
+
<span class="cstat-no" title="statement not covered" > caps = await GetCapabilities(url, searchParams, headers)</span>
|
|
353
364
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
354
365
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
355
366
|
<span class="cstat-no" title="statement not covered" > const root = caps.WMS_Capabilities ? caps.WMS_Capabilities : caps.WMT_MS_Capabilities</span>
|
|
@@ -359,6 +370,13 @@
|
|
|
359
370
|
<span class="cstat-no" title="statement not covered" > availableLayers: {}</span>
|
|
360
371
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
361
372
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
373
|
+
<span class="cstat-no" title="statement not covered" > // check if server uses different url for GetMap request</span>
|
|
374
|
+
<span class="cstat-no" title="statement not covered" > const requestRoot = _.get(root, 'Capability[0].Request[0]')</span>
|
|
375
|
+
<span class="cstat-no" title="statement not covered" > if (requestRoot) {</span>
|
|
376
|
+
<span class="cstat-no" title="statement not covered" > const getMap = _.get(requestRoot, 'GetMap[0].DCPType[0].HTTP[0].Get[0].OnlineResource[0].$.xlink:href')</span>
|
|
377
|
+
<span class="cstat-no" title="statement not covered" > if (getMap) { out.getMapUrl = getMap }</span>
|
|
378
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
379
|
+
<span class="cstat-no" title="statement not covered" ></span>
|
|
362
380
|
<span class="cstat-no" title="statement not covered" > const layerRoot = _.get(root, 'Capability[0].Layer')</span>
|
|
363
381
|
<span class="cstat-no" title="statement not covered" > if (layerRoot) {</span>
|
|
364
382
|
<span class="cstat-no" title="statement not covered" > const flat = layerRoot.slice()</span>
|
|
@@ -436,7 +454,7 @@
|
|
|
436
454
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
437
455
|
Code coverage generated by
|
|
438
456
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
439
|
-
at
|
|
457
|
+
at 2026-03-10T09:15:24.743Z
|
|
440
458
|
</div>
|
|
441
459
|
<script src="../../prettify.js"></script>
|
|
442
460
|
<script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/
|
|
28
|
+
<span class='fraction'>0/153</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/
|
|
49
|
+
<span class='fraction'>0/153</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -216,9 +216,7 @@
|
|
|
216
216
|
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
217
|
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
218
|
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
221
|
-
<span class="cline-any cline-no"> </span>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
222
220
|
<span class="cline-any cline-no"> </span>
|
|
223
221
|
<span class="cline-any cline-no"> </span>
|
|
224
222
|
<span class="cline-any cline-no"> </span>
|
|
@@ -372,29 +370,28 @@
|
|
|
372
370
|
<span class="cline-any cline-no"> </span>
|
|
373
371
|
<span class="cline-any cline-no"> </span>
|
|
374
372
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import _ from 'lodash'</span></span></span>
|
|
375
|
-
<span class="cstat-no" title="statement not covered" >import fetch from 'node-fetch'</span>
|
|
376
373
|
<span class="cstat-no" title="statement not covered" >import xml2js from 'xml2js'</span>
|
|
377
374
|
<span class="cstat-no" title="statement not covered" >import { buildUrl } from '../../core/common/index.js'</span>
|
|
378
375
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
379
376
|
<span class="cstat-no" title="statement not covered" >// https://www.opengeospatial.org/standards/wmts</span>
|
|
380
377
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
381
|
-
<span class="cstat-no" title="statement not covered" >function fetchAsJson (query) {</span>
|
|
382
|
-
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow' })</span>
|
|
378
|
+
<span class="cstat-no" title="statement not covered" >function fetchAsJson (query, headers = {}) {</span>
|
|
379
|
+
<span class="cstat-no" title="statement not covered" > return fetch(query, { redirect: 'follow' }, headers)</span>
|
|
383
380
|
<span class="cstat-no" title="statement not covered" > .then(response => response.text())</span>
|
|
384
381
|
<span class="cstat-no" title="statement not covered" > .then(txt => xml2js.parseStringPromise(txt, { tagNameProcessors: [xml2js.processors.stripPrefix] }))</span>
|
|
385
382
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
386
383
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
387
|
-
<span class="cstat-no" title="statement not covered" >export function GetCapabilities (url, searchParams = {}) {</span>
|
|
384
|
+
<span class="cstat-no" title="statement not covered" >export function GetCapabilities (url, headers = {}, searchParams = {}) {</span>
|
|
388
385
|
<span class="cstat-no" title="statement not covered" > const query = buildUrl(url, Object.assign({</span>
|
|
389
386
|
<span class="cstat-no" title="statement not covered" > SERVICE: 'WMTS',</span>
|
|
390
387
|
<span class="cstat-no" title="statement not covered" > REQUEST: 'GetCapabilities'</span>
|
|
391
388
|
<span class="cstat-no" title="statement not covered" > }, searchParams))</span>
|
|
392
|
-
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query)</span>
|
|
389
|
+
<span class="cstat-no" title="statement not covered" > return fetchAsJson(query, headers)</span>
|
|
393
390
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
394
391
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
395
|
-
<span class="cstat-no" title="statement not covered" >export async function discover (url, searchParams = {}, caps = null) {</span>
|
|
392
|
+
<span class="cstat-no" title="statement not covered" >export async function discover (url, headers = {}, searchParams = {}, caps = null) {</span>
|
|
396
393
|
<span class="cstat-no" title="statement not covered" > if (!caps) {</span>
|
|
397
|
-
<span class="cstat-no" title="statement not covered" > caps = await GetCapabilities(url, searchParams)</span>
|
|
394
|
+
<span class="cstat-no" title="statement not covered" > caps = await GetCapabilities(url, headers, searchParams)</span>
|
|
398
395
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
399
396
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
400
397
|
<span class="cstat-no" title="statement not covered" > const out = {</span>
|
|
@@ -532,7 +529,7 @@
|
|
|
532
529
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
533
530
|
Code coverage generated by
|
|
534
531
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
535
|
-
at
|
|
532
|
+
at 2026-03-10T09:15:24.743Z
|
|
536
533
|
</div>
|
|
537
534
|
<script src="../../prettify.js"></script>
|
|
538
535
|
<script>
|