@kalisio/kdk 2.4.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/api/application.js +12 -12
- package/core/api/authentication.js +51 -7
- package/core/api/hooks/hooks.authentication.js +1 -59
- package/core/api/hooks/hooks.authorisations.js +8 -102
- package/core/api/hooks/hooks.model.js +4 -0
- package/core/api/hooks/hooks.push.js +18 -14
- package/core/api/hooks/hooks.users.js +0 -91
- package/core/api/hooks/index.js +0 -2
- package/core/api/services/account/account.service.js +1 -1
- package/core/api/services/authorisations/authorisations.service.js +28 -29
- package/core/api/services/index.js +38 -50
- package/core/api/services/messages/messages.hooks.js +4 -3
- package/core/api/services/users/users.service.js +5 -0
- package/core/client/api.js +182 -71
- package/core/client/broadcaster.js +20 -0
- package/core/client/capabilities.js +17 -7
- package/core/client/components/KActivity.vue +29 -34
- package/core/client/components/KAvatar.vue +0 -6
- package/core/client/components/KChip.vue +142 -39
- package/core/client/components/KContent.vue +13 -32
- package/core/client/components/KDialog.vue +29 -8
- package/core/client/components/KEditor.vue +120 -0
- package/core/client/components/KFollower.vue +75 -0
- package/core/client/components/KLogo.vue +2 -3
- package/core/client/components/KModal.vue +30 -10
- package/core/client/components/KSponsor.vue +1 -1
- package/core/client/components/KTextArea.vue +2 -5
- package/core/client/components/account/KDeleteAccountManager.vue +1 -1
- package/core/client/components/account/KProfile.vue +52 -14
- package/core/client/components/account/KSubscription.vue +19 -9
- package/core/client/components/account/KSubscriptionsManager.vue +10 -11
- package/core/client/components/action/KAction.vue +44 -24
- package/core/client/components/action/KBugReportAction.vue +4 -5
- package/core/client/components/action/KToggleStickyVisibility.vue +41 -0
- package/core/client/components/action/KToggleWidgetVisibility.vue +41 -0
- package/core/client/components/app/KPlatform.vue +122 -35
- package/core/client/components/app/KRequestProgressBar.vue +59 -0
- package/core/client/components/app/KSettings.vue +13 -2
- package/core/client/components/app/KTour.vue +2 -2
- package/core/client/components/chart/KTimeSeriesChart.vue +11 -3
- package/core/client/components/collection/KCard.vue +27 -33
- package/core/client/components/collection/KCardSection.vue +3 -23
- package/core/client/components/collection/KColumn.vue +0 -5
- package/core/client/components/collection/KDescriptionCardSection.vue +10 -5
- package/core/client/components/collection/KFilterView.vue +15 -0
- package/core/client/components/collection/KGrid.vue +4 -9
- package/core/client/components/collection/KHistory.vue +0 -5
- package/core/client/components/collection/KHistoryEntry.vue +0 -2
- package/core/client/components/collection/KItem.vue +1 -2
- package/core/client/components/collection/KSearchFilterControl.vue +139 -0
- package/core/client/components/collection/KTable.vue +1 -4
- package/core/client/components/collection/KTagsFilterControl.vue +70 -0
- package/core/client/components/collection/KTagsFilterView.vue +61 -0
- package/core/client/components/collection/KTimeFilterControl.vue +40 -0
- package/core/client/components/collection/KTimeFilterView.vue +106 -0
- package/core/client/components/collection/KTimeLine.vue +18 -11
- package/core/client/components/document/KBrowser.vue +283 -0
- package/core/client/components/document/KCsv.vue +52 -0
- package/core/client/components/document/KDocument.vue +19 -5
- package/core/client/components/document/KImage.vue +50 -19
- package/core/client/components/document/KMarkdown.vue +10 -2
- package/core/client/components/document/KUploader.vue +126 -0
- package/core/client/components/document/KVideo.vue +39 -0
- package/core/client/components/form/KDateField.vue +70 -0
- package/core/client/components/form/KDateTimeRangeField.vue +6 -17
- package/core/client/components/form/KDatetimeField.vue +6 -13
- package/core/client/components/form/KForm.vue +8 -8
- package/core/client/components/form/KOptionsField.vue +2 -0
- package/core/client/components/form/KResolutionField.vue +54 -52
- package/core/client/components/form/KSelectField.vue +27 -13
- package/core/client/components/form/KTextareaField.vue +23 -5
- package/core/client/components/graphics/KIcon.vue +64 -0
- package/core/client/components/index.js +1 -3
- package/core/client/components/input/KColorPicker.vue +70 -0
- package/core/client/components/input/KIconPicker.vue +188 -0
- package/core/client/components/input/KShapePicker.vue +81 -0
- package/core/client/components/input/index.js +7 -1
- package/core/client/components/layout/KFab.vue +1 -1
- package/core/client/components/layout/KLayout.vue +14 -2
- package/core/client/components/layout/KOpener.vue +9 -11
- package/core/client/components/layout/KPage.vue +31 -17
- package/core/client/components/layout/KWindow.vue +34 -18
- package/core/client/components/menu/KMenu.vue +52 -36
- package/core/client/components/menu/KSubMenu.vue +105 -0
- package/core/client/components/messages/KMessageCard.vue +207 -0
- package/core/client/components/messages/KMessageComposer.vue +199 -0
- package/core/client/components/messages/KMessagesTimeLine.vue +137 -0
- package/core/client/components/messages/index.js +7 -0
- package/core/client/components/screen/KErrorScreen.vue +2 -3
- package/core/client/components/screen/KLogoutScreen.vue +3 -1
- package/core/client/components/screen/KOAuthLoginScreen.vue +15 -0
- package/core/client/components/screen/KOAuthLogoutScreen.vue +33 -0
- package/core/client/components/screen/KUnauthorizedScreen.vue +16 -0
- package/core/client/components/time/KAbsoluteTimeRange.vue +7 -14
- package/core/client/components/time/KDate.vue +56 -26
- package/core/client/components/time/KDateTime.vue +93 -37
- package/core/client/components/time/KDateTimeRange.vue +197 -52
- package/core/client/components/time/KTime.vue +56 -26
- package/core/client/composables/activity.js +40 -30
- package/core/client/composables/{counter.js → collection-counter.js} +2 -4
- package/core/client/composables/collection-filter.js +111 -0
- package/core/client/composables/collection-timerange.js +56 -0
- package/core/client/composables/collection.js +13 -11
- package/core/client/composables/context.js +92 -0
- package/core/client/composables/errors.js +83 -0
- package/core/client/composables/index.js +5 -1
- package/core/client/composables/layout.js +14 -11
- package/core/client/composables/messages.js +4 -4
- package/core/client/composables/pwa.js +20 -27
- package/core/client/composables/schema.js +1 -1
- package/core/client/composables/screen.js +21 -9
- package/core/client/composables/selection.js +16 -4
- package/core/client/composables/session.js +13 -7
- package/core/client/composables/store.js +2 -1
- package/core/client/context.js +38 -0
- package/core/client/directives/v-hover.js +7 -4
- package/core/client/document.js +43 -15
- package/core/client/events.js +2 -2
- package/core/client/exporter.js +5 -4
- package/core/client/filter.js +1 -8
- package/core/client/guards.js +3 -3
- package/core/client/hooks/hooks.logger.js +1 -1
- package/core/client/hooks/hooks.offline.js +32 -0
- package/core/client/hooks/index.js +2 -1
- package/core/client/i18n/core_en.json +95 -268
- package/core/client/i18n/core_fr.json +181 -353
- package/core/client/index.js +22 -8
- package/core/client/layout.js +64 -25
- package/core/client/local-cache.js +67 -0
- package/core/client/local-storage.js +6 -2
- package/core/client/mixins/index.js +0 -1
- package/core/client/mixins/mixin.base-activity.js +22 -10
- package/core/client/mixins/mixin.base-editor.js +1 -1
- package/core/client/mixins/mixin.base-field.js +10 -1
- package/core/client/mixins/mixin.base-item.js +14 -11
- package/core/client/mixins/mixin.service.js +1 -5
- package/core/client/platform.js +44 -0
- package/core/client/readers/reader.blob.js +3 -3
- package/core/client/readers/reader.csv.js +2 -2
- package/core/client/readers/reader.json.js +2 -2
- package/core/client/services/index.js +7 -11
- package/core/client/storage.js +43 -8
- package/core/client/template-context.js +14 -14
- package/core/client/time.js +3 -3
- package/core/client/units.js +7 -4
- package/core/client/utils/index.js +6 -5
- package/core/client/utils/utils.collection.js +71 -0
- package/core/client/utils/utils.colors.js +29 -8
- package/core/client/utils/utils.content.js +14 -14
- package/core/client/utils/utils.files.js +17 -0
- package/core/client/utils/utils.items.js +4 -0
- package/core/client/utils/utils.math.js +18 -1
- package/core/client/utils/utils.push.js +22 -13
- package/core/client/utils/utils.screen.js +6 -2
- package/core/client/utils/utils.services.js +42 -0
- package/core/client/utils/utils.session.js +48 -12
- package/core/client/utils/utils.shapes.js +15 -11
- package/core/common/permissions.js +3 -108
- package/core/common/schemas/messages.update.json +16 -0
- package/core/common/schemas/settings.update.json +27 -8
- package/core/common/utils.js +2 -0
- package/core/common/utils.offline.js +38 -0
- package/coverage/core/api/application.js.html +296 -296
- package/coverage/core/api/authentication.js.html +206 -74
- package/coverage/core/api/db.js.html +61 -61
- package/coverage/core/api/hooks/hooks.authentication.js.html +15 -189
- package/coverage/core/api/hooks/hooks.authorisations.js.html +180 -462
- package/coverage/core/api/hooks/hooks.groups.js.html +1 -1
- package/coverage/core/api/hooks/hooks.logger.js.html +16 -16
- package/coverage/core/api/hooks/hooks.model.js.html +69 -57
- package/coverage/core/api/hooks/hooks.organisations.js.html +1 -1
- package/coverage/core/api/hooks/hooks.push.js.html +58 -46
- package/coverage/core/api/hooks/hooks.query.js.html +142 -142
- package/coverage/core/api/hooks/hooks.schemas.js.html +1 -1
- 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.users.js.html +54 -327
- package/coverage/core/api/hooks/index.html +64 -94
- package/coverage/core/api/hooks/index.js.html +4 -10
- package/coverage/core/api/index.html +41 -56
- package/coverage/core/api/index.js.html +1 -1
- package/coverage/core/api/marshall.js.html +9 -9
- package/coverage/core/api/models/groups.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/index.html +13 -58
- package/coverage/core/api/models/messages.model.mongodb.js.html +35 -35
- package/coverage/core/api/models/organisations.model.mongodb.js.html +3 -3
- package/coverage/core/api/models/tags.model.mongodb.js.html +1 -1
- package/coverage/core/api/models/users.model.mongodb.js.html +1 -1
- package/coverage/core/api/services/account/account.hooks.js.html +1 -1
- package/coverage/core/api/services/account/account.service.js.html +67 -67
- package/coverage/core/api/services/account/index.html +16 -16
- package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +1 -1
- package/coverage/core/api/services/authorisations/authorisations.service.js.html +141 -144
- package/coverage/core/api/services/authorisations/index.html +19 -19
- package/coverage/core/api/services/databases/databases.hooks.js.html +82 -82
- package/coverage/core/api/services/databases/databases.service.js.html +20 -20
- package/coverage/core/api/services/databases/index.html +32 -32
- package/coverage/core/api/services/groups/groups.hooks.js.html +1 -1
- package/coverage/core/api/services/groups/index.html +1 -1
- package/coverage/core/api/services/import-export/import-export.hooks.js.html +1 -1
- package/coverage/core/api/services/import-export/import-export.service.js.html +1 -1
- package/coverage/core/api/services/import-export/index.html +1 -1
- package/coverage/core/api/services/index.html +21 -21
- package/coverage/core/api/services/index.js.html +118 -154
- package/coverage/core/api/services/mailer/index.html +1 -1
- package/coverage/core/api/services/mailer/mailer.hooks.js.html +1 -1
- package/coverage/core/api/services/mailer/mailer.service.js.html +1 -1
- package/coverage/core/api/services/messages/index.html +21 -21
- package/coverage/core/api/services/messages/messages.hooks.js.html +89 -86
- package/coverage/core/api/services/organisations/index.html +1 -1
- package/coverage/core/api/services/organisations/organisations.hooks.js.html +1 -1
- package/coverage/core/api/services/organisations/organisations.service.js.html +23 -23
- package/coverage/core/api/services/push/index.html +1 -1
- package/coverage/core/api/services/push/push.hooks.js.html +1 -1
- package/coverage/core/api/services/push/push.service.js.html +1 -1
- package/coverage/core/api/services/storage/index.html +5 -5
- package/coverage/core/api/services/storage/storage.hooks.js.html +1 -1
- package/coverage/core/api/services/storage/storage.service.js.html +27 -27
- package/coverage/core/api/services/tags/index.html +1 -1
- package/coverage/core/api/services/tags/tags.hooks.js.html +1 -1
- package/coverage/core/api/services/users/index.html +23 -8
- package/coverage/core/api/services/users/users.hooks.js.html +1 -1
- package/coverage/core/api/services/users/users.service.js.html +100 -0
- package/coverage/core/api/utils.js.html +1 -1
- 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 +195 -510
- package/coverage/core/common/schema.js.html +1 -1
- package/coverage/core/common/utils.js.html +12 -6
- package/coverage/core/common/utils.offline.js.html +199 -0
- package/coverage/index.html +142 -172
- package/coverage/lcov-report/core/api/application.js.html +296 -296
- package/coverage/lcov-report/core/api/authentication.js.html +206 -74
- package/coverage/lcov-report/core/api/db.js.html +61 -61
- package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +15 -189
- package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +180 -462
- package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +16 -16
- package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +69 -57
- package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +1 -1
- package/coverage/lcov-report/core/api/hooks/hooks.push.js.html +58 -46
- package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +142 -142
- package/coverage/lcov-report/core/api/hooks/hooks.schemas.js.html +1 -1
- 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.users.js.html +54 -327
- package/coverage/lcov-report/core/api/hooks/index.html +64 -94
- package/coverage/lcov-report/core/api/hooks/index.js.html +4 -10
- package/coverage/lcov-report/core/api/index.html +41 -56
- package/coverage/lcov-report/core/api/index.js.html +1 -1
- package/coverage/lcov-report/core/api/marshall.js.html +9 -9
- package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/index.html +13 -58
- package/coverage/lcov-report/core/api/models/messages.model.mongodb.js.html +35 -35
- package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +3 -3
- package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/account/account.service.js.html +67 -67
- package/coverage/lcov-report/core/api/services/account/index.html +16 -16
- 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 +141 -144
- package/coverage/lcov-report/core/api/services/authorisations/index.html +19 -19
- package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +82 -82
- package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +20 -20
- package/coverage/lcov-report/core/api/services/databases/index.html +32 -32
- package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/groups/index.html +1 -1
- package/coverage/lcov-report/core/api/services/import-export/import-export.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/import-export/import-export.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/import-export/index.html +1 -1
- package/coverage/lcov-report/core/api/services/index.html +21 -21
- package/coverage/lcov-report/core/api/services/index.js.html +118 -154
- package/coverage/lcov-report/core/api/services/mailer/index.html +1 -1
- package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/messages/index.html +21 -21
- package/coverage/lcov-report/core/api/services/messages/messages.hooks.js.html +89 -86
- package/coverage/lcov-report/core/api/services/organisations/index.html +1 -1
- package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +23 -23
- package/coverage/lcov-report/core/api/services/push/index.html +1 -1
- package/coverage/lcov-report/core/api/services/push/push.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/push/push.service.js.html +1 -1
- package/coverage/lcov-report/core/api/services/storage/index.html +5 -5
- package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/storage/storage.service.js.html +27 -27
- package/coverage/lcov-report/core/api/services/tags/index.html +1 -1
- package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/users/index.html +23 -8
- package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +1 -1
- package/coverage/lcov-report/core/api/services/users/users.service.js.html +100 -0
- package/coverage/lcov-report/core/api/utils.js.html +1 -1
- 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 +195 -510
- package/coverage/lcov-report/core/common/schema.js.html +1 -1
- package/coverage/lcov-report/core/common/utils.js.html +12 -6
- package/coverage/lcov-report/core/common/utils.offline.js.html +199 -0
- package/coverage/lcov-report/index.html +142 -172
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +125 -29
- package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +20 -44
- 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 +49 -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/map/api/models/styles.model.mongodb.js.html +112 -0
- 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 +29 -11
- 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 +78 -9
- 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 +287 -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/lcov-report/map/api/services/styles/index.html +116 -0
- package/coverage/lcov-report/map/api/services/styles/styles.hooks.js.html +196 -0
- 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 +8 -5
- package/coverage/lcov-report/map/common/grid.js.html +1 -1
- package/coverage/lcov-report/map/common/index.html +7 -7
- package/coverage/lcov-report/map/common/index.js.html +1 -1
- package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/moment-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/opendap-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/opendap-utils.js.html +1 -1
- package/coverage/lcov-report/map/common/permissions.js.html +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 +6 -6
- package/coverage/lcov-report/map/common/wcs-grid-source.js.html +3 -3
- package/coverage/lcov-report/map/common/wcs-utils.js.html +9 -9
- package/coverage/lcov-report/map/common/weacast-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/wfs-utils.js.html +11 -11
- package/coverage/lcov-report/map/common/wms-utils.js.html +8 -8
- package/coverage/lcov-report/map/common/wmts-utils.js.html +7 -7
- package/coverage/lcov.info +2581 -3278
- package/coverage/map/api/hooks/hooks.catalog.js.html +125 -29
- package/coverage/map/api/hooks/hooks.features.js.html +1 -1
- package/coverage/map/api/hooks/hooks.query.js.html +20 -44
- 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 +49 -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/map/api/models/styles.model.mongodb.js.html +112 -0
- 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 +29 -11
- 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 +78 -9
- 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 +287 -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/map/api/services/styles/index.html +116 -0
- package/coverage/map/api/services/styles/styles.hooks.js.html +196 -0
- 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 +8 -5
- package/coverage/map/common/grid.js.html +1 -1
- package/coverage/map/common/index.html +7 -7
- package/coverage/map/common/index.js.html +1 -1
- package/coverage/map/common/meteo-model-grid-source.js.html +1 -1
- package/coverage/map/common/moment-utils.js.html +1 -1
- package/coverage/map/common/opendap-grid-source.js.html +1 -1
- package/coverage/map/common/opendap-utils.js.html +1 -1
- package/coverage/map/common/permissions.js.html +10 -4
- package/coverage/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/map/common/tms-utils.js.html +6 -6
- package/coverage/map/common/wcs-grid-source.js.html +3 -3
- package/coverage/map/common/wcs-utils.js.html +9 -9
- package/coverage/map/common/weacast-grid-source.js.html +1 -1
- package/coverage/map/common/wfs-utils.js.html +11 -11
- package/coverage/map/common/wms-utils.js.html +8 -8
- package/coverage/map/common/wmts-utils.js.html +7 -7
- package/coverage/tmp/coverage-323534-1747828879483-0.json +1 -0
- package/coverage/tmp/coverage-323546-1747828879453-0.json +1 -0
- package/coverage/tmp/coverage-323557-1747828879439-0.json +1 -0
- package/coverage/tmp/coverage-323569-1747828879416-0.json +1 -0
- package/coverage/tmp/coverage-323576-1747828879390-0.json +1 -0
- package/extras/configs/helpers.js +78 -0
- package/extras/configs/panes.left.js +118 -0
- package/extras/configs/panes.top.js +222 -0
- package/extras/configs/stickies.js +57 -0
- package/extras/configs/widgets.left.js +23 -0
- package/extras/configs/widgets.top.js +73 -0
- package/extras/css/core.variables.scss +8 -0
- package/extras/images/north.svg +3 -0
- package/extras/tours/map/side-nav.js +3 -3
- package/map/api/hooks/hooks.catalog.js +56 -23
- package/map/api/hooks/hooks.query.js +16 -24
- package/map/api/models/catalog.model.mongodb.js +16 -2
- package/{core/api/models/groups.model.mongodb.js → map/api/models/styles.model.mongodb.js} +2 -1
- package/map/api/services/catalog/catalog.hooks.js +13 -7
- package/map/api/services/features/features.hooks.js +28 -5
- package/map/api/services/features/features.service.js +101 -0
- package/map/api/services/index.js +125 -46
- package/map/api/services/styles/styles.hooks.js +37 -0
- package/map/client/cesium/utils/index.js +1 -0
- package/map/client/cesium/utils/utils.cesium.js +397 -0
- package/map/client/cesium/utils/utils.features.js +8 -0
- package/map/client/cesium/utils/utils.geojson.js +59 -0
- package/map/client/cesium/utils/utils.style.js +134 -17
- package/map/client/components/KEditLayerData.vue +17 -79
- package/map/client/components/KFeatureEditor.vue +2 -7
- package/map/client/components/KFeaturesChart.vue +2 -6
- package/map/client/components/KFeaturesFilterEditor.vue +300 -0
- package/map/client/components/KFeaturesFilterManager.vue +196 -0
- package/map/client/components/KFeaturesTable.vue +0 -5
- package/map/client/components/KFilterCondition.vue +303 -0
- package/map/client/components/KLayerEditionToolbar.vue +4 -3
- package/map/client/components/KLayerEditor.vue +451 -36
- package/map/client/components/KMeasureTool.vue +36 -9
- package/map/client/components/KProjectMenu.vue +14 -8
- package/map/client/components/catalog/KAddLayer.vue +0 -4
- package/map/client/components/catalog/KBaseLayersSelector.vue +42 -46
- package/map/client/components/catalog/KConnectLayer.vue +295 -291
- package/map/client/components/catalog/KCreateLayer.vue +141 -146
- package/map/client/components/catalog/KCreateOfflineView.vue +100 -0
- package/map/client/components/catalog/KCreateView.vue +2 -8
- package/map/client/components/catalog/KFilteredLayerItem.vue +72 -25
- package/map/client/components/catalog/KImportLayer.vue +121 -129
- package/map/client/components/catalog/KLayerItem.vue +44 -32
- package/map/client/components/catalog/KLayersPanel.vue +45 -17
- package/map/client/components/catalog/KLayersSelector.vue +51 -50
- package/map/client/components/catalog/KProjectManager.vue +4 -8
- package/map/client/components/catalog/KProjectSelector.vue +33 -2
- package/map/client/components/catalog/KProjectsPanel.vue +84 -106
- package/map/client/components/catalog/KSelectLayers.vue +56 -69
- package/map/client/components/catalog/KSelectViews.vue +56 -69
- package/map/client/components/catalog/KViewSelector.vue +32 -2
- package/map/client/components/catalog/KViewsPanel.vue +178 -110
- package/map/client/components/catalog/KWeatherLayersSelector.vue +77 -85
- package/map/client/components/form/KLocationField.vue +21 -2
- package/map/client/components/form/KOwsLayerField.vue +1 -1
- package/map/client/components/form/KOwsServiceField.vue +102 -63
- package/map/client/components/form/KSelectLayersField.vue +1 -1
- package/map/client/components/form/KSelectViewsField.vue +1 -1
- package/map/client/components/form/KTimezoneField.vue +0 -1
- package/map/client/components/legend/KLegend.vue +4 -4
- package/map/client/components/location/KLocationCardSection.vue +16 -0
- package/map/client/components/location/KLocationMap.vue +3 -2
- package/map/client/components/location/KLocationSearch.vue +46 -8
- package/map/client/components/location/KLocationTimeLineCard.vue +25 -3
- package/map/client/components/location/KLocationTip.vue +57 -10
- package/map/client/components/selection/KFeaturesSelection.vue +71 -0
- package/map/client/components/selection/KSelectedLayerFeatures.vue +343 -0
- package/map/client/components/{KAttribution.vue → stickies/KAttribution.vue} +39 -33
- package/map/client/components/stickies/KLevelSlider.vue +114 -0
- package/map/client/components/stickies/KNorthArrow.vue +26 -0
- package/map/client/components/stickies/KPosition.vue +103 -0
- package/map/client/components/stickies/KTarget.vue +34 -0
- package/map/client/components/styles/KLayerStyleAction.vue +58 -0
- package/map/client/components/styles/KStyleEditor.vue +273 -0
- package/map/client/components/styles/KStyleEditorSection.vue +79 -0
- package/map/client/components/styles/KStyleManager.vue +183 -0
- package/map/client/components/styles/KStylePreview.vue +64 -0
- package/map/client/components/styles/KStylePreviewItem.vue +68 -0
- package/map/client/components/styles/KStylePropertiesGroup.vue +76 -0
- package/map/client/components/styles/KStyleProperty.vue +136 -0
- package/map/client/components/styles/KStyleTip.vue +118 -0
- package/map/client/components/tools/KGeolocateTool.vue +3 -2
- package/map/client/components/tools/KSearchTool.vue +34 -6
- package/map/client/components/widget/KMapillaryViewer.vue +1 -1
- package/map/client/components/widget/KStackableTimeSeries.vue +8 -5
- package/map/client/composables/activity.js +29 -43
- package/map/client/composables/catalog.js +1 -1
- package/map/client/composables/highlight.js +117 -57
- package/map/client/composables/location.js +33 -14
- package/map/client/composables/project.js +9 -10
- package/map/client/composables/selection.js +136 -23
- package/map/client/geocoder.js +104 -0
- package/map/client/geolocation.js +1 -1
- package/map/client/globe.js +3 -0
- package/map/client/hooks/hooks.offline.js +95 -0
- package/map/client/hooks/index.js +1 -0
- package/map/client/i18n/map_en.json +159 -94
- package/map/client/i18n/map_fr.json +186 -127
- package/map/client/index.js +3 -0
- package/map/client/init.js +44 -8
- package/map/client/leaflet/BoxSelection.js +2 -2
- package/map/client/leaflet/GradientPath.js +84 -4
- package/map/client/leaflet/TiledFeatureLayer.js +2 -3
- package/map/client/leaflet/WindBarb.js +323 -0
- package/map/client/leaflet/utils/index.js +1 -0
- package/map/client/leaflet/utils/utils.events.js +8 -3
- package/map/client/leaflet/utils/utils.geojson.js +221 -0
- package/map/client/leaflet/utils/utils.style.js +10 -9
- package/map/client/map.js +3 -0
- package/map/client/mixins/globe/mixin.base-globe.js +151 -19
- package/map/client/mixins/globe/mixin.geojson-layers.js +208 -86
- package/map/client/mixins/globe/mixin.popup.js +3 -2
- package/map/client/mixins/globe/mixin.style.js +3 -1
- package/map/client/mixins/globe/mixin.tooltip.js +3 -2
- package/map/client/mixins/map/index.js +1 -3
- package/map/client/mixins/map/mixin.base-map.js +267 -79
- package/map/client/mixins/map/mixin.canvas-layers.js +44 -10
- package/map/client/mixins/map/mixin.edit-layers.js +142 -57
- package/map/client/mixins/map/mixin.geojson-layers.js +129 -205
- package/map/client/mixins/map/mixin.pmtiles-layers.js +24 -11
- package/map/client/mixins/map/mixin.tiled-mesh-layers.js +1 -2
- package/map/client/mixins/map/mixin.tiled-wind-layers.js +2 -1
- package/map/client/mixins/mixin.activity.js +61 -41
- package/map/client/mixins/mixin.context.js +19 -14
- package/map/client/mixins/mixin.feature-selection.js +0 -1
- package/map/client/mixins/mixin.feature-service.js +41 -59
- package/map/client/mixins/mixin.weacast.js +1 -1
- package/map/client/navigator.js +38 -0
- package/map/client/pixi-utils.js +1 -1
- package/map/client/planets.js +1 -1
- package/map/client/readers/reader.kml.js +57 -1
- package/map/client/utils/index.js +1 -0
- package/map/client/utils/utils.capture.js +10 -7
- package/map/client/utils/utils.catalog.js +2 -2
- package/map/client/utils/utils.features.js +193 -39
- package/map/client/utils/utils.js +8 -19
- package/map/client/utils/utils.layers.js +381 -4
- package/map/client/utils/utils.location.js +39 -74
- package/map/client/utils/utils.offline.js +89 -0
- package/map/client/utils/utils.style.js +133 -80
- package/map/client/utils/utils.time-series.js +99 -25
- package/map/common/geotiff-grid-source.js +2 -1
- package/map/common/permissions.js +2 -0
- package/map/common/schemas/capture.create.json +4 -4
- package/map/common/schemas/catalog.update.json +18 -2
- package/map/common/schemas/projects.create.json +2 -2
- package/map/common/schemas/projects.update.json +2 -2
- package/map/common/tms-utils.js +5 -5
- package/map/common/wcs-grid-source.js +2 -2
- package/map/common/wcs-utils.js +8 -8
- package/map/common/wfs-utils.js +10 -10
- package/map/common/wms-utils.js +7 -7
- package/map/common/wmts-utils.js +6 -6
- package/package.json +7 -4
- package/test/api/core/account.test.js +0 -72
- package/test/api/core/authentication.test.js +184 -0
- package/test/api/core/config/default.cjs +1 -3
- package/test/api/core/index.test.js +33 -96
- package/test/api/core/offline.test.js +55 -0
- package/test/api/core/push.test.js +3 -3
- package/test/api/core/{test-log-2024-06-06.log → test-log-2025-02-05.log} +3 -3
- package/test/api/core/{test-log-2024-11-15.log → test-log-2025-05-21.log} +1 -9
- package/test/api/map/alerts.test.js +1 -1
- package/test/api/map/config/default.cjs +2 -1
- package/test/api/map/data/vigicrues.observations.Q.json +47042 -0
- package/test/api/map/index.test.js +113 -9
- package/test/api/map/style.test.js +62 -0
- package/test/client/core/layout.js +2 -2
- package/test/client/core/runner.js +1 -1
- package/test/client/core/utils.js +52 -0
- package/test/client/map/catalog.js +1 -0
- package/core/api/hooks/hooks.groups.js +0 -48
- package/core/api/hooks/hooks.organisations.js +0 -152
- package/core/api/models/organisations.model.mongodb.js +0 -3
- package/core/api/models/tags.model.mongodb.js +0 -10
- package/core/api/services/groups/groups.hooks.js +0 -31
- package/core/api/services/organisations/organisations.hooks.js +0 -31
- package/core/api/services/organisations/organisations.service.js +0 -86
- package/core/api/services/tags/tags.hooks.js +0 -31
- package/core/api/utils.js +0 -11
- package/core/client/components/KChipsPane.vue +0 -103
- package/core/client/components/document/index.js +0 -9
- package/core/client/components/team/KAddMember.vue +0 -378
- package/core/client/components/team/KAddTag.vue +0 -121
- package/core/client/components/team/KChangeRole.vue +0 -118
- package/core/client/components/team/KGroupCard.vue +0 -110
- package/core/client/components/team/KGroupsActivity.vue +0 -78
- package/core/client/components/team/KJoinGroup.vue +0 -132
- package/core/client/components/team/KMemberCard.vue +0 -328
- package/core/client/components/team/KMemberFilter.vue +0 -49
- package/core/client/components/team/KMembersActivity.vue +0 -136
- package/core/client/components/team/KOrganisationsActivity.vue +0 -51
- package/core/client/components/team/KTagCard.vue +0 -72
- package/core/client/components/team/KTagsActivity.vue +0 -73
- package/core/client/components/team/index.js +0 -9
- package/core/client/mixins/mixin.base-context.js +0 -54
- package/core/client/utils/utils.platform.js +0 -12
- package/core/common/schemas/groups.create.json +0 -28
- package/core/common/schemas/groups.update.json +0 -28
- package/core/common/schemas/organisations.create.json +0 -28
- package/core/common/schemas/organisations.update.json +0 -49
- package/core/common/schemas/tags.create.json +0 -35
- package/core/common/schemas/tags.update.json +0 -35
- package/coverage/tmp/coverage-280506-1731704745613-0.json +0 -1
- package/coverage/tmp/coverage-280518-1731704745599-0.json +0 -1
- package/coverage/tmp/coverage-280529-1731704745588-0.json +0 -1
- package/coverage/tmp/coverage-280541-1731704745574-0.json +0 -1
- package/coverage/tmp/coverage-280548-1731704745545-0.json +0 -1
- package/map/client/components/KFeaturesFilter.vue +0 -259
- package/map/client/components/KLayerStyleEditor.vue +0 -118
- package/map/client/components/KLayerStyleForm.vue +0 -740
- package/map/client/components/KLevelSlider.vue +0 -100
- package/map/client/components/KNorth.vue +0 -31
- package/map/client/components/KPositionIndicator.vue +0 -83
- package/map/client/components/catalog/KCreateProject.vue +0 -100
- package/map/client/mixins/map/mixin.forecast-layers.js +0 -81
- package/map/client/mixins/map/mixin.georaster-layers.js +0 -107
- package/test/api/core/team.test.js +0 -670
- package/test/api/core/test-log-2023-12-19.log +0 -7
- package/test/api/core/test-log-2024-01-04.log +0 -14
- package/test/api/core/test-log-2024-05-14.log +0 -6
- package/test/api/core/test-log-2024-06-26.log +0 -25
- package/test/api/core/test-log-2024-06-28.log +0 -2
- package/test/api/core/test-log-2024-07-09.log +0 -0
- package/test/api/core/test-log-2024-08-13.log +0 -69
- package/test/api/core/test-log-2024-10-28.log +0 -53
- package/test/api/core/test-log-2024-11-05.log +0 -30
- package/test/api/map/test-log-2023-11-24.log +0 -121
- package/test/api/map/test-log-2023-12-12.log +0 -29
- package/test/api/map/test-log-2023-12-13.log +0 -5
- package/test/api/map/test-log-2024-01-04.log +0 -2
- package/test/api/map/test-log-2024-01-11.log +0 -1
- package/test/api/map/test-log-2024-01-25.log +0 -19
- package/test/api/map/test-log-2024-06-06.log +0 -39
- package/test/api/map/test-log-2024-08-13.log +0 -13
- package/test/api/map/test-log-2024-08-20.log +0 -55
- package/test/api/map/test-log-2024-09-09.log +0 -92
- package/test/api/map/test-log-2024-10-28.log +0 -11
- /package/extras/{logos → images}/kalisio.png +0 -0
- /package/extras/{icons → images}/target.svg +0 -0
- /package/test/api/map/data/{vigicrues.observations.json → vigicrues.observations.H.json} +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">71.1% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>187/263</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">63.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>19/30</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">63.63% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>7/
|
|
42
|
+
<span class='fraction'>7/11</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">71.1% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>187/263</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -282,7 +282,51 @@
|
|
|
282
282
|
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
283
|
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
284
|
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a
|
|
285
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
+
<a name='L231'></a><a href='#L231'>231</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>
|
|
311
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
286
330
|
<span class="cline-any cline-yes">1x</span>
|
|
287
331
|
<span class="cline-any cline-yes">1x</span>
|
|
288
332
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -303,16 +347,17 @@
|
|
|
303
347
|
<span class="cline-any cline-yes">1x</span>
|
|
304
348
|
<span class="cline-any cline-yes">1x</span>
|
|
305
349
|
<span class="cline-any cline-yes">1x</span>
|
|
306
|
-
<span class="cline-any cline-yes">
|
|
307
|
-
<span class="cline-any cline-yes">
|
|
308
|
-
<span class="cline-any cline-
|
|
309
|
-
<span class="cline-any cline-yes">6x</span>
|
|
310
|
-
<span class="cline-any cline-no"> </span>
|
|
350
|
+
<span class="cline-any cline-yes">1x</span>
|
|
351
|
+
<span class="cline-any cline-yes">9x</span>
|
|
352
|
+
<span class="cline-any cline-yes">9x</span>
|
|
311
353
|
<span class="cline-any cline-no"> </span>
|
|
312
|
-
<span class="cline-any cline-yes">
|
|
313
|
-
<span class="cline-any cline-yes">
|
|
314
|
-
<span class="cline-any cline-yes">
|
|
315
|
-
<span class="cline-any cline-yes">
|
|
354
|
+
<span class="cline-any cline-yes">9x</span>
|
|
355
|
+
<span class="cline-any cline-yes">4x</span>
|
|
356
|
+
<span class="cline-any cline-yes">4x</span>
|
|
357
|
+
<span class="cline-any cline-yes">9x</span>
|
|
358
|
+
<span class="cline-any cline-yes">5x</span>
|
|
359
|
+
<span class="cline-any cline-yes">5x</span>
|
|
360
|
+
<span class="cline-any cline-yes">9x</span>
|
|
316
361
|
<span class="cline-any cline-yes">1x</span>
|
|
317
362
|
<span class="cline-any cline-yes">1x</span>
|
|
318
363
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -346,8 +391,30 @@
|
|
|
346
391
|
<span class="cline-any cline-no"> </span>
|
|
347
392
|
<span class="cline-any cline-no"> </span>
|
|
348
393
|
<span class="cline-any cline-no"> </span>
|
|
394
|
+
<span class="cline-any cline-no"> </span>
|
|
395
|
+
<span class="cline-any cline-no"> </span>
|
|
396
|
+
<span class="cline-any cline-no"> </span>
|
|
349
397
|
<span class="cline-any cline-yes">1x</span>
|
|
350
398
|
<span class="cline-any cline-yes">1x</span>
|
|
399
|
+
<span class="cline-any cline-no"> </span>
|
|
400
|
+
<span class="cline-any cline-no"> </span>
|
|
401
|
+
<span class="cline-any cline-no"> </span>
|
|
402
|
+
<span class="cline-any cline-no"> </span>
|
|
403
|
+
<span class="cline-any cline-no"> </span>
|
|
404
|
+
<span class="cline-any cline-no"> </span>
|
|
405
|
+
<span class="cline-any cline-no"> </span>
|
|
406
|
+
<span class="cline-any cline-no"> </span>
|
|
407
|
+
<span class="cline-any cline-no"> </span>
|
|
408
|
+
<span class="cline-any cline-no"> </span>
|
|
409
|
+
<span class="cline-any cline-no"> </span>
|
|
410
|
+
<span class="cline-any cline-no"> </span>
|
|
411
|
+
<span class="cline-any cline-no"> </span>
|
|
412
|
+
<span class="cline-any cline-no"> </span>
|
|
413
|
+
<span class="cline-any cline-no"> </span>
|
|
414
|
+
<span class="cline-any cline-no"> </span>
|
|
415
|
+
<span class="cline-any cline-no"> </span>
|
|
416
|
+
<span class="cline-any cline-no"> </span>
|
|
417
|
+
<span class="cline-any cline-no"> </span>
|
|
351
418
|
<span class="cline-any cline-yes">1x</span>
|
|
352
419
|
<span class="cline-any cline-yes">1x</span>
|
|
353
420
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -359,58 +426,79 @@
|
|
|
359
426
|
<span class="cline-any cline-yes">1x</span>
|
|
360
427
|
<span class="cline-any cline-yes">1x</span>
|
|
361
428
|
<span class="cline-any cline-yes">1x</span>
|
|
362
|
-
<span class="cline-any cline-yes">
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
364
|
-
<span class="cline-any cline-yes">
|
|
365
|
-
<span class="cline-any cline-yes">
|
|
366
|
-
<span class="cline-any cline-yes">
|
|
429
|
+
<span class="cline-any cline-yes">1x</span>
|
|
430
|
+
<span class="cline-any cline-yes">1x</span>
|
|
431
|
+
<span class="cline-any cline-yes">18x</span>
|
|
432
|
+
<span class="cline-any cline-yes">18x</span>
|
|
433
|
+
<span class="cline-any cline-yes">18x</span>
|
|
434
|
+
<span class="cline-any cline-yes">18x</span>
|
|
435
|
+
<span class="cline-any cline-yes">18x</span>
|
|
436
|
+
<span class="cline-any cline-yes">18x</span>
|
|
437
|
+
<span class="cline-any cline-yes">18x</span>
|
|
367
438
|
<span class="cline-any cline-no"> </span>
|
|
368
439
|
<span class="cline-any cline-no"> </span>
|
|
440
|
+
<span class="cline-any cline-yes">18x</span>
|
|
441
|
+
<span class="cline-any cline-yes">18x</span>
|
|
442
|
+
<span class="cline-any cline-yes">18x</span>
|
|
443
|
+
<span class="cline-any cline-yes">18x</span>
|
|
444
|
+
<span class="cline-any cline-yes">18x</span>
|
|
445
|
+
<span class="cline-any cline-yes">18x</span>
|
|
446
|
+
<span class="cline-any cline-yes">18x</span>
|
|
447
|
+
<span class="cline-any cline-yes">18x</span>
|
|
448
|
+
<span class="cline-any cline-yes">18x</span>
|
|
449
|
+
<span class="cline-any cline-yes">18x</span>
|
|
450
|
+
<span class="cline-any cline-yes">18x</span>
|
|
451
|
+
<span class="cline-any cline-yes">18x</span>
|
|
452
|
+
<span class="cline-any cline-yes">18x</span>
|
|
453
|
+
<span class="cline-any cline-yes">18x</span>
|
|
454
|
+
<span class="cline-any cline-yes">18x</span>
|
|
455
|
+
<span class="cline-any cline-yes">18x</span>
|
|
456
|
+
<span class="cline-any cline-yes">18x</span>
|
|
457
|
+
<span class="cline-any cline-yes">18x</span>
|
|
458
|
+
<span class="cline-any cline-yes">18x</span>
|
|
459
|
+
<span class="cline-any cline-yes">18x</span>
|
|
460
|
+
<span class="cline-any cline-yes">9x</span>
|
|
461
|
+
<span class="cline-any cline-yes">9x</span>
|
|
462
|
+
<span class="cline-any cline-yes">9x</span>
|
|
463
|
+
<span class="cline-any cline-yes">9x</span>
|
|
464
|
+
<span class="cline-any cline-yes">9x</span>
|
|
465
|
+
<span class="cline-any cline-yes">9x</span>
|
|
466
|
+
<span class="cline-any cline-yes">9x</span>
|
|
467
|
+
<span class="cline-any cline-yes">9x</span>
|
|
468
|
+
<span class="cline-any cline-yes">9x</span>
|
|
469
|
+
<span class="cline-any cline-yes">9x</span>
|
|
470
|
+
<span class="cline-any cline-yes">9x</span>
|
|
471
|
+
<span class="cline-any cline-yes">9x</span>
|
|
472
|
+
<span class="cline-any cline-yes">9x</span>
|
|
473
|
+
<span class="cline-any cline-yes">9x</span>
|
|
474
|
+
<span class="cline-any cline-yes">9x</span>
|
|
475
|
+
<span class="cline-any cline-yes">9x</span>
|
|
476
|
+
<span class="cline-any cline-yes">9x</span>
|
|
369
477
|
<span class="cline-any cline-yes">6x</span>
|
|
370
478
|
<span class="cline-any cline-yes">6x</span>
|
|
371
479
|
<span class="cline-any cline-yes">6x</span>
|
|
372
480
|
<span class="cline-any cline-yes">6x</span>
|
|
373
481
|
<span class="cline-any cline-yes">6x</span>
|
|
482
|
+
<span class="cline-any cline-yes">9x</span>
|
|
483
|
+
<span class="cline-any cline-yes">18x</span>
|
|
484
|
+
<span class="cline-any cline-yes">3x</span>
|
|
485
|
+
<span class="cline-any cline-yes">3x</span>
|
|
486
|
+
<span class="cline-any cline-yes">18x</span>
|
|
487
|
+
<span class="cline-any cline-yes">1x</span>
|
|
488
|
+
<span class="cline-any cline-yes">1x</span>
|
|
489
|
+
<span class="cline-any cline-yes">25x</span>
|
|
490
|
+
<span class="cline-any cline-yes">25x</span>
|
|
374
491
|
<span class="cline-any cline-yes">6x</span>
|
|
375
492
|
<span class="cline-any cline-yes">6x</span>
|
|
376
493
|
<span class="cline-any cline-yes">6x</span>
|
|
377
494
|
<span class="cline-any cline-yes">6x</span>
|
|
378
495
|
<span class="cline-any cline-yes">6x</span>
|
|
379
496
|
<span class="cline-any cline-yes">6x</span>
|
|
380
|
-
<span class="cline-any cline-yes">
|
|
381
|
-
<span class="cline-any cline-yes">
|
|
382
|
-
<span class="cline-any cline-yes">
|
|
383
|
-
<span class="cline-any cline-yes">
|
|
384
|
-
<span class="cline-any cline-yes">
|
|
385
|
-
<span class="cline-any cline-yes">6x</span>
|
|
386
|
-
<span class="cline-any cline-yes">6x</span>
|
|
387
|
-
<span class="cline-any cline-yes">6x</span>
|
|
388
|
-
<span class="cline-any cline-yes">6x</span>
|
|
389
|
-
<span class="cline-any cline-yes">6x</span>
|
|
390
|
-
<span class="cline-any cline-yes">6x</span>
|
|
391
|
-
<span class="cline-any cline-yes">6x</span>
|
|
392
|
-
<span class="cline-any cline-yes">6x</span>
|
|
393
|
-
<span class="cline-any cline-yes">6x</span>
|
|
394
|
-
<span class="cline-any cline-yes">6x</span>
|
|
395
|
-
<span class="cline-any cline-yes">6x</span>
|
|
396
|
-
<span class="cline-any cline-no"> </span>
|
|
397
|
-
<span class="cline-any cline-no"> </span>
|
|
398
|
-
<span class="cline-any cline-yes">6x</span>
|
|
399
|
-
<span class="cline-any cline-yes">1x</span>
|
|
400
|
-
<span class="cline-any cline-yes">1x</span>
|
|
401
|
-
<span class="cline-any cline-yes">13x</span>
|
|
402
|
-
<span class="cline-any cline-yes">13x</span>
|
|
403
|
-
<span class="cline-any cline-yes">2x</span>
|
|
404
|
-
<span class="cline-any cline-yes">2x</span>
|
|
405
|
-
<span class="cline-any cline-yes">2x</span>
|
|
406
|
-
<span class="cline-any cline-yes">2x</span>
|
|
407
|
-
<span class="cline-any cline-yes">2x</span>
|
|
408
|
-
<span class="cline-any cline-yes">2x</span>
|
|
409
|
-
<span class="cline-any cline-yes">13x</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>
|
|
413
|
-
<span class="cline-any cline-yes">13x</span>
|
|
497
|
+
<span class="cline-any cline-yes">25x</span>
|
|
498
|
+
<span class="cline-any cline-yes">19x</span>
|
|
499
|
+
<span class="cline-any cline-yes">19x</span>
|
|
500
|
+
<span class="cline-any cline-yes">19x</span>
|
|
501
|
+
<span class="cline-any cline-yes">25x</span>
|
|
414
502
|
<span class="cline-any cline-yes">1x</span>
|
|
415
503
|
<span class="cline-any cline-yes">1x</span>
|
|
416
504
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -475,8 +563,8 @@
|
|
|
475
563
|
<span class="cline-any cline-yes">9x</span>
|
|
476
564
|
<span class="cline-any cline-yes">9x</span>
|
|
477
565
|
<span class="cline-any cline-yes">9x</span>
|
|
478
|
-
<span class="cline-any cline-yes">
|
|
479
|
-
<span class="cline-any cline-yes">
|
|
566
|
+
<span class="cline-any cline-yes">15x</span>
|
|
567
|
+
<span class="cline-any cline-yes">15x</span>
|
|
480
568
|
<span class="cline-any cline-yes">4x</span>
|
|
481
569
|
<span class="cline-any cline-yes">4x</span>
|
|
482
570
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -486,7 +574,7 @@
|
|
|
486
574
|
<span class="cline-any cline-yes">4x</span>
|
|
487
575
|
<span class="cline-any cline-yes">4x</span>
|
|
488
576
|
<span class="cline-any cline-yes">4x</span>
|
|
489
|
-
<span class="cline-any cline-yes">
|
|
577
|
+
<span class="cline-any cline-yes">15x</span>
|
|
490
578
|
<span class="cline-any cline-yes">4x</span>
|
|
491
579
|
<span class="cline-any cline-yes">4x</span>
|
|
492
580
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -498,11 +586,12 @@
|
|
|
498
586
|
<span class="cline-any cline-yes">4x</span>
|
|
499
587
|
<span class="cline-any cline-yes">4x</span>
|
|
500
588
|
<span class="cline-any cline-yes">4x</span>
|
|
501
|
-
<span class="cline-any cline-yes">
|
|
589
|
+
<span class="cline-any cline-yes">15x</span>
|
|
502
590
|
<span class="cline-any cline-yes">9x</span>
|
|
503
591
|
<span class="cline-any cline-yes">9x</span>
|
|
504
592
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import makeDebug from 'debug'
|
|
505
593
|
import _ from 'lodash'
|
|
594
|
+
import qs from 'qs'
|
|
506
595
|
import 'winston-daily-rotate-file'
|
|
507
596
|
// import { RateLimiter } from 'limiter'
|
|
508
597
|
import HttpLimiter from 'express-rate-limit'
|
|
@@ -525,9 +614,9 @@ export class Authentication extends AuthenticationService {
|
|
|
525
614
|
// Params can override defaults
|
|
526
615
|
if (params.payload) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
527
616
|
<span class="cstat-no" title="statement not covered" > return params.payload</span>
|
|
528
|
-
} else if (authResult.authentication && authResult.authentication.payload)
|
|
529
|
-
|
|
530
|
-
|
|
617
|
+
} else if (authResult.authentication && authResult.authentication.payload) {
|
|
618
|
+
// Avoid conflicting with default token options added when generating a new token
|
|
619
|
+
return _.omit(authResult.authentication.payload, ['aud', 'iss', 'exp', 'sub', 'iat', 'jti', 'nbf'])
|
|
531
620
|
} else {
|
|
532
621
|
return {}
|
|
533
622
|
}
|
|
@@ -535,6 +624,23 @@ export class Authentication extends AuthenticationService {
|
|
|
535
624
|
}
|
|
536
625
|
|
|
537
626
|
export class AuthenticationProviderStrategy extends OAuthStrategy {
|
|
627
|
+
<span class="fstat-no" title="function not covered" > setAuthentication (auth) {</span>
|
|
628
|
+
<span class="cstat-no" title="statement not covered" > super.setAuthentication(auth)</span>
|
|
629
|
+
<span class="cstat-no" title="statement not covered" > const authConfig = this.authentication.configuration</span>
|
|
630
|
+
<span class="cstat-no" title="statement not covered" > const { oauth } = authConfig</span>
|
|
631
|
+
<span class="cstat-no" title="statement not covered" > // Single logout supported ?</span>
|
|
632
|
+
<span class="cstat-no" title="statement not covered" > const { logout_url: logoutUrl, post_logout_url: postLogoutUrl, key } = this.configuration</span>
|
|
633
|
+
<span class="cstat-no" title="statement not covered" > if (logoutUrl && key) {</span>
|
|
634
|
+
<span class="cstat-no" title="statement not covered" > // Cannot use oauth/:provider/logout route as oauth/:provider is already intercepted by feathers and this causes an error</span>
|
|
635
|
+
<span class="cstat-no" title="statement not covered" > this.app.get(`/oauth-logout/${this.name}`, (req, res) => {</span>
|
|
636
|
+
<span class="cstat-no" title="statement not covered" > return res.redirect(logoutUrl + '?' + qs.stringify({</span>
|
|
637
|
+
<span class="cstat-no" title="statement not covered" > post_logout_redirect_uri: postLogoutUrl || oauth.redirect,</span>
|
|
638
|
+
<span class="cstat-no" title="statement not covered" > client_id: key</span>
|
|
639
|
+
<span class="cstat-no" title="statement not covered" > }))</span>
|
|
640
|
+
<span class="cstat-no" title="statement not covered" > })</span>
|
|
641
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
642
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
643
|
+
|
|
538
644
|
<span class="fstat-no" title="function not covered" > async getEntityData (profile, entity) {</span>
|
|
539
645
|
<span class="cstat-no" title="statement not covered" > const createEntity = _.isNil(entity)</span>
|
|
540
646
|
<span class="cstat-no" title="statement not covered" > // Add provider Id</span>
|
|
@@ -553,6 +659,13 @@ export class AuthenticationProviderStrategy extends OAuthStrategy {
|
|
|
553
659
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
554
660
|
|
|
555
661
|
<span class="fstat-no" title="function not covered" > async getEntityQuery (profile) {</span>
|
|
662
|
+
<span class="cstat-no" title="statement not covered" > // Ensure the profile is right before requesting based on it</span>
|
|
663
|
+
<span class="cstat-no" title="statement not covered" > // as when an error is raised the profile will not contain any ID or email</span>
|
|
664
|
+
<span class="cstat-no" title="statement not covered" > // and we might build a request retrieving any user</span>
|
|
665
|
+
<span class="cstat-no" title="statement not covered" > if (!_.has(profile, 'id') && !_.has(profile, 'sub') && !_.has(profile, this.emailFieldInProfile || 'email')) {</span>
|
|
666
|
+
<span class="cstat-no" title="statement not covered" > // This ensure no user will be retrieved</span>
|
|
667
|
+
<span class="cstat-no" title="statement not covered" > return { $limit: 0 }</span>
|
|
668
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
556
669
|
<span class="cstat-no" title="statement not covered" > const query = {</span>
|
|
557
670
|
<span class="cstat-no" title="statement not covered" > $or: [</span>
|
|
558
671
|
<span class="cstat-no" title="statement not covered" > { [`${this.name}Id`]: profile.id || profile.sub },</span>
|
|
@@ -579,6 +692,8 @@ export class AuthenticationProviderStrategy extends OAuthStrategy {
|
|
|
579
692
|
export class JWTAuthenticationStrategy extends JWTStrategy {
|
|
580
693
|
async authenticate (authentication, params) {
|
|
581
694
|
const { accessToken } = authentication
|
|
695
|
+
const authConfig = this.authentication.configuration
|
|
696
|
+
const { identityFields } = authConfig
|
|
582
697
|
const { entity } = this.configuration
|
|
583
698
|
const renewJwt = _.get(this.configuration, 'renewJwt', true)
|
|
584
699
|
|
|
@@ -602,18 +717,35 @@ export class JWTAuthenticationStrategy extends JWTStrategy {
|
|
|
602
717
|
// Second key trick
|
|
603
718
|
// Return user attached to the token if any
|
|
604
719
|
// Return basic information for a stateless token otherwise
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
720
|
+
if (payload.sub) {
|
|
721
|
+
// Check for a valid MongoDB ID
|
|
722
|
+
if (ObjectID.isValid(payload.sub)) {
|
|
723
|
+
const entityId = await this.getEntityId(result, params)
|
|
724
|
+
const value = await this.getEntity(entityId, params)
|
|
609
725
|
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
726
|
+
return {
|
|
727
|
+
...result,
|
|
728
|
+
[entity]: value
|
|
729
|
+
}
|
|
730
|
+
} else if (identityFields) {
|
|
731
|
+
// Otherwise use others fields to identify the user if defined
|
|
732
|
+
const query = {
|
|
733
|
+
$or: _.reduce(identityFields, (or, field) => or.concat([{ [field]: payload.sub }]), []),
|
|
734
|
+
$limit: 1
|
|
735
|
+
}
|
|
736
|
+
const response = await this.entityService.find({ ...params, query })
|
|
737
|
+
const [value = null] = response.data ? response.data <span class="branch-0 cbranch-no" title="branch not covered" >: response</span>
|
|
738
|
+
// Otherwise assume a stateless token
|
|
739
|
+
if (value) {
|
|
740
|
+
return {
|
|
741
|
+
...result,
|
|
742
|
+
[entity]: value
|
|
743
|
+
}
|
|
744
|
+
}
|
|
613
745
|
}
|
|
614
746
|
}
|
|
615
|
-
|
|
616
|
-
|
|
747
|
+
|
|
748
|
+
return result
|
|
617
749
|
}
|
|
618
750
|
|
|
619
751
|
async parse (req) {
|
|
@@ -727,7 +859,7 @@ export default function auth (app) {
|
|
|
727
859
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
728
860
|
Code coverage generated by
|
|
729
861
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
730
|
-
at
|
|
862
|
+
at 2025-05-21T12:01:19.833Z
|
|
731
863
|
</div>
|
|
732
864
|
<script src="../../prettify.js"></script>
|
|
733
865
|
<script>
|
|
@@ -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.08% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>189/236</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">64.15% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>34/53</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">71.42% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>15/21</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.08% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>189/236</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -318,12 +318,12 @@
|
|
|
318
318
|
<span class="cline-any cline-yes">6x</span>
|
|
319
319
|
<span class="cline-any cline-yes">1x</span>
|
|
320
320
|
<span class="cline-any cline-yes">1x</span>
|
|
321
|
-
<span class="cline-any cline-
|
|
322
|
-
<span class="cline-any cline-
|
|
323
|
-
<span class="cline-any cline-
|
|
324
|
-
<span class="cline-any cline-
|
|
325
|
-
<span class="cline-any cline-
|
|
326
|
-
<span class="cline-any cline-
|
|
321
|
+
<span class="cline-any cline-no"> </span>
|
|
322
|
+
<span class="cline-any cline-no"> </span>
|
|
323
|
+
<span class="cline-any cline-no"> </span>
|
|
324
|
+
<span class="cline-any cline-no"> </span>
|
|
325
|
+
<span class="cline-any cline-no"> </span>
|
|
326
|
+
<span class="cline-any cline-no"> </span>
|
|
327
327
|
<span class="cline-any cline-yes">1x</span>
|
|
328
328
|
<span class="cline-any cline-yes">1x</span>
|
|
329
329
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -342,37 +342,37 @@
|
|
|
342
342
|
<span class="cline-any cline-yes">1x</span>
|
|
343
343
|
<span class="cline-any cline-yes">1x</span>
|
|
344
344
|
<span class="cline-any cline-yes">1x</span>
|
|
345
|
-
<span class="cline-any cline-yes">
|
|
346
|
-
<span class="cline-any cline-yes">
|
|
347
|
-
<span class="cline-any cline-yes">
|
|
348
|
-
<span class="cline-any cline-yes">
|
|
349
|
-
<span class="cline-any cline-yes">
|
|
350
|
-
<span class="cline-any cline-yes">
|
|
351
|
-
<span class="cline-any cline-yes">
|
|
345
|
+
<span class="cline-any cline-yes">14x</span>
|
|
346
|
+
<span class="cline-any cline-yes">14x</span>
|
|
347
|
+
<span class="cline-any cline-yes">6x</span>
|
|
348
|
+
<span class="cline-any cline-yes">14x</span>
|
|
349
|
+
<span class="cline-any cline-yes">14x</span>
|
|
350
|
+
<span class="cline-any cline-yes">14x</span>
|
|
351
|
+
<span class="cline-any cline-yes">4x</span>
|
|
352
|
+
<span class="cline-any cline-yes">2x</span>
|
|
352
353
|
<span class="cline-any cline-yes">2x</span>
|
|
353
354
|
<span class="cline-any cline-yes">2x</span>
|
|
354
355
|
<span class="cline-any cline-yes">2x</span>
|
|
355
356
|
<span class="cline-any cline-yes">2x</span>
|
|
356
357
|
<span class="cline-any cline-yes">2x</span>
|
|
357
|
-
<span class="cline-any cline-yes">38x</span>
|
|
358
358
|
<span class="cline-any cline-no"> </span>
|
|
359
359
|
<span class="cline-any cline-no"> </span>
|
|
360
|
-
<span class="cline-any cline-yes">36x</span>
|
|
361
|
-
<span class="cline-any cline-yes">265x</span>
|
|
362
360
|
<span class="cline-any cline-yes">2x</span>
|
|
361
|
+
<span class="cline-any cline-yes">14x</span>
|
|
363
362
|
<span class="cline-any cline-yes">2x</span>
|
|
364
363
|
<span class="cline-any cline-yes">2x</span>
|
|
365
364
|
<span class="cline-any cline-yes">2x</span>
|
|
366
|
-
<span class="cline-any cline-yes">
|
|
367
|
-
<span class="cline-any cline-yes">
|
|
368
|
-
<span class="cline-any cline-
|
|
369
|
-
<span class="cline-any cline-yes">
|
|
370
|
-
<span class="cline-any cline-yes">
|
|
371
|
-
<span class="cline-any cline-yes">
|
|
372
|
-
<span class="cline-any cline-yes">
|
|
373
|
-
<span class="cline-any cline-yes">
|
|
374
|
-
<span class="cline-any cline-yes">
|
|
375
|
-
<span class="cline-any cline-yes">
|
|
365
|
+
<span class="cline-any cline-yes">2x</span>
|
|
366
|
+
<span class="cline-any cline-yes">10x</span>
|
|
367
|
+
<span class="cline-any cline-no"> </span>
|
|
368
|
+
<span class="cline-any cline-yes">8x</span>
|
|
369
|
+
<span class="cline-any cline-yes">8x</span>
|
|
370
|
+
<span class="cline-any cline-yes">2x</span>
|
|
371
|
+
<span class="cline-any cline-yes">8x</span>
|
|
372
|
+
<span class="cline-any cline-yes">6x</span>
|
|
373
|
+
<span class="cline-any cline-yes">6x</span>
|
|
374
|
+
<span class="cline-any cline-yes">14x</span>
|
|
375
|
+
<span class="cline-any cline-yes">14x</span>
|
|
376
376
|
<span class="cline-any cline-yes">1x</span>
|
|
377
377
|
<span class="cline-any cline-yes">1x</span>
|
|
378
378
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -400,8 +400,8 @@
|
|
|
400
400
|
<span class="cline-any cline-yes">9x</span>
|
|
401
401
|
<span class="cline-any cline-yes">1x</span>
|
|
402
402
|
<span class="cline-any cline-yes">1x</span>
|
|
403
|
-
<span class="cline-any cline-yes">
|
|
404
|
-
<span class="cline-any cline-yes">
|
|
403
|
+
<span class="cline-any cline-yes">79x</span>
|
|
404
|
+
<span class="cline-any cline-yes">79x</span>
|
|
405
405
|
<span class="cline-any cline-yes">1x</span>
|
|
406
406
|
<span class="cline-any cline-yes">1x</span>
|
|
407
407
|
<span class="cline-any cline-no"> </span>
|
|
@@ -516,24 +516,24 @@
|
|
|
516
516
|
<span class="cline-any cline-yes">1x</span>
|
|
517
517
|
<span class="cline-any cline-yes">1x</span>
|
|
518
518
|
<span class="cline-any cline-yes">1x</span>
|
|
519
|
-
<span class="cline-any cline-
|
|
520
|
-
<span class="cline-any cline-
|
|
521
|
-
<span class="cline-any cline-yes">1x</span>
|
|
522
|
-
<span class="cline-any cline-yes">1x</span>
|
|
523
|
-
<span class="cline-any cline-yes">22x</span>
|
|
524
|
-
<span class="cline-any cline-yes">22x</span>
|
|
519
|
+
<span class="cline-any cline-no"> </span>
|
|
520
|
+
<span class="cline-any cline-no"> </span>
|
|
525
521
|
<span class="cline-any cline-yes">1x</span>
|
|
526
522
|
<span class="cline-any cline-yes">1x</span>
|
|
527
523
|
<span class="cline-any cline-yes">15x</span>
|
|
528
524
|
<span class="cline-any cline-yes">15x</span>
|
|
529
525
|
<span class="cline-any cline-yes">1x</span>
|
|
530
526
|
<span class="cline-any cline-yes">1x</span>
|
|
531
|
-
<span class="cline-any cline-yes">
|
|
532
|
-
<span class="cline-any cline-yes">
|
|
533
|
-
<span class="cline-any cline-yes">
|
|
534
|
-
<span class="cline-any cline-yes">
|
|
535
|
-
<span class="cline-any cline-yes">
|
|
536
|
-
<span class="cline-any cline-yes">
|
|
527
|
+
<span class="cline-any cline-yes">8x</span>
|
|
528
|
+
<span class="cline-any cline-yes">8x</span>
|
|
529
|
+
<span class="cline-any cline-yes">1x</span>
|
|
530
|
+
<span class="cline-any cline-yes">1x</span>
|
|
531
|
+
<span class="cline-any cline-yes">8x</span>
|
|
532
|
+
<span class="cline-any cline-yes">8x</span>
|
|
533
|
+
<span class="cline-any cline-yes">8x</span>
|
|
534
|
+
<span class="cline-any cline-yes">8x</span>
|
|
535
|
+
<span class="cline-any cline-yes">8x</span>
|
|
536
|
+
<span class="cline-any cline-yes">8x</span>
|
|
537
537
|
<span class="cline-any cline-yes">1x</span>
|
|
538
538
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import _ from 'lodash'
|
|
539
539
|
import moment from 'moment'
|
|
@@ -553,13 +553,13 @@ export function isObjectID (id) {
|
|
|
553
553
|
return id && (typeof id.toHexString === 'function') <span class="branch-0 cbranch-no" title="branch not covered" >&& (typeof id.getTimestamp === 'function')</span>
|
|
554
554
|
}
|
|
555
555
|
|
|
556
|
-
export function idToString (id) {
|
|
557
|
-
return (typeof id === 'object'
|
|
558
|
-
? (ObjectID.isValid(id)
|
|
559
|
-
? id.toString()
|
|
560
|
-
: idToString(id._id))
|
|
561
|
-
<span class="
|
|
562
|
-
}
|
|
556
|
+
export <span class="fstat-no" title="function not covered" >function idToString (id) {</span>
|
|
557
|
+
<span class="cstat-no" title="statement not covered" > return (typeof id === 'object'</span>
|
|
558
|
+
<span class="cstat-no" title="statement not covered" > ? (ObjectID.isValid(id)</span>
|
|
559
|
+
<span class="cstat-no" title="statement not covered" > ? id.toString()</span>
|
|
560
|
+
<span class="cstat-no" title="statement not covered" > : idToString(id._id))</span>
|
|
561
|
+
<span class="cstat-no" title="statement not covered" > : id)</span>
|
|
562
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
563
563
|
|
|
564
564
|
export function createObjectID (id) {
|
|
565
565
|
// This ensure it works even if id is already an ObjectID
|
|
@@ -599,8 +599,8 @@ export function objectifyIDs (object) {
|
|
|
599
599
|
const ids = value.map(id => createObjectID(id)).filter(id => id)
|
|
600
600
|
// Take care that $in/$nin can be used for others types than Object IDs so conversion might fail
|
|
601
601
|
if (ids.length > 0) object[key] = ids
|
|
602
|
-
} else if ((key === '$or') || (key === '$and')) {
|
|
603
|
-
value.forEach(entry => objectifyIDs(entry))
|
|
602
|
+
} else if ((key === '$or') || (key === '$and')) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
603
|
+
<span class="cstat-no" title="statement not covered" > value.forEach(entry => objectifyIDs(entry))</span>
|
|
604
604
|
} else {
|
|
605
605
|
if (!Array.isArray(value)) objectifyIDs(value)
|
|
606
606
|
else value.forEach(entry => objectifyIDs(entry))
|
|
@@ -751,9 +751,9 @@ export class MongoDatabase extends Database {
|
|
|
751
751
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
752
752
|
}
|
|
753
753
|
|
|
754
|
-
get client () {
|
|
755
|
-
return this._client
|
|
756
|
-
}
|
|
754
|
+
<span class="fstat-no" title="function not covered" > get client () {</span>
|
|
755
|
+
<span class="cstat-no" title="statement not covered" > return this._client</span>
|
|
756
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
757
757
|
|
|
758
758
|
get instance () {
|
|
759
759
|
return this._db
|
|
@@ -778,7 +778,7 @@ export class MongoDatabase extends Database {
|
|
|
778
778
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
779
779
|
Code coverage generated by
|
|
780
780
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
781
|
-
at
|
|
781
|
+
at 2025-05-21T12:01:19.833Z
|
|
782
782
|
</div>
|
|
783
783
|
<script src="../../prettify.js"></script>
|
|
784
784
|
<script>
|