@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
|
@@ -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">80.73% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>197/244</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">67.
|
|
33
|
+
<span class="strong">67.27% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>37/55</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">72.72% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>16/22</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80.73% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>197/244</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -294,7 +294,20 @@
|
|
|
294
294
|
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
295
|
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
296
|
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a
|
|
297
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
298
311
|
<span class="cline-any cline-yes">1x</span>
|
|
299
312
|
<span class="cline-any cline-yes">1x</span>
|
|
300
313
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -309,8 +322,16 @@
|
|
|
309
322
|
<span class="cline-any cline-no"> </span>
|
|
310
323
|
<span class="cline-any cline-yes">1x</span>
|
|
311
324
|
<span class="cline-any cline-yes">1x</span>
|
|
312
|
-
<span class="cline-any cline-yes">
|
|
313
|
-
<span class="cline-any cline-yes">
|
|
325
|
+
<span class="cline-any cline-yes">1x</span>
|
|
326
|
+
<span class="cline-any cline-yes">28x</span>
|
|
327
|
+
<span class="cline-any cline-yes">28x</span>
|
|
328
|
+
<span class="cline-any cline-yes">1x</span>
|
|
329
|
+
<span class="cline-any cline-yes">1x</span>
|
|
330
|
+
<span class="cline-any cline-yes">68x</span>
|
|
331
|
+
<span class="cline-any cline-yes">68x</span>
|
|
332
|
+
<span class="cline-any cline-yes">68x</span>
|
|
333
|
+
<span class="cline-any cline-yes">68x</span>
|
|
334
|
+
<span class="cline-any cline-yes">68x</span>
|
|
314
335
|
<span class="cline-any cline-yes">1x</span>
|
|
315
336
|
<span class="cline-any cline-yes">1x</span>
|
|
316
337
|
<span class="cline-any cline-no"> </span>
|
|
@@ -321,23 +342,28 @@
|
|
|
321
342
|
<span class="cline-any cline-no"> </span>
|
|
322
343
|
<span class="cline-any cline-yes">1x</span>
|
|
323
344
|
<span class="cline-any cline-yes">1x</span>
|
|
324
|
-
<span class="cline-any cline-yes">
|
|
325
|
-
<span class="cline-any cline-yes">
|
|
326
|
-
<span class="cline-any cline-yes">
|
|
327
|
-
<span class="cline-any cline-yes">
|
|
328
|
-
<span class="cline-any cline-yes">
|
|
329
|
-
<span class="cline-any cline-yes">
|
|
345
|
+
<span class="cline-any cline-yes">18x</span>
|
|
346
|
+
<span class="cline-any cline-yes">18x</span>
|
|
347
|
+
<span class="cline-any cline-yes">18x</span>
|
|
348
|
+
<span class="cline-any cline-yes">18x</span>
|
|
349
|
+
<span class="cline-any cline-yes">17x</span>
|
|
350
|
+
<span class="cline-any cline-yes">17x</span>
|
|
351
|
+
<span class="cline-any cline-yes">17x</span>
|
|
352
|
+
<span class="cline-any cline-yes">17x</span>
|
|
353
|
+
<span class="cline-any cline-yes">17x</span>
|
|
354
|
+
<span class="cline-any cline-yes">17x</span>
|
|
355
|
+
<span class="cline-any cline-yes">18x</span>
|
|
330
356
|
<span class="cline-any cline-yes">1x</span>
|
|
331
357
|
<span class="cline-any cline-yes">1x</span>
|
|
332
358
|
<span class="cline-any cline-yes">1x</span>
|
|
333
359
|
<span class="cline-any cline-yes">1x</span>
|
|
334
360
|
<span class="cline-any cline-yes">1x</span>
|
|
335
|
-
<span class="cline-any cline-yes">
|
|
336
|
-
<span class="cline-any cline-yes">
|
|
337
|
-
<span class="cline-any cline-yes">
|
|
338
|
-
<span class="cline-any cline-yes">
|
|
339
|
-
<span class="cline-any cline-yes">
|
|
340
|
-
<span class="cline-any cline-yes">
|
|
361
|
+
<span class="cline-any cline-yes">14x</span>
|
|
362
|
+
<span class="cline-any cline-yes">14x</span>
|
|
363
|
+
<span class="cline-any cline-yes">6x</span>
|
|
364
|
+
<span class="cline-any cline-yes">14x</span>
|
|
365
|
+
<span class="cline-any cline-yes">14x</span>
|
|
366
|
+
<span class="cline-any cline-yes">14x</span>
|
|
341
367
|
<span class="cline-any cline-yes">4x</span>
|
|
342
368
|
<span class="cline-any cline-yes">2x</span>
|
|
343
369
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -348,21 +374,21 @@
|
|
|
348
374
|
<span class="cline-any cline-no"> </span>
|
|
349
375
|
<span class="cline-any cline-no"> </span>
|
|
350
376
|
<span class="cline-any cline-yes">2x</span>
|
|
351
|
-
<span class="cline-any cline-yes">
|
|
352
|
-
<span class="cline-any cline-yes">
|
|
353
|
-
<span class="cline-any cline-yes">
|
|
354
|
-
<span class="cline-any cline-yes">
|
|
355
|
-
<span class="cline-any cline-yes">
|
|
356
|
-
<span class="cline-any cline-yes">
|
|
377
|
+
<span class="cline-any cline-yes">14x</span>
|
|
378
|
+
<span class="cline-any cline-yes">2x</span>
|
|
379
|
+
<span class="cline-any cline-yes">2x</span>
|
|
380
|
+
<span class="cline-any cline-yes">2x</span>
|
|
381
|
+
<span class="cline-any cline-yes">2x</span>
|
|
382
|
+
<span class="cline-any cline-yes">10x</span>
|
|
357
383
|
<span class="cline-any cline-no"> </span>
|
|
358
|
-
<span class="cline-any cline-yes">
|
|
359
|
-
<span class="cline-any cline-yes">
|
|
384
|
+
<span class="cline-any cline-yes">8x</span>
|
|
385
|
+
<span class="cline-any cline-yes">8x</span>
|
|
360
386
|
<span class="cline-any cline-yes">2x</span>
|
|
387
|
+
<span class="cline-any cline-yes">8x</span>
|
|
388
|
+
<span class="cline-any cline-yes">6x</span>
|
|
361
389
|
<span class="cline-any cline-yes">6x</span>
|
|
362
|
-
<span class="cline-any cline-yes">
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
364
|
-
<span class="cline-any cline-yes">12x</span>
|
|
365
|
-
<span class="cline-any cline-yes">12x</span>
|
|
390
|
+
<span class="cline-any cline-yes">14x</span>
|
|
391
|
+
<span class="cline-any cline-yes">14x</span>
|
|
366
392
|
<span class="cline-any cline-yes">1x</span>
|
|
367
393
|
<span class="cline-any cline-yes">1x</span>
|
|
368
394
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -380,18 +406,18 @@
|
|
|
380
406
|
<span class="cline-any cline-yes">1x</span>
|
|
381
407
|
<span class="cline-any cline-yes">1x</span>
|
|
382
408
|
<span class="cline-any cline-yes">1x</span>
|
|
383
|
-
<span class="cline-any cline-yes">
|
|
384
|
-
<span class="cline-any cline-yes">
|
|
385
|
-
<span class="cline-any cline-yes">
|
|
386
|
-
<span class="cline-any cline-yes">
|
|
409
|
+
<span class="cline-any cline-yes">11x</span>
|
|
410
|
+
<span class="cline-any cline-yes">11x</span>
|
|
411
|
+
<span class="cline-any cline-yes">11x</span>
|
|
412
|
+
<span class="cline-any cline-yes">11x</span>
|
|
387
413
|
<span class="cline-any cline-no"> </span>
|
|
388
414
|
<span class="cline-any cline-no"> </span>
|
|
389
|
-
<span class="cline-any cline-yes">
|
|
390
|
-
<span class="cline-any cline-yes">
|
|
415
|
+
<span class="cline-any cline-yes">11x</span>
|
|
416
|
+
<span class="cline-any cline-yes">11x</span>
|
|
391
417
|
<span class="cline-any cline-yes">1x</span>
|
|
392
418
|
<span class="cline-any cline-yes">1x</span>
|
|
393
|
-
<span class="cline-any cline-yes">
|
|
394
|
-
<span class="cline-any cline-yes">
|
|
419
|
+
<span class="cline-any cline-yes">119x</span>
|
|
420
|
+
<span class="cline-any cline-yes">119x</span>
|
|
395
421
|
<span class="cline-any cline-yes">1x</span>
|
|
396
422
|
<span class="cline-any cline-yes">1x</span>
|
|
397
423
|
<span class="cline-any cline-no"> </span>
|
|
@@ -408,14 +434,37 @@
|
|
|
408
434
|
<span class="cline-any cline-no"> </span>
|
|
409
435
|
<span class="cline-any cline-yes">1x</span>
|
|
410
436
|
<span class="cline-any cline-yes">1x</span>
|
|
437
|
+
<span class="cline-any cline-yes">11x</span>
|
|
438
|
+
<span class="cline-any cline-yes">11x</span>
|
|
439
|
+
<span class="cline-any cline-yes">11x</span>
|
|
440
|
+
<span class="cline-any cline-yes">11x</span>
|
|
441
|
+
<span class="cline-any cline-yes">11x</span>
|
|
442
|
+
<span class="cline-any cline-yes">11x</span>
|
|
443
|
+
<span class="cline-any cline-yes">1x</span>
|
|
444
|
+
<span class="cline-any cline-yes">1x</span>
|
|
445
|
+
<span class="cline-any cline-yes">1x</span>
|
|
446
|
+
<span class="cline-any cline-yes">1x</span>
|
|
447
|
+
<span class="cline-any cline-yes">11x</span>
|
|
448
|
+
<span class="cline-any cline-yes">11x</span>
|
|
449
|
+
<span class="cline-any cline-yes">11x</span>
|
|
450
|
+
<span class="cline-any cline-yes">11x</span>
|
|
451
|
+
<span class="cline-any cline-yes">11x</span>
|
|
452
|
+
<span class="cline-any cline-yes">11x</span>
|
|
453
|
+
<span class="cline-any cline-yes">11x</span>
|
|
454
|
+
<span class="cline-any cline-no"> </span>
|
|
455
|
+
<span class="cline-any cline-no"> </span>
|
|
456
|
+
<span class="cline-any cline-yes">11x</span>
|
|
457
|
+
<span class="cline-any cline-yes">1x</span>
|
|
458
|
+
<span class="cline-any cline-yes">1x</span>
|
|
459
|
+
<span class="cline-any cline-yes">9x</span>
|
|
411
460
|
<span class="cline-any cline-yes">9x</span>
|
|
412
461
|
<span class="cline-any cline-yes">9x</span>
|
|
413
462
|
<span class="cline-any cline-yes">9x</span>
|
|
414
463
|
<span class="cline-any cline-yes">9x</span>
|
|
464
|
+
<span class="cline-any cline-no"> </span>
|
|
465
|
+
<span class="cline-any cline-yes">9x</span>
|
|
415
466
|
<span class="cline-any cline-yes">9x</span>
|
|
416
467
|
<span class="cline-any cline-yes">9x</span>
|
|
417
|
-
<span class="cline-any cline-yes">1x</span>
|
|
418
|
-
<span class="cline-any cline-yes">1x</span>
|
|
419
468
|
<span class="cline-any cline-yes">1x</span>
|
|
420
469
|
<span class="cline-any cline-yes">1x</span>
|
|
421
470
|
<span class="cline-any cline-yes">9x</span>
|
|
@@ -425,105 +474,82 @@
|
|
|
425
474
|
<span class="cline-any cline-yes">9x</span>
|
|
426
475
|
<span class="cline-any cline-yes">9x</span>
|
|
427
476
|
<span class="cline-any cline-yes">9x</span>
|
|
428
|
-
<span class="cline-any cline-no"> </span>
|
|
429
|
-
<span class="cline-any cline-no"> </span>
|
|
430
477
|
<span class="cline-any cline-yes">9x</span>
|
|
431
|
-
<span class="cline-any cline-yes">
|
|
432
|
-
<span class="cline-any cline-yes">
|
|
433
|
-
<span class="cline-any cline-yes">
|
|
434
|
-
<span class="cline-any cline-yes">7x</span>
|
|
435
|
-
<span class="cline-any cline-yes">7x</span>
|
|
436
|
-
<span class="cline-any cline-yes">7x</span>
|
|
437
|
-
<span class="cline-any cline-yes">7x</span>
|
|
438
|
-
<span class="cline-any cline-no"> </span>
|
|
439
|
-
<span class="cline-any cline-yes">7x</span>
|
|
440
|
-
<span class="cline-any cline-yes">7x</span>
|
|
441
|
-
<span class="cline-any cline-yes">7x</span>
|
|
442
|
-
<span class="cline-any cline-yes">1x</span>
|
|
443
|
-
<span class="cline-any cline-yes">1x</span>
|
|
444
|
-
<span class="cline-any cline-yes">7x</span>
|
|
445
|
-
<span class="cline-any cline-yes">7x</span>
|
|
446
|
-
<span class="cline-any cline-yes">7x</span>
|
|
447
|
-
<span class="cline-any cline-yes">7x</span>
|
|
448
|
-
<span class="cline-any cline-yes">7x</span>
|
|
449
|
-
<span class="cline-any cline-yes">7x</span>
|
|
450
|
-
<span class="cline-any cline-yes">7x</span>
|
|
451
|
-
<span class="cline-any cline-yes">7x</span>
|
|
452
|
-
<span class="cline-any cline-yes">7x</span>
|
|
453
|
-
<span class="cline-any cline-yes">7x</span>
|
|
454
|
-
<span class="cline-any cline-yes">7x</span>
|
|
478
|
+
<span class="cline-any cline-yes">9x</span>
|
|
479
|
+
<span class="cline-any cline-yes">9x</span>
|
|
480
|
+
<span class="cline-any cline-yes">9x</span>
|
|
455
481
|
<span class="cline-any cline-no"> </span>
|
|
456
482
|
<span class="cline-any cline-no"> </span>
|
|
457
483
|
<span class="cline-any cline-no"> </span>
|
|
458
484
|
<span class="cline-any cline-no"> </span>
|
|
459
485
|
<span class="cline-any cline-no"> </span>
|
|
460
|
-
<span class="cline-any cline-yes">
|
|
461
|
-
<span class="cline-any cline-yes">
|
|
462
|
-
<span class="cline-any cline-yes">
|
|
463
|
-
<span class="cline-any cline-yes">
|
|
486
|
+
<span class="cline-any cline-yes">9x</span>
|
|
487
|
+
<span class="cline-any cline-yes">9x</span>
|
|
488
|
+
<span class="cline-any cline-yes">9x</span>
|
|
489
|
+
<span class="cline-any cline-yes">9x</span>
|
|
464
490
|
<span class="cline-any cline-no"> </span>
|
|
465
491
|
<span class="cline-any cline-no"> </span>
|
|
466
492
|
<span class="cline-any cline-no"> </span>
|
|
467
|
-
<span class="cline-any cline-yes">
|
|
493
|
+
<span class="cline-any cline-yes">9x</span>
|
|
468
494
|
<span class="cline-any cline-yes">1x</span>
|
|
469
495
|
<span class="cline-any cline-yes">1x</span>
|
|
470
|
-
<span class="cline-any cline-yes">
|
|
471
|
-
<span class="cline-any cline-yes">
|
|
472
|
-
<span class="cline-any cline-yes">
|
|
473
|
-
<span class="cline-any cline-yes">
|
|
474
|
-
<span class="cline-any cline-yes">
|
|
475
|
-
<span class="cline-any cline-yes">
|
|
476
|
-
<span class="cline-any cline-yes">
|
|
477
|
-
<span class="cline-any cline-yes">
|
|
478
|
-
<span class="cline-any cline-yes">
|
|
496
|
+
<span class="cline-any cline-yes">9x</span>
|
|
497
|
+
<span class="cline-any cline-yes">9x</span>
|
|
498
|
+
<span class="cline-any cline-yes">9x</span>
|
|
499
|
+
<span class="cline-any cline-yes">9x</span>
|
|
500
|
+
<span class="cline-any cline-yes">9x</span>
|
|
501
|
+
<span class="cline-any cline-yes">9x</span>
|
|
502
|
+
<span class="cline-any cline-yes">9x</span>
|
|
503
|
+
<span class="cline-any cline-yes">9x</span>
|
|
504
|
+
<span class="cline-any cline-yes">9x</span>
|
|
479
505
|
<span class="cline-any cline-no"> </span>
|
|
480
506
|
<span class="cline-any cline-no"> </span>
|
|
481
|
-
<span class="cline-any cline-yes">
|
|
482
|
-
<span class="cline-any cline-yes">
|
|
483
|
-
<span class="cline-any cline-yes">
|
|
484
|
-
<span class="cline-any cline-yes">
|
|
485
|
-
<span class="cline-any cline-yes">
|
|
507
|
+
<span class="cline-any cline-yes">9x</span>
|
|
508
|
+
<span class="cline-any cline-yes">9x</span>
|
|
509
|
+
<span class="cline-any cline-yes">9x</span>
|
|
510
|
+
<span class="cline-any cline-yes">9x</span>
|
|
511
|
+
<span class="cline-any cline-yes">9x</span>
|
|
486
512
|
<span class="cline-any cline-no"> </span>
|
|
487
513
|
<span class="cline-any cline-no"> </span>
|
|
488
514
|
<span class="cline-any cline-no"> </span>
|
|
489
|
-
<span class="cline-any cline-yes">
|
|
515
|
+
<span class="cline-any cline-yes">9x</span>
|
|
516
|
+
<span class="cline-any cline-yes">1x</span>
|
|
517
|
+
<span class="cline-any cline-yes">1x</span>
|
|
518
|
+
<span class="cline-any cline-yes">1x</span>
|
|
519
|
+
<span class="cline-any cline-yes">1x</span>
|
|
520
|
+
<span class="cline-any cline-yes">1x</span>
|
|
490
521
|
<span class="cline-any cline-yes">1x</span>
|
|
491
522
|
<span class="cline-any cline-yes">1x</span>
|
|
492
523
|
<span class="cline-any cline-no"> </span>
|
|
493
524
|
<span class="cline-any cline-no"> </span>
|
|
494
525
|
<span class="cline-any cline-no"> </span>
|
|
495
|
-
<span class="cline-any cline-
|
|
496
|
-
<span class="cline-any cline-
|
|
497
|
-
<span class="cline-any cline-
|
|
498
|
-
<span class="cline-any cline-no"> </span>
|
|
499
|
-
<span class="cline-any cline-no"> </span>
|
|
500
|
-
<span class="cline-any cline-no"> </span>
|
|
501
|
-
<span class="cline-any cline-no"> </span>
|
|
502
|
-
<span class="cline-any cline-no"> </span>
|
|
503
|
-
<span class="cline-any cline-no"> </span>
|
|
526
|
+
<span class="cline-any cline-yes">1x</span>
|
|
527
|
+
<span class="cline-any cline-yes">1x</span>
|
|
528
|
+
<span class="cline-any cline-yes">1x</span>
|
|
504
529
|
<span class="cline-any cline-no"> </span>
|
|
505
530
|
<span class="cline-any cline-no"> </span>
|
|
506
531
|
<span class="cline-any cline-no"> </span>
|
|
507
532
|
<span class="cline-any cline-yes">1x</span>
|
|
508
533
|
<span class="cline-any cline-yes">1x</span>
|
|
534
|
+
<span class="cline-any cline-yes">1x</span>
|
|
509
535
|
<span class="cline-any cline-no"> </span>
|
|
510
536
|
<span class="cline-any cline-no"> </span>
|
|
511
537
|
<span class="cline-any cline-yes">1x</span>
|
|
512
538
|
<span class="cline-any cline-yes">1x</span>
|
|
513
|
-
<span class="cline-any cline-yes">
|
|
514
|
-
<span class="cline-any cline-yes">
|
|
539
|
+
<span class="cline-any cline-yes">18x</span>
|
|
540
|
+
<span class="cline-any cline-yes">18x</span>
|
|
515
541
|
<span class="cline-any cline-yes">1x</span>
|
|
516
542
|
<span class="cline-any cline-yes">1x</span>
|
|
517
|
-
<span class="cline-any cline-yes">
|
|
518
|
-
<span class="cline-any cline-yes">
|
|
543
|
+
<span class="cline-any cline-yes">19x</span>
|
|
544
|
+
<span class="cline-any cline-yes">19x</span>
|
|
519
545
|
<span class="cline-any cline-yes">1x</span>
|
|
520
546
|
<span class="cline-any cline-yes">1x</span>
|
|
521
|
-
<span class="cline-any cline-yes">
|
|
522
|
-
<span class="cline-any cline-yes">
|
|
523
|
-
<span class="cline-any cline-yes">
|
|
524
|
-
<span class="cline-any cline-yes">
|
|
525
|
-
<span class="cline-any cline-yes">
|
|
526
|
-
<span class="cline-any cline-yes">
|
|
547
|
+
<span class="cline-any cline-yes">19x</span>
|
|
548
|
+
<span class="cline-any cline-yes">19x</span>
|
|
549
|
+
<span class="cline-any cline-yes">19x</span>
|
|
550
|
+
<span class="cline-any cline-yes">19x</span>
|
|
551
|
+
<span class="cline-any cline-yes">19x</span>
|
|
552
|
+
<span class="cline-any cline-yes">19x</span>
|
|
527
553
|
<span class="cline-any cline-yes">1x</span>
|
|
528
554
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import _ from 'lodash'
|
|
529
555
|
import moment from 'moment'
|
|
@@ -539,13 +565,21 @@ Object.getPrototypeOf(moment()).toBSON = <span class="fstat-no" title="function
|
|
|
539
565
|
<span class="cstat-no" title="statement not covered" > return this.toDate()</span>
|
|
540
566
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
541
567
|
|
|
568
|
+
// Check if a given object is an instance of MongoDB ObjectID
|
|
542
569
|
export function isObjectID (id) {
|
|
543
|
-
return id && (typeof id.toHexString === 'function')
|
|
570
|
+
return id && (typeof id.toHexString === 'function') && (typeof id.getTimestamp === 'function')
|
|
571
|
+
}
|
|
572
|
+
// Check if a given string is a valid MongoDB ObjectID
|
|
573
|
+
export function isValidObjectID (id) {
|
|
574
|
+
// We don't use ObjectID.isValid as it returns true for any string that contains 12 characters: https://jira.mongodb.org/browse/NODE-4912.
|
|
575
|
+
// Regular expression that checks for hex value
|
|
576
|
+
const checkForHexRegExp = /^[0-9a-fA-F]{24}$/
|
|
577
|
+
return (id && (id.length === 24) && checkForHexRegExp.test(id))
|
|
544
578
|
}
|
|
545
579
|
|
|
546
580
|
export <span class="fstat-no" title="function not covered" >function idToString (id) {</span>
|
|
547
581
|
<span class="cstat-no" title="statement not covered" > return (typeof id === 'object'</span>
|
|
548
|
-
<span class="cstat-no" title="statement not covered" > ? (
|
|
582
|
+
<span class="cstat-no" title="statement not covered" > ? (isObjectID(id)</span>
|
|
549
583
|
<span class="cstat-no" title="statement not covered" > ? id.toString()</span>
|
|
550
584
|
<span class="cstat-no" title="statement not covered" > : idToString(id._id))</span>
|
|
551
585
|
<span class="cstat-no" title="statement not covered" > : id)</span>
|
|
@@ -555,8 +589,13 @@ export function createObjectID (id) {
|
|
|
555
589
|
// This ensure it works even if id is already an ObjectID
|
|
556
590
|
if (isObjectID(id)) <span class="branch-0 cbranch-no" title="branch not covered" >return id</span>
|
|
557
591
|
// Take care that numbers could be a valid object ID
|
|
558
|
-
else if ((typeof id === 'number') || !
|
|
559
|
-
else
|
|
592
|
+
else if ((typeof id === 'number') || !isValidObjectID(id)) return null
|
|
593
|
+
else {
|
|
594
|
+
const objectId = new ObjectID(id)
|
|
595
|
+
// It appears that ObjectID.isValid is not reliable in some driver versions, see eg https://jira.mongodb.org/browse/NODE-3760
|
|
596
|
+
// So that we use an additional check here
|
|
597
|
+
return (objectId.toString() === id ? objectId <span class="branch-0 cbranch-no" title="branch not covered" >: null)</span>
|
|
598
|
+
}
|
|
560
599
|
}
|
|
561
600
|
|
|
562
601
|
// Utility function used to convert from string to MongoDB IDs as required eg by queries
|
|
@@ -719,22 +758,22 @@ export class MongoDatabase extends Database {
|
|
|
719
758
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
720
759
|
}
|
|
721
760
|
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
761
|
+
async healthcheck () {
|
|
762
|
+
try {
|
|
763
|
+
await this.instance.admin().ping()
|
|
764
|
+
if (this._secondaries) {
|
|
765
|
+
const dbNames = _.keys(this._secondaries)
|
|
766
|
+
for (let i = 0; i < dbNames.length; i++) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
728
767
|
<span class="cstat-no" title="statement not covered" > const dbName = dbNames[i]</span>
|
|
729
768
|
<span class="cstat-no" title="statement not covered" > await this._dbs[dbName].admin().ping()</span>
|
|
730
769
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
<span class="
|
|
770
|
+
}
|
|
771
|
+
return true
|
|
772
|
+
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
|
|
734
773
|
<span class="cstat-no" title="statement not covered" > this.app.logger.error('Healthcheck from ' + this.adapter + ' database(s) failed', error)</span>
|
|
735
774
|
<span class="cstat-no" title="statement not covered" > return false</span>
|
|
736
775
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
737
|
-
|
|
776
|
+
}
|
|
738
777
|
|
|
739
778
|
<span class="fstat-no" title="function not covered" > get client () {</span>
|
|
740
779
|
<span class="cstat-no" title="statement not covered" > return this._client</span>
|
|
@@ -763,7 +802,7 @@ export class MongoDatabase extends Database {
|
|
|
763
802
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
764
803
|
Code coverage generated by
|
|
765
804
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
766
|
-
at
|
|
805
|
+
at 2026-03-10T09:15:24.743Z
|
|
767
806
|
</div>
|
|
768
807
|
<script src="../../prettify.js"></script>
|
|
769
808
|
<script>
|