@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">60.7% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>360/593</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">56% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>42/75</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">60.86% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>14/23</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">60.7% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>360/593</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 medium'></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>
|
|
@@ -656,11 +656,7 @@
|
|
|
656
656
|
<a name='L591'></a><a href='#L591'>591</a>
|
|
657
657
|
<a name='L592'></a><a href='#L592'>592</a>
|
|
658
658
|
<a name='L593'></a><a href='#L593'>593</a>
|
|
659
|
-
<a name='L594'></a><a href='#L594'>594</a>
|
|
660
|
-
<a name='L595'></a><a href='#L595'>595</a>
|
|
661
|
-
<a name='L596'></a><a href='#L596'>596</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
662
|
-
<span class="cline-any cline-yes">1x</span>
|
|
663
|
-
<span class="cline-any cline-yes">1x</span>
|
|
659
|
+
<a name='L594'></a><a href='#L594'>594</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
664
660
|
<span class="cline-any cline-yes">1x</span>
|
|
665
661
|
<span class="cline-any cline-yes">1x</span>
|
|
666
662
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -699,65 +695,65 @@
|
|
|
699
695
|
<span class="cline-any cline-no"> </span>
|
|
700
696
|
<span class="cline-any cline-yes">1x</span>
|
|
701
697
|
<span class="cline-any cline-yes">1x</span>
|
|
702
|
-
<span class="cline-any cline-yes">
|
|
703
|
-
<span class="cline-any cline-yes">
|
|
704
|
-
<span class="cline-any cline-yes">
|
|
705
|
-
<span class="cline-any cline-no"> </span>
|
|
706
|
-
<span class="cline-any cline-no"> </span>
|
|
707
|
-
<span class="cline-any cline-no"> </span>
|
|
708
|
-
<span class="cline-any cline-yes">
|
|
709
|
-
<span class="cline-any cline-yes">
|
|
710
|
-
<span class="cline-any cline-yes">
|
|
711
|
-
<span class="cline-any cline-yes">
|
|
712
|
-
<span class="cline-any cline-yes">
|
|
713
|
-
<span class="cline-any cline-yes">
|
|
714
|
-
<span class="cline-any cline-yes">
|
|
715
|
-
<span class="cline-any cline-yes">
|
|
716
|
-
<span class="cline-any cline-yes">
|
|
717
|
-
<span class="cline-any cline-yes">
|
|
718
|
-
<span class="cline-any cline-yes">
|
|
719
|
-
<span class="cline-any cline-yes">
|
|
720
|
-
<span class="cline-any cline-yes">
|
|
721
|
-
<span class="cline-any cline-yes">
|
|
722
|
-
<span class="cline-any cline-yes">
|
|
723
|
-
<span class="cline-any cline-yes">
|
|
724
|
-
<span class="cline-any cline-yes">
|
|
725
|
-
<span class="cline-any cline-yes">
|
|
726
|
-
<span class="cline-any cline-yes">
|
|
727
|
-
<span class="cline-any cline-yes">
|
|
728
|
-
<span class="cline-any cline-yes">
|
|
729
|
-
<span class="cline-any cline-yes">
|
|
730
|
-
<span class="cline-any cline-yes">
|
|
731
|
-
<span class="cline-any cline-yes">
|
|
732
|
-
<span class="cline-any cline-yes">
|
|
733
|
-
<span class="cline-any cline-yes">
|
|
734
|
-
<span class="cline-any cline-yes">
|
|
735
|
-
<span class="cline-any cline-yes">
|
|
736
|
-
<span class="cline-any cline-yes">
|
|
737
|
-
<span class="cline-any cline-yes">
|
|
738
|
-
<span class="cline-any cline-yes">
|
|
739
|
-
<span class="cline-any cline-yes">
|
|
740
|
-
<span class="cline-any cline-yes">
|
|
741
|
-
<span class="cline-any cline-yes">
|
|
742
|
-
<span class="cline-any cline-yes">
|
|
743
|
-
<span class="cline-any cline-yes">
|
|
744
|
-
<span class="cline-any cline-yes">
|
|
745
|
-
<span class="cline-any cline-no"> </span>
|
|
746
|
-
<span class="cline-any cline-no"> </span>
|
|
747
|
-
<span class="cline-any cline-yes">
|
|
748
|
-
<span class="cline-any cline-yes">
|
|
749
|
-
<span class="cline-any cline-yes">
|
|
698
|
+
<span class="cline-any cline-yes">74x</span>
|
|
699
|
+
<span class="cline-any cline-yes">74x</span>
|
|
700
|
+
<span class="cline-any cline-yes">74x</span>
|
|
701
|
+
<span class="cline-any cline-no"> </span>
|
|
702
|
+
<span class="cline-any cline-no"> </span>
|
|
703
|
+
<span class="cline-any cline-no"> </span>
|
|
704
|
+
<span class="cline-any cline-yes">74x</span>
|
|
705
|
+
<span class="cline-any cline-yes">74x</span>
|
|
706
|
+
<span class="cline-any cline-yes">74x</span>
|
|
707
|
+
<span class="cline-any cline-yes">74x</span>
|
|
708
|
+
<span class="cline-any cline-yes">74x</span>
|
|
709
|
+
<span class="cline-any cline-yes">74x</span>
|
|
710
|
+
<span class="cline-any cline-yes">74x</span>
|
|
711
|
+
<span class="cline-any cline-yes">74x</span>
|
|
712
|
+
<span class="cline-any cline-yes">74x</span>
|
|
713
|
+
<span class="cline-any cline-yes">74x</span>
|
|
714
|
+
<span class="cline-any cline-yes">74x</span>
|
|
715
|
+
<span class="cline-any cline-yes">74x</span>
|
|
716
|
+
<span class="cline-any cline-yes">74x</span>
|
|
717
|
+
<span class="cline-any cline-yes">74x</span>
|
|
718
|
+
<span class="cline-any cline-yes">74x</span>
|
|
719
|
+
<span class="cline-any cline-yes">74x</span>
|
|
720
|
+
<span class="cline-any cline-yes">74x</span>
|
|
721
|
+
<span class="cline-any cline-yes">74x</span>
|
|
722
|
+
<span class="cline-any cline-yes">74x</span>
|
|
723
|
+
<span class="cline-any cline-yes">74x</span>
|
|
724
|
+
<span class="cline-any cline-yes">74x</span>
|
|
725
|
+
<span class="cline-any cline-yes">74x</span>
|
|
726
|
+
<span class="cline-any cline-yes">74x</span>
|
|
727
|
+
<span class="cline-any cline-yes">74x</span>
|
|
728
|
+
<span class="cline-any cline-yes">29x</span>
|
|
729
|
+
<span class="cline-any cline-yes">74x</span>
|
|
730
|
+
<span class="cline-any cline-yes">74x</span>
|
|
731
|
+
<span class="cline-any cline-yes">74x</span>
|
|
732
|
+
<span class="cline-any cline-yes">74x</span>
|
|
733
|
+
<span class="cline-any cline-yes">74x</span>
|
|
734
|
+
<span class="cline-any cline-yes">15x</span>
|
|
735
|
+
<span class="cline-any cline-yes">15x</span>
|
|
736
|
+
<span class="cline-any cline-yes">10x</span>
|
|
737
|
+
<span class="cline-any cline-yes">10x</span>
|
|
738
|
+
<span class="cline-any cline-yes">15x</span>
|
|
739
|
+
<span class="cline-any cline-yes">15x</span>
|
|
740
|
+
<span class="cline-any cline-yes">74x</span>
|
|
741
|
+
<span class="cline-any cline-no"> </span>
|
|
742
|
+
<span class="cline-any cline-no"> </span>
|
|
743
|
+
<span class="cline-any cline-yes">74x</span>
|
|
744
|
+
<span class="cline-any cline-yes">74x</span>
|
|
745
|
+
<span class="cline-any cline-yes">74x</span>
|
|
750
746
|
<span class="cline-any cline-yes">1x</span>
|
|
751
747
|
<span class="cline-any cline-yes">1x</span>
|
|
752
|
-
<span class="cline-any cline-yes">
|
|
753
|
-
<span class="cline-any cline-yes">
|
|
754
|
-
<span class="cline-any cline-yes">
|
|
755
|
-
<span class="cline-any cline-yes">
|
|
756
|
-
<span class="cline-any cline-yes">
|
|
757
|
-
<span class="cline-any cline-yes">
|
|
758
|
-
<span class="cline-any cline-yes">
|
|
759
|
-
<span class="cline-any cline-yes">
|
|
760
|
-
<span class="cline-any cline-yes">
|
|
748
|
+
<span class="cline-any cline-yes">73x</span>
|
|
749
|
+
<span class="cline-any cline-yes">73x</span>
|
|
750
|
+
<span class="cline-any cline-yes">73x</span>
|
|
751
|
+
<span class="cline-any cline-yes">73x</span>
|
|
752
|
+
<span class="cline-any cline-yes">73x</span>
|
|
753
|
+
<span class="cline-any cline-yes">73x</span>
|
|
754
|
+
<span class="cline-any cline-yes">73x</span>
|
|
755
|
+
<span class="cline-any cline-yes">73x</span>
|
|
756
|
+
<span class="cline-any cline-yes">73x</span>
|
|
761
757
|
<span class="cline-any cline-no"> </span>
|
|
762
758
|
<span class="cline-any cline-no"> </span>
|
|
763
759
|
<span class="cline-any cline-no"> </span>
|
|
@@ -765,11 +761,11 @@
|
|
|
765
761
|
<span class="cline-any cline-no"> </span>
|
|
766
762
|
<span class="cline-any cline-no"> </span>
|
|
767
763
|
<span class="cline-any cline-no"> </span>
|
|
768
|
-
<span class="cline-any cline-yes">
|
|
769
|
-
<span class="cline-any cline-yes">
|
|
770
|
-
<span class="cline-any cline-yes">
|
|
771
|
-
<span class="cline-any cline-yes">
|
|
772
|
-
<span class="cline-any cline-yes">
|
|
764
|
+
<span class="cline-any cline-yes">73x</span>
|
|
765
|
+
<span class="cline-any cline-yes">73x</span>
|
|
766
|
+
<span class="cline-any cline-yes">73x</span>
|
|
767
|
+
<span class="cline-any cline-yes">73x</span>
|
|
768
|
+
<span class="cline-any cline-yes">73x</span>
|
|
773
769
|
<span class="cline-any cline-no"> </span>
|
|
774
770
|
<span class="cline-any cline-no"> </span>
|
|
775
771
|
<span class="cline-any cline-no"> </span>
|
|
@@ -777,7 +773,7 @@
|
|
|
777
773
|
<span class="cline-any cline-no"> </span>
|
|
778
774
|
<span class="cline-any cline-no"> </span>
|
|
779
775
|
<span class="cline-any cline-no"> </span>
|
|
780
|
-
<span class="cline-any cline-yes">
|
|
776
|
+
<span class="cline-any cline-yes">73x</span>
|
|
781
777
|
<span class="cline-any cline-no"> </span>
|
|
782
778
|
<span class="cline-any cline-no"> </span>
|
|
783
779
|
<span class="cline-any cline-no"> </span>
|
|
@@ -785,9 +781,9 @@
|
|
|
785
781
|
<span class="cline-any cline-no"> </span>
|
|
786
782
|
<span class="cline-any cline-no"> </span>
|
|
787
783
|
<span class="cline-any cline-no"> </span>
|
|
788
|
-
<span class="cline-any cline-yes">
|
|
789
|
-
<span class="cline-any cline-yes">
|
|
790
|
-
<span class="cline-any cline-yes">
|
|
784
|
+
<span class="cline-any cline-yes">73x</span>
|
|
785
|
+
<span class="cline-any cline-yes">73x</span>
|
|
786
|
+
<span class="cline-any cline-yes">73x</span>
|
|
791
787
|
<span class="cline-any cline-yes">1x</span>
|
|
792
788
|
<span class="cline-any cline-yes">1x</span>
|
|
793
789
|
<span class="cline-any cline-no"> </span>
|
|
@@ -824,39 +820,39 @@
|
|
|
824
820
|
<span class="cline-any cline-no"> </span>
|
|
825
821
|
<span class="cline-any cline-no"> </span>
|
|
826
822
|
<span class="cline-any cline-yes">1x</span>
|
|
823
|
+
<span class="cline-any cline-yes">73x</span>
|
|
824
|
+
<span class="cline-any cline-yes">73x</span>
|
|
825
|
+
<span class="cline-any cline-yes">73x</span>
|
|
826
|
+
<span class="cline-any cline-yes">73x</span>
|
|
827
|
+
<span class="cline-any cline-yes">73x</span>
|
|
828
|
+
<span class="cline-any cline-yes">73x</span>
|
|
829
|
+
<span class="cline-any cline-yes">73x</span>
|
|
830
|
+
<span class="cline-any cline-yes">73x</span>
|
|
831
|
+
<span class="cline-any cline-yes">73x</span>
|
|
832
|
+
<span class="cline-any cline-yes">73x</span>
|
|
833
|
+
<span class="cline-any cline-yes">73x</span>
|
|
834
|
+
<span class="cline-any cline-yes">73x</span>
|
|
835
|
+
<span class="cline-any cline-yes">73x</span>
|
|
836
|
+
<span class="cline-any cline-yes">73x</span>
|
|
837
|
+
<span class="cline-any cline-yes">73x</span>
|
|
838
|
+
<span class="cline-any cline-yes">73x</span>
|
|
839
|
+
<span class="cline-any cline-yes">73x</span>
|
|
840
|
+
<span class="cline-any cline-yes">73x</span>
|
|
841
|
+
<span class="cline-any cline-yes">73x</span>
|
|
842
|
+
<span class="cline-any cline-yes">73x</span>
|
|
843
|
+
<span class="cline-any cline-yes">73x</span>
|
|
844
|
+
<span class="cline-any cline-yes">73x</span>
|
|
845
|
+
<span class="cline-any cline-yes">73x</span>
|
|
827
846
|
<span class="cline-any cline-yes">28x</span>
|
|
828
847
|
<span class="cline-any cline-yes">28x</span>
|
|
829
848
|
<span class="cline-any cline-yes">28x</span>
|
|
849
|
+
<span class="cline-any cline-yes">19x</span>
|
|
850
|
+
<span class="cline-any cline-yes">19x</span>
|
|
851
|
+
<span class="cline-any cline-yes">19x</span>
|
|
852
|
+
<span class="cline-any cline-yes">19x</span>
|
|
853
|
+
<span class="cline-any cline-yes">19x</span>
|
|
830
854
|
<span class="cline-any cline-yes">28x</span>
|
|
831
|
-
<span class="cline-any cline-yes">
|
|
832
|
-
<span class="cline-any cline-yes">28x</span>
|
|
833
|
-
<span class="cline-any cline-yes">28x</span>
|
|
834
|
-
<span class="cline-any cline-yes">28x</span>
|
|
835
|
-
<span class="cline-any cline-yes">28x</span>
|
|
836
|
-
<span class="cline-any cline-yes">28x</span>
|
|
837
|
-
<span class="cline-any cline-yes">28x</span>
|
|
838
|
-
<span class="cline-any cline-yes">28x</span>
|
|
839
|
-
<span class="cline-any cline-yes">28x</span>
|
|
840
|
-
<span class="cline-any cline-yes">28x</span>
|
|
841
|
-
<span class="cline-any cline-yes">28x</span>
|
|
842
|
-
<span class="cline-any cline-yes">28x</span>
|
|
843
|
-
<span class="cline-any cline-yes">28x</span>
|
|
844
|
-
<span class="cline-any cline-yes">28x</span>
|
|
845
|
-
<span class="cline-any cline-yes">28x</span>
|
|
846
|
-
<span class="cline-any cline-yes">28x</span>
|
|
847
|
-
<span class="cline-any cline-yes">28x</span>
|
|
848
|
-
<span class="cline-any cline-yes">28x</span>
|
|
849
|
-
<span class="cline-any cline-yes">28x</span>
|
|
850
|
-
<span class="cline-any cline-yes">14x</span>
|
|
851
|
-
<span class="cline-any cline-yes">14x</span>
|
|
852
|
-
<span class="cline-any cline-yes">14x</span>
|
|
853
|
-
<span class="cline-any cline-yes">7x</span>
|
|
854
|
-
<span class="cline-any cline-yes">7x</span>
|
|
855
|
-
<span class="cline-any cline-yes">7x</span>
|
|
856
|
-
<span class="cline-any cline-yes">7x</span>
|
|
857
|
-
<span class="cline-any cline-yes">7x</span>
|
|
858
|
-
<span class="cline-any cline-yes">14x</span>
|
|
859
|
-
<span class="cline-any cline-yes">28x</span>
|
|
855
|
+
<span class="cline-any cline-yes">73x</span>
|
|
860
856
|
<span class="cline-any cline-no"> </span>
|
|
861
857
|
<span class="cline-any cline-no"> </span>
|
|
862
858
|
<span class="cline-any cline-no"> </span>
|
|
@@ -864,40 +860,40 @@
|
|
|
864
860
|
<span class="cline-any cline-no"> </span>
|
|
865
861
|
<span class="cline-any cline-no"> </span>
|
|
866
862
|
<span class="cline-any cline-no"> </span>
|
|
867
|
-
<span class="cline-any cline-yes">
|
|
868
|
-
<span class="cline-any cline-yes">
|
|
869
|
-
<span class="cline-any cline-yes">
|
|
870
|
-
<span class="cline-any cline-yes">
|
|
871
|
-
<span class="cline-any cline-yes">
|
|
872
|
-
<span class="cline-any cline-yes">
|
|
873
|
-
<span class="cline-any cline-yes">
|
|
874
|
-
<span class="cline-any cline-no"> </span>
|
|
875
|
-
<span class="cline-any cline-yes">21x</span>
|
|
876
|
-
<span class="cline-any cline-yes">21x</span>
|
|
877
|
-
<span class="cline-any cline-yes">21x</span>
|
|
878
|
-
<span class="cline-any cline-yes">21x</span>
|
|
879
|
-
<span class="cline-any cline-yes">21x</span>
|
|
880
|
-
<span class="cline-any cline-yes">21x</span>
|
|
881
|
-
<span class="cline-any cline-yes">14x</span>
|
|
882
|
-
<span class="cline-any cline-yes">14x</span>
|
|
883
|
-
<span class="cline-any cline-yes">14x</span>
|
|
884
|
-
<span class="cline-any cline-yes">21x</span>
|
|
885
|
-
<span class="cline-any cline-yes">21x</span>
|
|
886
|
-
<span class="cline-any cline-yes">21x</span>
|
|
887
|
-
<span class="cline-any cline-yes">28x</span>
|
|
888
|
-
<span class="cline-any cline-yes">7x</span>
|
|
889
|
-
<span class="cline-any cline-yes">7x</span>
|
|
890
|
-
<span class="cline-any cline-yes">7x</span>
|
|
891
|
-
<span class="cline-any cline-yes">7x</span>
|
|
892
|
-
<span class="cline-any cline-no"> </span>
|
|
893
|
-
<span class="cline-any cline-no"> </span>
|
|
894
|
-
<span class="cline-any cline-no"> </span>
|
|
895
|
-
<span class="cline-any cline-no"> </span>
|
|
896
|
-
<span class="cline-any cline-no"> </span>
|
|
863
|
+
<span class="cline-any cline-yes">73x</span>
|
|
864
|
+
<span class="cline-any cline-yes">73x</span>
|
|
865
|
+
<span class="cline-any cline-yes">73x</span>
|
|
866
|
+
<span class="cline-any cline-yes">73x</span>
|
|
867
|
+
<span class="cline-any cline-yes">19x</span>
|
|
868
|
+
<span class="cline-any cline-yes">19x</span>
|
|
869
|
+
<span class="cline-any cline-yes">73x</span>
|
|
897
870
|
<span class="cline-any cline-no"> </span>
|
|
871
|
+
<span class="cline-any cline-yes">54x</span>
|
|
872
|
+
<span class="cline-any cline-yes">54x</span>
|
|
873
|
+
<span class="cline-any cline-yes">54x</span>
|
|
874
|
+
<span class="cline-any cline-yes">54x</span>
|
|
875
|
+
<span class="cline-any cline-yes">54x</span>
|
|
876
|
+
<span class="cline-any cline-yes">54x</span>
|
|
877
|
+
<span class="cline-any cline-yes">45x</span>
|
|
878
|
+
<span class="cline-any cline-yes">45x</span>
|
|
879
|
+
<span class="cline-any cline-yes">54x</span>
|
|
880
|
+
<span class="cline-any cline-yes">54x</span>
|
|
881
|
+
<span class="cline-any cline-yes">54x</span>
|
|
882
|
+
<span class="cline-any cline-yes">73x</span>
|
|
883
|
+
<span class="cline-any cline-yes">73x</span>
|
|
884
|
+
<span class="cline-any cline-yes">19x</span>
|
|
885
|
+
<span class="cline-any cline-yes">19x</span>
|
|
886
|
+
<span class="cline-any cline-yes">19x</span>
|
|
887
|
+
<span class="cline-any cline-yes">19x</span>
|
|
888
|
+
<span class="cline-any cline-yes">9x</span>
|
|
889
|
+
<span class="cline-any cline-yes">9x</span>
|
|
890
|
+
<span class="cline-any cline-yes">9x</span>
|
|
898
891
|
<span class="cline-any cline-no"> </span>
|
|
899
892
|
<span class="cline-any cline-no"> </span>
|
|
900
|
-
<span class="cline-any cline-yes">
|
|
893
|
+
<span class="cline-any cline-yes">9x</span>
|
|
894
|
+
<span class="cline-any cline-yes">9x</span>
|
|
895
|
+
<span class="cline-any cline-yes">9x</span>
|
|
896
|
+
<span class="cline-any cline-yes">19x</span>
|
|
901
897
|
<span class="cline-any cline-no"> </span>
|
|
902
898
|
<span class="cline-any cline-no"> </span>
|
|
903
899
|
<span class="cline-any cline-no"> </span>
|
|
@@ -905,17 +901,17 @@
|
|
|
905
901
|
<span class="cline-any cline-no"> </span>
|
|
906
902
|
<span class="cline-any cline-no"> </span>
|
|
907
903
|
<span class="cline-any cline-no"> </span>
|
|
908
|
-
<span class="cline-any cline-yes">
|
|
909
|
-
<span class="cline-any cline-yes">
|
|
910
|
-
<span class="cline-any cline-yes">
|
|
911
|
-
<span class="cline-any cline-yes">
|
|
912
|
-
<span class="cline-any cline-yes">
|
|
913
|
-
<span class="cline-any cline-yes">
|
|
914
|
-
<span class="cline-any cline-yes">
|
|
915
|
-
<span class="cline-any cline-yes">
|
|
916
|
-
<span class="cline-any cline-yes">
|
|
917
|
-
<span class="cline-any cline-yes">
|
|
918
|
-
<span class="cline-any cline-yes">
|
|
904
|
+
<span class="cline-any cline-yes">19x</span>
|
|
905
|
+
<span class="cline-any cline-yes">73x</span>
|
|
906
|
+
<span class="cline-any cline-yes">73x</span>
|
|
907
|
+
<span class="cline-any cline-yes">73x</span>
|
|
908
|
+
<span class="cline-any cline-yes">73x</span>
|
|
909
|
+
<span class="cline-any cline-yes">73x</span>
|
|
910
|
+
<span class="cline-any cline-yes">73x</span>
|
|
911
|
+
<span class="cline-any cline-yes">73x</span>
|
|
912
|
+
<span class="cline-any cline-yes">73x</span>
|
|
913
|
+
<span class="cline-any cline-yes">73x</span>
|
|
914
|
+
<span class="cline-any cline-yes">73x</span>
|
|
919
915
|
<span class="cline-any cline-yes">1x</span>
|
|
920
916
|
<span class="cline-any cline-no"> </span>
|
|
921
917
|
<span class="cline-any cline-no"> </span>
|
|
@@ -937,116 +933,114 @@
|
|
|
937
933
|
<span class="cline-any cline-no"> </span>
|
|
938
934
|
<span class="cline-any cline-no"> </span>
|
|
939
935
|
<span class="cline-any cline-yes">1x</span>
|
|
940
|
-
<span class="cline-any cline-
|
|
941
|
-
<span class="cline-any cline-
|
|
942
|
-
<span class="cline-any cline-
|
|
943
|
-
<span class="cline-any cline-
|
|
944
|
-
<span class="cline-any cline-
|
|
936
|
+
<span class="cline-any cline-yes">3x</span>
|
|
937
|
+
<span class="cline-any cline-yes">3x</span>
|
|
938
|
+
<span class="cline-any cline-yes">3x</span>
|
|
939
|
+
<span class="cline-any cline-yes">3x</span>
|
|
940
|
+
<span class="cline-any cline-yes">3x</span>
|
|
945
941
|
<span class="cline-any cline-yes">1x</span>
|
|
946
942
|
<span class="cline-any cline-yes">1x</span>
|
|
943
|
+
<span class="cline-any cline-yes">3x</span>
|
|
944
|
+
<span class="cline-any cline-yes">3x</span>
|
|
945
|
+
<span class="cline-any cline-yes">3x</span>
|
|
946
|
+
<span class="cline-any cline-yes">3x</span>
|
|
947
|
+
<span class="cline-any cline-yes">3x</span>
|
|
948
|
+
<span class="cline-any cline-yes">3x</span>
|
|
947
949
|
<span class="cline-any cline-no"> </span>
|
|
948
950
|
<span class="cline-any cline-no"> </span>
|
|
951
|
+
<span class="cline-any cline-yes">3x</span>
|
|
952
|
+
<span class="cline-any cline-yes">3x</span>
|
|
953
|
+
<span class="cline-any cline-yes">3x</span>
|
|
954
|
+
<span class="cline-any cline-yes">3x</span>
|
|
955
|
+
<span class="cline-any cline-yes">3x</span>
|
|
949
956
|
<span class="cline-any cline-no"> </span>
|
|
950
957
|
<span class="cline-any cline-no"> </span>
|
|
951
|
-
<span class="cline-any cline-
|
|
952
|
-
<span class="cline-any cline-
|
|
953
|
-
<span class="cline-any cline-
|
|
954
|
-
<span class="cline-any cline-
|
|
955
|
-
<span class="cline-any cline-no"> </span>
|
|
956
|
-
<span class="cline-any cline-no"> </span>
|
|
957
|
-
<span class="cline-any cline-no"> </span>
|
|
958
|
-
<span class="cline-any cline-no"> </span>
|
|
959
|
-
<span class="cline-any cline-no"> </span>
|
|
960
|
-
<span class="cline-any cline-no"> </span>
|
|
961
|
-
<span class="cline-any cline-no"> </span>
|
|
962
|
-
<span class="cline-any cline-no"> </span>
|
|
963
|
-
<span class="cline-any cline-no"> </span>
|
|
964
|
-
<span class="cline-any cline-no"> </span>
|
|
965
|
-
<span class="cline-any cline-no"> </span>
|
|
966
|
-
<span class="cline-any cline-no"> </span>
|
|
967
|
-
<span class="cline-any cline-no"> </span>
|
|
968
|
-
<span class="cline-any cline-no"> </span>
|
|
969
|
-
<span class="cline-any cline-no"> </span>
|
|
970
|
-
<span class="cline-any cline-no"> </span>
|
|
971
|
-
<span class="cline-any cline-no"> </span>
|
|
972
|
-
<span class="cline-any cline-no"> </span>
|
|
973
|
-
<span class="cline-any cline-no"> </span>
|
|
974
|
-
<span class="cline-any cline-no"> </span>
|
|
975
|
-
<span class="cline-any cline-no"> </span>
|
|
976
|
-
<span class="cline-any cline-no"> </span>
|
|
977
|
-
<span class="cline-any cline-no"> </span>
|
|
978
|
-
<span class="cline-any cline-no"> </span>
|
|
979
|
-
<span class="cline-any cline-no"> </span>
|
|
980
|
-
<span class="cline-any cline-no"> </span>
|
|
981
|
-
<span class="cline-any cline-no"> </span>
|
|
982
|
-
<span class="cline-any cline-no"> </span>
|
|
983
|
-
<span class="cline-any cline-no"> </span>
|
|
984
|
-
<span class="cline-any cline-no"> </span>
|
|
985
|
-
<span class="cline-any cline-no"> </span>
|
|
986
|
-
<span class="cline-any cline-no"> </span>
|
|
987
|
-
<span class="cline-any cline-no"> </span>
|
|
988
|
-
<span class="cline-any cline-no"> </span>
|
|
989
|
-
<span class="cline-any cline-no"> </span>
|
|
990
|
-
<span class="cline-any cline-no"> </span>
|
|
991
|
-
<span class="cline-any cline-no"> </span>
|
|
992
|
-
<span class="cline-any cline-no"> </span>
|
|
993
|
-
<span class="cline-any cline-no"> </span>
|
|
994
|
-
<span class="cline-any cline-no"> </span>
|
|
995
|
-
<span class="cline-any cline-no"> </span>
|
|
996
|
-
<span class="cline-any cline-no"> </span>
|
|
958
|
+
<span class="cline-any cline-yes">3x</span>
|
|
959
|
+
<span class="cline-any cline-yes">3x</span>
|
|
960
|
+
<span class="cline-any cline-yes">3x</span>
|
|
961
|
+
<span class="cline-any cline-yes">3x</span>
|
|
997
962
|
<span class="cline-any cline-yes">1x</span>
|
|
998
963
|
<span class="cline-any cline-yes">1x</span>
|
|
999
964
|
<span class="cline-any cline-yes">1x</span>
|
|
1000
965
|
<span class="cline-any cline-yes">1x</span>
|
|
1001
966
|
<span class="cline-any cline-yes">1x</span>
|
|
1002
|
-
<span class="cline-any cline-yes">
|
|
1003
|
-
<span class="cline-any cline-yes">
|
|
1004
|
-
<span class="cline-any cline-yes">
|
|
1005
|
-
<span class="cline-any cline-yes">
|
|
1006
|
-
<span class="cline-any cline-yes">
|
|
1007
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1008
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1009
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1010
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1011
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1012
|
-
<span class="cline-any cline-yes">9x</span>
|
|
967
|
+
<span class="cline-any cline-yes">1x</span>
|
|
968
|
+
<span class="cline-any cline-yes">1x</span>
|
|
969
|
+
<span class="cline-any cline-yes">1x</span>
|
|
970
|
+
<span class="cline-any cline-yes">1x</span>
|
|
971
|
+
<span class="cline-any cline-yes">3x</span>
|
|
1013
972
|
<span class="cline-any cline-no"> </span>
|
|
1014
973
|
<span class="cline-any cline-no"> </span>
|
|
1015
974
|
<span class="cline-any cline-no"> </span>
|
|
1016
|
-
<span class="cline-any cline-yes">
|
|
1017
|
-
<span class="cline-any cline-yes">
|
|
1018
|
-
<span class="cline-any cline-yes">
|
|
1019
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1020
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1021
|
-
<span class="cline-any cline-yes">18x</span>
|
|
1022
|
-
<span class="cline-any cline-yes">18x</span>
|
|
1023
|
-
<span class="cline-any cline-yes">18x</span>
|
|
1024
|
-
<span class="cline-any cline-yes">18x</span>
|
|
1025
|
-
<span class="cline-any cline-yes">18x</span>
|
|
1026
|
-
<span class="cline-any cline-no"> </span>
|
|
975
|
+
<span class="cline-any cline-yes">1x</span>
|
|
976
|
+
<span class="cline-any cline-yes">1x</span>
|
|
977
|
+
<span class="cline-any cline-yes">3x</span>
|
|
1027
978
|
<span class="cline-any cline-no"> </span>
|
|
1028
979
|
<span class="cline-any cline-no"> </span>
|
|
1029
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1030
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1031
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1032
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1033
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1034
980
|
<span class="cline-any cline-yes">1x</span>
|
|
1035
|
-
<span class="cline-any cline-yes">
|
|
1036
|
-
<span class="cline-any cline-yes">
|
|
1037
|
-
<span class="cline-any cline-yes">
|
|
1038
|
-
<span class="cline-any cline-yes">
|
|
1039
|
-
<span class="cline-any cline-yes">
|
|
1040
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1041
|
-
<span class="cline-any cline-no"> </span>
|
|
981
|
+
<span class="cline-any cline-yes">1x</span>
|
|
982
|
+
<span class="cline-any cline-yes">1x</span>
|
|
983
|
+
<span class="cline-any cline-yes">1x</span>
|
|
984
|
+
<span class="cline-any cline-yes">1x</span>
|
|
985
|
+
<span class="cline-any cline-yes">3x</span>
|
|
1042
986
|
<span class="cline-any cline-no"> </span>
|
|
1043
987
|
<span class="cline-any cline-no"> </span>
|
|
988
|
+
<span class="cline-any cline-yes">3x</span>
|
|
989
|
+
<span class="cline-any cline-yes">2x</span>
|
|
990
|
+
<span class="cline-any cline-yes">2x</span>
|
|
991
|
+
<span class="cline-any cline-yes">2x</span>
|
|
992
|
+
<span class="cline-any cline-yes">2x</span>
|
|
993
|
+
<span class="cline-any cline-yes">1x</span>
|
|
994
|
+
<span class="cline-any cline-yes">1x</span>
|
|
995
|
+
<span class="cline-any cline-yes">1x</span>
|
|
996
|
+
<span class="cline-any cline-yes">1x</span>
|
|
997
|
+
<span class="cline-any cline-yes">1x</span>
|
|
998
|
+
<span class="cline-any cline-yes">11x</span>
|
|
999
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1000
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1001
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1002
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1003
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1004
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1005
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1006
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1007
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1008
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1044
1009
|
<span class="cline-any cline-no"> </span>
|
|
1045
1010
|
<span class="cline-any cline-no"> </span>
|
|
1046
1011
|
<span class="cline-any cline-no"> </span>
|
|
1012
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1013
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1014
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1015
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1016
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1017
|
+
<span class="cline-any cline-yes">22x</span>
|
|
1018
|
+
<span class="cline-any cline-yes">22x</span>
|
|
1019
|
+
<span class="cline-any cline-yes">22x</span>
|
|
1020
|
+
<span class="cline-any cline-yes">22x</span>
|
|
1021
|
+
<span class="cline-any cline-yes">22x</span>
|
|
1047
1022
|
<span class="cline-any cline-no"> </span>
|
|
1048
1023
|
<span class="cline-any cline-no"> </span>
|
|
1049
1024
|
<span class="cline-any cline-no"> </span>
|
|
1025
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1026
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1027
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1028
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1029
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1030
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1031
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1032
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1033
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1034
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1035
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1036
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1037
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1038
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1039
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1040
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1041
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1042
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1043
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1050
1044
|
<span class="cline-any cline-no"> </span>
|
|
1051
1045
|
<span class="cline-any cline-no"> </span>
|
|
1052
1046
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1124,91 +1118,93 @@
|
|
|
1124
1118
|
<span class="cline-any cline-no"> </span>
|
|
1125
1119
|
<span class="cline-any cline-no"> </span>
|
|
1126
1120
|
<span class="cline-any cline-no"> </span>
|
|
1127
|
-
<span class="cline-any cline-yes">
|
|
1121
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1122
|
+
<span class="cline-any cline-yes">8x</span>
|
|
1123
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1128
1124
|
<span class="cline-any cline-yes">1x</span>
|
|
1129
|
-
<span class="cline-any cline-yes">
|
|
1130
|
-
<span class="cline-any cline-yes">
|
|
1131
|
-
<span class="cline-any cline-no"> </span>
|
|
1132
|
-
<span class="cline-any cline-no"> </span>
|
|
1133
|
-
<span class="cline-any cline-no"> </span>
|
|
1134
|
-
<span class="cline-any cline-no"> </span>
|
|
1135
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1136
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1125
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1126
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1137
1127
|
<span class="cline-any cline-yes">1x</span>
|
|
1138
1128
|
<span class="cline-any cline-yes">1x</span>
|
|
1139
|
-
<span class="cline-any cline-yes">
|
|
1140
|
-
<span class="cline-any cline-yes">
|
|
1141
|
-
<span class="cline-any cline-yes">
|
|
1142
|
-
<span class="cline-any cline-yes">
|
|
1143
|
-
<span class="cline-any cline-yes">
|
|
1144
|
-
<span class="cline-any cline-yes">
|
|
1145
|
-
<span class="cline-any cline-yes">
|
|
1146
|
-
<span class="cline-any cline-yes">
|
|
1147
|
-
<span class="cline-any cline-yes">
|
|
1148
|
-
<span class="cline-any cline-yes">
|
|
1149
|
-
<span class="cline-any cline-yes">
|
|
1150
|
-
<span class="cline-any cline-yes">
|
|
1129
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1130
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1131
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1132
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1133
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1134
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1135
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1136
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1137
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1138
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1139
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1140
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1141
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1142
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1143
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1144
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1145
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1146
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1151
1147
|
<span class="cline-any cline-yes">2x</span>
|
|
1152
1148
|
<span class="cline-any cline-yes">2x</span>
|
|
1153
1149
|
<span class="cline-any cline-yes">2x</span>
|
|
1154
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1155
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1156
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1157
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1158
|
-
<span class="cline-any cline-no"> </span>
|
|
1159
|
-
<span class="cline-any cline-no"> </span>
|
|
1160
|
-
<span class="cline-any cline-no"> </span>
|
|
1161
|
-
<span class="cline-any cline-no"> </span>
|
|
1162
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1163
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1164
1150
|
<span class="cline-any cline-yes">11x</span>
|
|
1165
1151
|
<span class="cline-any cline-yes">11x</span>
|
|
1166
1152
|
<span class="cline-any cline-yes">11x</span>
|
|
1167
|
-
<span class="cline-any cline-no"> </span>
|
|
1168
1153
|
<span class="cline-any cline-yes">11x</span>
|
|
1169
1154
|
<span class="cline-any cline-no"> </span>
|
|
1170
1155
|
<span class="cline-any cline-no"> </span>
|
|
1171
1156
|
<span class="cline-any cline-no"> </span>
|
|
1157
|
+
<span class="cline-any cline-no"> </span>
|
|
1172
1158
|
<span class="cline-any cline-yes">11x</span>
|
|
1173
1159
|
<span class="cline-any cline-yes">11x</span>
|
|
1174
|
-
<span class="cline-any cline-yes">
|
|
1175
|
-
<span class="cline-any cline-yes">
|
|
1160
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1161
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1162
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1176
1163
|
<span class="cline-any cline-no"> </span>
|
|
1164
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1177
1165
|
<span class="cline-any cline-no"> </span>
|
|
1178
1166
|
<span class="cline-any cline-no"> </span>
|
|
1167
|
+
<span class="cline-any cline-no"> </span>
|
|
1168
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1169
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1170
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1171
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1172
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1173
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1174
|
+
<span class="cline-any cline-yes">2x</span>
|
|
1175
|
+
<span class="cline-any cline-yes">119x</span>
|
|
1176
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1179
1177
|
<span class="cline-any cline-yes">11x</span>
|
|
1180
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1181
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1182
1178
|
<span class="cline-any cline-no"> </span>
|
|
1183
1179
|
<span class="cline-any cline-no"> </span>
|
|
1184
1180
|
<span class="cline-any cline-no"> </span>
|
|
1185
|
-
<span class="cline-any cline-yes">
|
|
1186
|
-
<span class="cline-any cline-yes">
|
|
1181
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1182
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1187
1183
|
<span class="cline-any cline-no"> </span>
|
|
1188
1184
|
<span class="cline-any cline-no"> </span>
|
|
1189
1185
|
<span class="cline-any cline-no"> </span>
|
|
1190
|
-
<span class="cline-any cline-yes">
|
|
1191
|
-
<span class="cline-any cline-yes">
|
|
1192
|
-
<span class="cline-any cline-yes">
|
|
1193
|
-
<span class="cline-any cline-yes">
|
|
1194
|
-
<span class="cline-any cline-yes">
|
|
1195
|
-
<span class="cline-any cline-yes">
|
|
1196
|
-
<span class="cline-any cline-yes">
|
|
1186
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1187
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1188
|
+
<span class="cline-any cline-yes">73x</span>
|
|
1189
|
+
<span class="cline-any cline-yes">73x</span>
|
|
1190
|
+
<span class="cline-any cline-yes">73x</span>
|
|
1191
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1192
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1197
1193
|
<span class="cline-any cline-no"> </span>
|
|
1198
1194
|
<span class="cline-any cline-no"> </span>
|
|
1199
1195
|
<span class="cline-any cline-no"> </span>
|
|
1200
|
-
<span class="cline-any cline-yes">
|
|
1201
|
-
<span class="cline-any cline-yes">
|
|
1196
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1197
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1202
1198
|
<span class="cline-any cline-yes">1x</span>
|
|
1203
1199
|
<span class="cline-any cline-yes">1x</span>
|
|
1204
|
-
<span class="cline-any cline-yes">
|
|
1205
|
-
<span class="cline-any cline-yes">
|
|
1206
|
-
<span class="cline-any cline-yes">
|
|
1207
|
-
<span class="cline-any cline-yes">
|
|
1208
|
-
<span class="cline-any cline-yes">
|
|
1209
|
-
<span class="cline-any cline-yes">
|
|
1210
|
-
<span class="cline-any cline-yes">
|
|
1211
|
-
<span class="cline-any cline-yes">
|
|
1200
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1201
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1202
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1203
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1204
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1205
|
+
<span class="cline-any cline-yes">95x</span>
|
|
1206
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1207
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1212
1208
|
<span class="cline-any cline-no"> </span>
|
|
1213
1209
|
<span class="cline-any cline-no"> </span>
|
|
1214
1210
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1233,26 +1229,26 @@
|
|
|
1233
1229
|
<span class="cline-any cline-no"> </span>
|
|
1234
1230
|
<span class="cline-any cline-no"> </span>
|
|
1235
1231
|
<span class="cline-any cline-no"> </span>
|
|
1236
|
-
<span class="cline-any cline-yes">
|
|
1237
|
-
<span class="cline-any cline-yes">
|
|
1238
|
-
<span class="cline-any cline-yes">
|
|
1239
|
-
<span class="cline-any cline-yes">
|
|
1240
|
-
<span class="cline-any cline-yes">
|
|
1241
|
-
<span class="cline-any cline-yes">
|
|
1242
|
-
<span class="cline-any cline-yes">
|
|
1243
|
-
<span class="cline-any cline-yes">
|
|
1244
|
-
<span class="cline-any cline-yes">
|
|
1245
|
-
<span class="cline-any cline-yes">
|
|
1246
|
-
<span class="cline-any cline-yes">
|
|
1247
|
-
<span class="cline-any cline-yes">
|
|
1248
|
-
<span class="cline-any cline-yes">
|
|
1249
|
-
<span class="cline-any cline-yes">
|
|
1250
|
-
<span class="cline-any cline-yes">
|
|
1251
|
-
<span class="cline-any cline-yes">
|
|
1252
|
-
<span class="cline-any cline-yes">
|
|
1253
|
-
<span class="cline-any cline-yes">
|
|
1254
|
-
<span class="cline-any cline-yes">
|
|
1255
|
-
<span class="cline-any cline-yes">
|
|
1232
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1233
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1234
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1235
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1236
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1237
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1238
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1239
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1240
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1241
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1242
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1243
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1244
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1245
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1246
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1247
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1248
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1249
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1250
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1251
|
+
<span class="cline-any cline-yes">11x</span>
|
|
1256
1252
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import path from 'path'
|
|
1257
1253
|
import url from 'url'
|
|
1258
1254
|
import fs from 'fs-extra'
|
|
@@ -1271,14 +1267,12 @@ import configuration from '@feathersjs/configuration'
|
|
|
1271
1267
|
import errors from '@feathersjs/errors'
|
|
1272
1268
|
import express, { authenticate } from '@feathersjs/express'
|
|
1273
1269
|
import socketio from '@feathersjs/socketio'
|
|
1274
|
-
import
|
|
1275
|
-
import { Database, idToString } from './db.js'
|
|
1270
|
+
import { Database, isObjectID, idToString } from './db.js'
|
|
1276
1271
|
import auth from './authentication.js'
|
|
1277
1272
|
|
|
1278
1273
|
const debug = makeDebug('kdk:core:application')
|
|
1279
1274
|
const debugLimiter = makeDebug('kdk:core:application:limiter')
|
|
1280
1275
|
const { TooManyRequests, Forbidden, BadRequest } = errors
|
|
1281
|
-
const { ObjectID } = mongodb
|
|
1282
1276
|
const { rest } = express
|
|
1283
1277
|
const sift = siftModule.default
|
|
1284
1278
|
|
|
@@ -1354,10 +1348,10 @@ export async function configureService (name, service, servicesPath) {
|
|
|
1354
1348
|
}
|
|
1355
1349
|
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
|
|
1356
1350
|
<span class="cstat-no" title="statement not covered" > debug('No ' + name + ' service hooks configured on path ' + servicesPath)</span>
|
|
1357
|
-
<span class="cstat-no" title="statement not covered" > if (error.code !== 'ERR_MODULE_NOT_FOUND') {</span>
|
|
1358
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1359
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1360
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1351
|
+
<span class="cstat-no" title="statement not covered" > // if (error.code !== 'ERR_MODULE_NOT_FOUND') {</span>
|
|
1352
|
+
<span class="cstat-no" title="statement not covered" > // Log error in this case as this might be linked to a syntax error in required file</span>
|
|
1353
|
+
<span class="cstat-no" title="statement not covered" > debug(filepath, error)</span>
|
|
1354
|
+
<span class="cstat-no" title="statement not covered" > // }</span>
|
|
1361
1355
|
<span class="cstat-no" title="statement not covered" > // As this is optionnal this require has to fail silently</span>
|
|
1362
1356
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1363
1357
|
|
|
@@ -1374,10 +1368,10 @@ export async function configureService (name, service, servicesPath) {
|
|
|
1374
1368
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1375
1369
|
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
|
|
1376
1370
|
<span class="cstat-no" title="statement not covered" > debug('No ' + name + ' service channels configured on path ' + servicesPath)</span>
|
|
1377
|
-
<span class="cstat-no" title="statement not covered" > if (error.code !== 'ERR_MODULE_NOT_FOUND') {</span>
|
|
1378
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1379
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1380
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1371
|
+
<span class="cstat-no" title="statement not covered" > // if (error.code !== 'ERR_MODULE_NOT_FOUND') {</span>
|
|
1372
|
+
<span class="cstat-no" title="statement not covered" > // Log error in this case as this might be linked to a syntax error in required file</span>
|
|
1373
|
+
<span class="cstat-no" title="statement not covered" > debug(filepath, error)</span>
|
|
1374
|
+
<span class="cstat-no" title="statement not covered" > // }</span>
|
|
1381
1375
|
<span class="cstat-no" title="statement not covered" > // As this is optionnal this require has to fail silently</span>
|
|
1382
1376
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1383
1377
|
|
|
@@ -1453,10 +1447,10 @@ async function createService (name, app, options = {}) {
|
|
|
1453
1447
|
}
|
|
1454
1448
|
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
|
|
1455
1449
|
<span class="cstat-no" title="statement not covered" > debug('No ' + fileName + ' service model configured on path ' + serviceOptions.modelsPath)</span>
|
|
1456
|
-
<span class="cstat-no" title="statement not covered" > if (error.code !== 'ERR_MODULE_NOT_FOUND') {</span>
|
|
1457
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1458
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1459
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1450
|
+
<span class="cstat-no" title="statement not covered" > // if (error.code !== 'ERR_MODULE_NOT_FOUND') {</span>
|
|
1451
|
+
<span class="cstat-no" title="statement not covered" > // Log error in this case as this might be linked to a syntax error in required file</span>
|
|
1452
|
+
<span class="cstat-no" title="statement not covered" > debug(fileName, error)</span>
|
|
1453
|
+
<span class="cstat-no" title="statement not covered" > // }</span>
|
|
1460
1454
|
<span class="cstat-no" title="statement not covered" > // As this is optionnal this require has to fail silently</span>
|
|
1461
1455
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1462
1456
|
|
|
@@ -1476,22 +1470,22 @@ async function createService (name, app, options = {}) {
|
|
|
1476
1470
|
service = service(name, app, serviceOptions)
|
|
1477
1471
|
}
|
|
1478
1472
|
// Need to set this manually for services not using class inheritance or default adapters
|
|
1479
|
-
if (serviceOptions.events)
|
|
1473
|
+
if (serviceOptions.events) service.events = serviceOptions.events
|
|
1480
1474
|
}
|
|
1481
1475
|
// Optionnally a specific service mixin can be provided, apply it
|
|
1482
1476
|
if (dbService && serviceOptions.servicesPath) {
|
|
1483
1477
|
const filepath = path.join(serviceOptions.servicesPath, fileName, `${fileName}.service.js`)
|
|
1484
1478
|
try {
|
|
1485
1479
|
const fileExists = await fs.pathExists(filepath)
|
|
1486
|
-
if (fileExists)
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
<span class="
|
|
1480
|
+
if (fileExists) {
|
|
1481
|
+
let serviceMixin = (await import(url.pathToFileURL(filepath))).default
|
|
1482
|
+
// If we get a function try to call it assuming it will return the mixin object
|
|
1483
|
+
if (typeof serviceMixin === 'function') <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1490
1484
|
<span class="cstat-no" title="statement not covered" > serviceMixin = await serviceMixin.bind(dbService)(fileName, app, serviceOptions)</span>
|
|
1491
1485
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1486
|
+
Object.assign(service, serviceMixin)
|
|
1487
|
+
debug(name + ' service mixin configured on path ' + serviceOptions.servicesPath)
|
|
1488
|
+
}
|
|
1495
1489
|
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
|
|
1496
1490
|
<span class="cstat-no" title="statement not covered" > debug('No ' + fileName + ' service mixin configured on path ' + serviceOptions.servicesPath)</span>
|
|
1497
1491
|
<span class="cstat-no" title="statement not covered" > // if (error.code !== 'ERR_MODULE_NOT_FOUND') {</span>
|
|
@@ -1531,64 +1525,64 @@ export function createWebhook (path, app, options = {}) {
|
|
|
1531
1525
|
if (options.context) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1532
1526
|
<span class="cstat-no" title="statement not covered" > webhookPath = idToString(options.context) + '/' + webhookPath</span>
|
|
1533
1527
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1534
|
-
const isAllowed =
|
|
1535
|
-
|
|
1536
|
-
<span class="
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1528
|
+
const isAllowed = (payload) => {
|
|
1529
|
+
// Default is to expose all services/operations
|
|
1530
|
+
if (!options.filter) <span class="branch-0 cbranch-no" title="branch not covered" >return true</span>
|
|
1531
|
+
const result = [payload].filter(sift(options.filter))
|
|
1532
|
+
return result.length > 0
|
|
1533
|
+
}
|
|
1540
1534
|
|
|
1541
1535
|
app.post(app.get('apiPath') + '/webhooks/' + webhookPath, authenticate('jwt'), async (req, res, next) => {
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
<span class="
|
|
1536
|
+
const payload = req.body
|
|
1537
|
+
const config = app.get('authentication')
|
|
1538
|
+
res.set('content-type', 'application/json')
|
|
1539
|
+
const params = _.get(req, 'feathers', {})
|
|
1540
|
+
try {
|
|
1541
|
+
if (options.preprocessor) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1548
1542
|
<span class="cstat-no" title="statement not covered" > await options.preprocessor(req, res, payload)</span>
|
|
1549
1543
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1544
|
+
// Authenticate when required
|
|
1545
|
+
if (config) {
|
|
1546
|
+
params.checkAuthorisation = true
|
|
1547
|
+
}
|
|
1548
|
+
if (req.headers['content-type'] !== 'application/json') <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1555
1549
|
<span class="cstat-no" title="statement not covered" > throw new BadRequest('Webhooks expect application/json content type')</span>
|
|
1556
1550
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
<span class="
|
|
1560
|
-
<span class="
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
<span class="
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
<span class="
|
|
1551
|
+
if (!isAllowed(payload)) throw new Forbidden('Service or operation not allowed for webhook')
|
|
1552
|
+
const service = app.getService(payload.service, options.context || payload.context)
|
|
1553
|
+
if (!service) <span class="branch-0 cbranch-no" title="branch not covered" >throw new BadRequest('Service could not be found')</span>
|
|
1554
|
+
if (typeof service[payload.operation] !== 'function') <span class="branch-0 cbranch-no" title="branch not covered" >throw new BadRequest('Service operation could not be found')</span>
|
|
1555
|
+
const args = []
|
|
1556
|
+
// Get/Update/Patch/Remove
|
|
1557
|
+
const operationsWithId = ['get', 'update', 'patch', 'remove']
|
|
1558
|
+
if (operationsWithId.includes(payload.operation)) {
|
|
1559
|
+
if (!_.has(payload, 'id')) <span class="branch-0 cbranch-no" title="branch not covered" >throw new BadRequest('Missing id for operation')</span>
|
|
1560
|
+
args.push(_.get(payload, 'id'))
|
|
1561
|
+
}
|
|
1562
|
+
// Create/Update/Patch
|
|
1563
|
+
const operationsWithData = ['create', 'update', 'patch']
|
|
1564
|
+
if (operationsWithData.includes(payload.operation)) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1571
1565
|
<span class="cstat-no" title="statement not covered" > if (!_.has(payload, 'data')) throw new BadRequest('Missing data for operation')</span>
|
|
1572
1566
|
<span class="cstat-no" title="statement not covered" > args.push(_.get(payload, 'data'))</span>
|
|
1573
1567
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
<span class="
|
|
1568
|
+
// Params
|
|
1569
|
+
args.push(params)
|
|
1570
|
+
if (options.postprocessor) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1577
1571
|
<span class="cstat-no" title="statement not covered" > await options.postprocessor(service, args, payload)</span>
|
|
1578
1572
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
<span class="
|
|
1573
|
+
try {
|
|
1574
|
+
debug(`Performing ${payload.service} service ${payload.operation} operation through webhook ${webhookPath} with args:`, args)
|
|
1575
|
+
const result = await service[payload.operation].apply(service, args)
|
|
1576
|
+
// Send back result
|
|
1577
|
+
res.json(result)
|
|
1578
|
+
} <span class="branch-0 cbranch-no" title="branch not covered" >catch (error) {</span>
|
|
1585
1579
|
<span class="cstat-no" title="statement not covered" > throw new BadRequest('Service operation could not be performed')</span>
|
|
1586
1580
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
<span class="
|
|
1591
|
-
|
|
1581
|
+
} catch (error) {
|
|
1582
|
+
debug(`Webhook ${webhookPath} error:`, error)
|
|
1583
|
+
// Send back error
|
|
1584
|
+
res.status(error.code <span class="branch-0 cbranch-no" title="branch not covered" >|| 500)</span>.json(error.toJSON())
|
|
1585
|
+
}
|
|
1592
1586
|
})
|
|
1593
1587
|
|
|
1594
1588
|
debug(`Webhook ${webhookPath} registration completed`)
|
|
@@ -1633,13 +1627,13 @@ function setupSockets (app) {
|
|
|
1633
1627
|
let nbConnections = 0
|
|
1634
1628
|
|
|
1635
1629
|
return io => {
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1630
|
+
// By default EventEmitters will print a warning if more than 10 listeners are added for a particular event.
|
|
1631
|
+
// The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.
|
|
1632
|
+
io.sockets.setMaxListeners(0)
|
|
1633
|
+
const maxConnections = _.get(apiLimiter, 'websocket.maxConcurrency', 0)
|
|
1634
|
+
const maxIpConnections = _.get(apiLimiter, 'websocket.concurrency', 0)
|
|
1635
|
+
|
|
1636
|
+
io.on('connection', socket => {
|
|
1643
1637
|
<span class="cstat-no" title="statement not covered" > nbConnections++</span>
|
|
1644
1638
|
<span class="cstat-no" title="statement not covered" > debug(`New socket connection on server with pid ${process.pid}`, socket.id, socket.conn.remoteAddress, nbConnections)</span>
|
|
1645
1639
|
<span class="cstat-no" title="statement not covered" > // Setup disconnect handler first</span>
|
|
@@ -1717,16 +1711,16 @@ function setupSockets (app) {
|
|
|
1717
1711
|
<span class="cstat-no" title="statement not covered" > next()</span>
|
|
1718
1712
|
<span class="cstat-no" title="statement not covered" > })</span>
|
|
1719
1713
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1720
|
-
|
|
1721
|
-
|
|
1714
|
+
})
|
|
1715
|
+
}
|
|
1722
1716
|
}
|
|
1723
1717
|
|
|
1724
1718
|
function setupHealthcheck (app) {
|
|
1725
1719
|
app.get('/healthcheck', async (req, res) => {
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
<span class="
|
|
1729
|
-
|
|
1720
|
+
res.set('Content-Type', 'application/json')
|
|
1721
|
+
const result = await app.db.healthcheck()
|
|
1722
|
+
const status = (result ? 200 <span class="branch-0 cbranch-no" title="branch not covered" >: 500)</span>
|
|
1723
|
+
return res.status(status).json({ isRunning: true, isDatabaseRunning: result })
|
|
1730
1724
|
})
|
|
1731
1725
|
}
|
|
1732
1726
|
|
|
@@ -1762,15 +1756,15 @@ export function kdk (config = {}) {
|
|
|
1762
1756
|
<span class="cstat-no" title="statement not covered" > return app.service(app.get('apiPath') + '/' + context + '/' + path)</span>
|
|
1763
1757
|
} else if (context <span class="branch-0 cbranch-no" title="branch not covered" >&& typeof context === 'object')</span> <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
1764
1758
|
<span class="cstat-no" title="statement not covered" > // Could be Object ID or raw object</span>
|
|
1765
|
-
<span class="cstat-no" title="statement not covered" > if (
|
|
1759
|
+
<span class="cstat-no" title="statement not covered" > if (isObjectID(context)) return app.service(app.get('apiPath') + '/' + context.toString() + '/' + path)</span>
|
|
1766
1760
|
<span class="cstat-no" title="statement not covered" > else return app.service(app.get('apiPath') + '/' + context._id.toString() + '/' + path)</span>
|
|
1767
1761
|
} else {
|
|
1768
1762
|
return app.service(app.get('apiPath') + '/' + path)
|
|
1769
1763
|
}
|
|
1770
|
-
}
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1764
|
+
} catch {
|
|
1765
|
+
// We return a false-y value in case the service wasn't found
|
|
1766
|
+
return null
|
|
1767
|
+
}
|
|
1774
1768
|
}
|
|
1775
1769
|
// This is used to add hooks/filters to services
|
|
1776
1770
|
app.configureService = <span class="fstat-no" title="function not covered" >async function (name, service, servicesPath) {</span>
|
|
@@ -1855,7 +1849,7 @@ export function kdk (config = {}) {
|
|
|
1855
1849
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1856
1850
|
Code coverage generated by
|
|
1857
1851
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1858
|
-
at
|
|
1852
|
+
at 2026-03-10T09:15:24.743Z
|
|
1859
1853
|
</div>
|
|
1860
1854
|
<script src="../../prettify.js"></script>
|
|
1861
1855
|
<script>
|