@kalisio/kdk 2.6.3 → 2.6.4
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/.vscode/settings.json +5 -0
- package/coverage/core/api/application.js.html +398 -392
- package/coverage/core/api/authentication.js.html +187 -352
- package/coverage/core/api/db.js.html +126 -165
- package/coverage/core/api/hooks/hooks.authentication.js.html +196 -22
- package/coverage/core/api/hooks/hooks.authorisations.js.html +662 -383
- package/coverage/{lcov-report/core/api/hooks/hooks.tags.js.html → core/api/hooks/hooks.groups.js.html} +76 -100
- package/coverage/core/api/hooks/hooks.logger.js.html +41 -41
- package/coverage/core/api/hooks/hooks.model.js.html +101 -113
- package/coverage/core/api/hooks/hooks.organisations.js.html +541 -0
- package/coverage/core/api/hooks/hooks.push.js.html +97 -112
- package/coverage/core/api/hooks/hooks.query.js.html +222 -270
- 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.users.js.html +447 -255
- package/coverage/core/api/hooks/index.html +122 -107
- package/coverage/core/api/hooks/index.js.html +10 -4
- package/coverage/core/api/index.html +61 -46
- package/coverage/core/api/index.js.html +9 -9
- package/coverage/core/api/marshall.js.html +9 -9
- package/coverage/{lcov-report/map/api/models/styles.model.mongodb.js.html → core/api/models/groups.model.mongodb.js.html} +7 -10
- package/coverage/core/api/models/index.html +50 -35
- package/coverage/core/api/models/messages.model.mongodb.js.html +27 -39
- package/coverage/{lcov-report/core/api/models/configurations.model.mongodb.js.html → core/api/models/organisations.model.mongodb.js.html} +7 -10
- package/coverage/core/api/models/tags.model.mongodb.js.html +32 -26
- 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 +222 -213
- package/coverage/core/api/services/authorisations/index.html +21 -21
- 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/{lcov-report/core/api/services/configurations/configurations.hooks.js.html → core/api/services/groups/groups.hooks.js.html} +10 -16
- package/coverage/core/api/services/{configurations → groups}/index.html +8 -8
- 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 +142 -313
- 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 +76 -112
- package/coverage/{lcov-report/map/api/services/styles → core/api/services/organisations}/index.html +25 -10
- package/coverage/core/api/services/{configurations/configurations.hooks.js.html → organisations/organisations.hooks.js.html} +10 -16
- package/coverage/core/api/services/organisations/organisations.service.js.html +343 -0
- 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 +71 -119
- package/coverage/core/api/services/users/index.html +12 -27
- package/coverage/core/api/services/users/users.hooks.js.html +11 -14
- package/coverage/core/api/utils.js.html +118 -0
- package/coverage/core/common/errors.js.html +1 -1
- package/coverage/core/common/index.html +27 -42
- package/coverage/core/common/index.js.html +1 -1
- package/coverage/core/common/permissions.js.html +472 -166
- package/coverage/core/common/schema.js.html +4 -4
- package/coverage/core/common/utils.js.html +25 -31
- package/coverage/index.html +192 -192
- package/coverage/lcov-report/core/api/application.js.html +398 -392
- package/coverage/lcov-report/core/api/authentication.js.html +187 -352
- package/coverage/lcov-report/core/api/db.js.html +126 -165
- package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +196 -22
- package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +662 -383
- package/coverage/{core/api/hooks/hooks.tags.js.html → lcov-report/core/api/hooks/hooks.groups.js.html} +76 -100
- package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +41 -41
- package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +101 -113
- package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +541 -0
- package/coverage/lcov-report/core/api/hooks/hooks.push.js.html +97 -112
- package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +222 -270
- 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.users.js.html +447 -255
- package/coverage/lcov-report/core/api/hooks/index.html +122 -107
- package/coverage/lcov-report/core/api/hooks/index.js.html +10 -4
- package/coverage/lcov-report/core/api/index.html +61 -46
- package/coverage/lcov-report/core/api/index.js.html +9 -9
- package/coverage/lcov-report/core/api/marshall.js.html +9 -9
- package/coverage/{map/api/models/styles.model.mongodb.js.html → lcov-report/core/api/models/groups.model.mongodb.js.html} +7 -10
- package/coverage/lcov-report/core/api/models/index.html +50 -35
- package/coverage/lcov-report/core/api/models/messages.model.mongodb.js.html +27 -39
- package/coverage/{core/api/models/configurations.model.mongodb.js.html → lcov-report/core/api/models/organisations.model.mongodb.js.html} +7 -10
- package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +32 -26
- 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 +222 -213
- package/coverage/lcov-report/core/api/services/authorisations/index.html +21 -21
- 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/{map/api/services/styles/styles.hooks.js.html → core/api/services/groups/groups.hooks.js.html} +12 -45
- package/coverage/lcov-report/core/api/services/{configurations → groups}/index.html +8 -8
- 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 +142 -313
- 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 +76 -112
- package/coverage/{map/api/services/styles → lcov-report/core/api/services/organisations}/index.html +25 -10
- package/coverage/{map/api/services/styles/styles.hooks.js.html → lcov-report/core/api/services/organisations/organisations.hooks.js.html} +12 -45
- package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +343 -0
- 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 +71 -119
- package/coverage/lcov-report/core/api/services/users/index.html +12 -27
- package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +11 -14
- package/coverage/lcov-report/core/api/utils.js.html +118 -0
- package/coverage/lcov-report/core/common/errors.js.html +1 -1
- package/coverage/lcov-report/core/common/index.html +27 -42
- package/coverage/lcov-report/core/common/index.js.html +1 -1
- package/coverage/lcov-report/core/common/permissions.js.html +472 -166
- package/coverage/lcov-report/core/common/schema.js.html +4 -4
- package/coverage/lcov-report/core/common/utils.js.html +25 -31
- package/coverage/lcov-report/index.html +192 -192
- package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +31 -169
- package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +1 -1
- package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +32 -32
- package/coverage/lcov-report/map/api/hooks/index.html +5 -5
- 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 +7 -82
- package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +1 -1
- package/coverage/lcov-report/map/api/models/index.html +7 -22
- package/coverage/lcov-report/map/api/models/projects.model.mongodb.js.html +1 -1
- 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 +12 -39
- 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 +11 -86
- package/coverage/lcov-report/map/api/services/features/features.service.js.html +4 -307
- 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 +50 -326
- 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/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 +10 -7
- 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 +7 -4
- package/coverage/lcov-report/map/common/permissions.js.html +4 -10
- package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/lcov-report/map/common/tms-utils.js.html +12 -9
- package/coverage/lcov-report/map/common/wcs-grid-source.js.html +3 -3
- package/coverage/lcov-report/map/common/wcs-utils.js.html +15 -12
- package/coverage/lcov-report/map/common/weacast-grid-source.js.html +2 -2
- package/coverage/lcov-report/map/common/wfs-utils.js.html +17 -14
- package/coverage/lcov-report/map/common/wms-utils.js.html +12 -30
- package/coverage/lcov-report/map/common/wmts-utils.js.html +13 -10
- package/coverage/lcov.info +4096 -4359
- package/coverage/map/api/hooks/hooks.catalog.js.html +31 -169
- package/coverage/map/api/hooks/hooks.features.js.html +1 -1
- package/coverage/map/api/hooks/hooks.query.js.html +32 -32
- package/coverage/map/api/hooks/index.html +5 -5
- 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 +7 -82
- package/coverage/map/api/models/features.model.mongodb.js.html +1 -1
- package/coverage/map/api/models/index.html +7 -22
- package/coverage/map/api/models/projects.model.mongodb.js.html +1 -1
- 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 +12 -39
- 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 +11 -86
- package/coverage/map/api/services/features/features.service.js.html +4 -307
- 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 +50 -326
- 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/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 +10 -7
- 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 +7 -4
- package/coverage/map/common/permissions.js.html +4 -10
- package/coverage/map/common/time-based-grid-source.js.html +1 -1
- package/coverage/map/common/tms-utils.js.html +12 -9
- package/coverage/map/common/wcs-grid-source.js.html +3 -3
- package/coverage/map/common/wcs-utils.js.html +15 -12
- package/coverage/map/common/weacast-grid-source.js.html +2 -2
- package/coverage/map/common/wfs-utils.js.html +17 -14
- package/coverage/map/common/wms-utils.js.html +12 -30
- package/coverage/map/common/wmts-utils.js.html +13 -10
- package/coverage/tmp/coverage-151166-1723543324307-0.json +1 -0
- package/coverage/tmp/coverage-151178-1723543324283-0.json +1 -0
- package/coverage/tmp/coverage-151189-1723543324271-0.json +1 -0
- package/coverage/tmp/coverage-151201-1723543324248-0.json +1 -0
- package/coverage/tmp/coverage-151208-1723543324227-0.json +1 -0
- package/extras/tours/pane.top.js +9 -0
- package/map/client/i18n/map_en.json +2 -1
- package/map/client/i18n/map_fr.json +2 -1
- package/package.json +1 -1
- package/test/api/core/test-log-2024-04-22.log +84 -0
- package/test/api/core/{test-log-2025-10-03.log → test-log-2024-04-23.log} +9 -4
- package/test/api/core/test-log-2024-08-13.log +3 -0
- package/client/css/core.variables.scss +0 -72
- package/client/i18n/core_en.json +0 -744
- package/client/i18n/core_fr.json +0 -744
- package/client/i18n/map_en.json +0 -800
- package/client/i18n/map_fr.json +0 -800
- package/client/kdk.client.css +0 -47
- package/client/kdk.client.js +0 -41097
- package/client/kdk.client.map.css +0 -47
- package/client/kdk.client.map.js +0 -38182
- package/client/kdk.client.map.min.css +0 -1
- package/client/kdk.client.map.min.js +0 -27032
- package/client/kdk.client.min.css +0 -1
- package/client/kdk.client.min.js +0 -29074
- package/client/schemas/capture.create.json +0 -132
- package/client/schemas/catalog.update.json +0 -44
- package/client/schemas/messages.update.json +0 -16
- package/client/schemas/projects.create.json +0 -52
- package/client/schemas/projects.update.json +0 -52
- package/client/schemas/settings.update.json +0 -286
- package/client/schemas/tags.update.json +0 -35
- package/client/schemas/users.update-profile.json +0 -34
- package/coverage/core/api/services/users/users.service.js.html +0 -100
- package/coverage/core/common/utils.offline.js.html +0 -199
- package/coverage/lcov-report/core/api/services/users/users.service.js.html +0 -100
- package/coverage/lcov-report/core/common/utils.offline.js.html +0 -199
- package/coverage/tmp/coverage-222524-1765963609350-0.json +0 -1
- package/coverage/tmp/coverage-222536-1765963609335-0.json +0 -1
- package/coverage/tmp/coverage-222547-1765963609324-0.json +0 -1
- package/coverage/tmp/coverage-222559-1765963609309-0.json +0 -1
- package/coverage/tmp/coverage-222566-1765963609278-0.json +0 -1
- package/test/api/core/test-log-2025-07-31.log +0 -15
- package/test/api/core/test-log-2025-11-12.log +0 -117
- package/test/api/core/test-log-2025-11-27.log +0 -0
- package/test/api/core/test-log-2025-11-28.log +0 -17
- package/test/api/core/test-log-2025-12-09.log +0 -148
- package/test/api/core/test-log-2025-12-17.log +0 -58
- package/test/api/core/test-log-2026-01-29.log +0 -17
- package/test/api/map/test-log-2025-07-23.log +0 -1
- package/test/api/map/test-log-2025-11-28.log +0 -33
- package/test/api/map/test-log-2025-12-10.log +0 -2
- package/test/api/map/test-log-2026-01-06.log +0 -26
- /package/test/api/{core/test-log-2025-11-10.log → map/test-log-2025-03-08.log} +0 -0
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/
|
|
28
|
+
<span class='fraction'>0/244</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/
|
|
49
|
+
<span class='fraction'>0/244</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -307,191 +307,7 @@
|
|
|
307
307
|
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
308
|
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
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>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
-
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
-
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
-
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
-
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
-
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
-
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
-
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
-
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
-
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
-
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
-
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
-
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
-
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
-
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
-
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
-
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
-
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
-
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
-
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
-
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
-
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
-
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
-
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
-
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
-
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
-
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
-
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
-
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
-
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
-
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
-
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
-
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
-
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
-
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
-
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
-
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
-
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
-
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
-
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
-
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
-
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
-
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
-
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
-
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
-
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
-
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
-
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
-
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
-
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
-
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
-
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
-
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
-
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
-
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
-
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
-
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
-
<a name='L337'></a><a href='#L337'>337</a></td><td class="line-coverage quiet"><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>
|
|
418
|
-
<span class="cline-any cline-no"> </span>
|
|
419
|
-
<span class="cline-any cline-no"> </span>
|
|
420
|
-
<span class="cline-any cline-no"> </span>
|
|
421
|
-
<span class="cline-any cline-no"> </span>
|
|
422
|
-
<span class="cline-any cline-no"> </span>
|
|
423
|
-
<span class="cline-any cline-no"> </span>
|
|
424
|
-
<span class="cline-any cline-no"> </span>
|
|
425
|
-
<span class="cline-any cline-no"> </span>
|
|
426
|
-
<span class="cline-any cline-no"> </span>
|
|
427
|
-
<span class="cline-any cline-no"> </span>
|
|
428
|
-
<span class="cline-any cline-no"> </span>
|
|
429
|
-
<span class="cline-any cline-no"> </span>
|
|
430
|
-
<span class="cline-any cline-no"> </span>
|
|
431
|
-
<span class="cline-any cline-no"> </span>
|
|
432
|
-
<span class="cline-any cline-no"> </span>
|
|
433
|
-
<span class="cline-any cline-no"> </span>
|
|
434
|
-
<span class="cline-any cline-no"> </span>
|
|
435
|
-
<span class="cline-any cline-no"> </span>
|
|
436
|
-
<span class="cline-any cline-no"> </span>
|
|
437
|
-
<span class="cline-any cline-no"> </span>
|
|
438
|
-
<span class="cline-any cline-no"> </span>
|
|
439
|
-
<span class="cline-any cline-no"> </span>
|
|
440
|
-
<span class="cline-any cline-no"> </span>
|
|
441
|
-
<span class="cline-any cline-no"> </span>
|
|
442
|
-
<span class="cline-any cline-no"> </span>
|
|
443
|
-
<span class="cline-any cline-no"> </span>
|
|
444
|
-
<span class="cline-any cline-no"> </span>
|
|
445
|
-
<span class="cline-any cline-no"> </span>
|
|
446
|
-
<span class="cline-any cline-no"> </span>
|
|
447
|
-
<span class="cline-any cline-no"> </span>
|
|
448
|
-
<span class="cline-any cline-no"> </span>
|
|
449
|
-
<span class="cline-any cline-no"> </span>
|
|
450
|
-
<span class="cline-any cline-no"> </span>
|
|
451
|
-
<span class="cline-any cline-no"> </span>
|
|
452
|
-
<span class="cline-any cline-no"> </span>
|
|
453
|
-
<span class="cline-any cline-no"> </span>
|
|
454
|
-
<span class="cline-any cline-no"> </span>
|
|
455
|
-
<span class="cline-any cline-no"> </span>
|
|
456
|
-
<span class="cline-any cline-no"> </span>
|
|
457
|
-
<span class="cline-any cline-no"> </span>
|
|
458
|
-
<span class="cline-any cline-no"> </span>
|
|
459
|
-
<span class="cline-any cline-no"> </span>
|
|
460
|
-
<span class="cline-any cline-no"> </span>
|
|
461
|
-
<span class="cline-any cline-no"> </span>
|
|
462
|
-
<span class="cline-any cline-no"> </span>
|
|
463
|
-
<span class="cline-any cline-no"> </span>
|
|
464
|
-
<span class="cline-any cline-no"> </span>
|
|
465
|
-
<span class="cline-any cline-no"> </span>
|
|
466
|
-
<span class="cline-any cline-no"> </span>
|
|
467
|
-
<span class="cline-any cline-no"> </span>
|
|
468
|
-
<span class="cline-any cline-no"> </span>
|
|
469
|
-
<span class="cline-any cline-no"> </span>
|
|
470
|
-
<span class="cline-any cline-no"> </span>
|
|
471
|
-
<span class="cline-any cline-no"> </span>
|
|
472
|
-
<span class="cline-any cline-no"> </span>
|
|
473
|
-
<span class="cline-any cline-no"> </span>
|
|
474
|
-
<span class="cline-any cline-no"> </span>
|
|
475
|
-
<span class="cline-any cline-no"> </span>
|
|
476
|
-
<span class="cline-any cline-no"> </span>
|
|
477
|
-
<span class="cline-any cline-no"> </span>
|
|
478
|
-
<span class="cline-any cline-no"> </span>
|
|
479
|
-
<span class="cline-any cline-no"> </span>
|
|
480
|
-
<span class="cline-any cline-no"> </span>
|
|
481
|
-
<span class="cline-any cline-no"> </span>
|
|
482
|
-
<span class="cline-any cline-no"> </span>
|
|
483
|
-
<span class="cline-any cline-no"> </span>
|
|
484
|
-
<span class="cline-any cline-no"> </span>
|
|
485
|
-
<span class="cline-any cline-no"> </span>
|
|
486
|
-
<span class="cline-any cline-no"> </span>
|
|
487
|
-
<span class="cline-any cline-no"> </span>
|
|
488
|
-
<span class="cline-any cline-no"> </span>
|
|
489
|
-
<span class="cline-any cline-no"> </span>
|
|
490
|
-
<span class="cline-any cline-no"> </span>
|
|
491
|
-
<span class="cline-any cline-no"> </span>
|
|
492
|
-
<span class="cline-any cline-no"> </span>
|
|
493
|
-
<span class="cline-any cline-no"> </span>
|
|
494
|
-
<span class="cline-any cline-no"> </span>
|
|
310
|
+
<a name='L245'></a><a href='#L245'>245</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
495
311
|
<span class="cline-any cline-no"> </span>
|
|
496
312
|
<span class="cline-any cline-no"> </span>
|
|
497
313
|
<span class="cline-any cline-no"> </span>
|
|
@@ -754,7 +570,7 @@
|
|
|
754
570
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
755
571
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
756
572
|
<span class="cstat-no" title="statement not covered" > debug('Creating features service with options', options)</span>
|
|
757
|
-
<span class="cstat-no" title="statement not covered" >
|
|
573
|
+
<span class="cstat-no" title="statement not covered" > return app.createService(options.collection, Object.assign({</span>
|
|
758
574
|
<span class="cstat-no" title="statement not covered" > modelName: 'features',</span>
|
|
759
575
|
<span class="cstat-no" title="statement not covered" > servicesPath,</span>
|
|
760
576
|
<span class="cstat-no" title="statement not covered" > modelsPath,</span>
|
|
@@ -762,46 +578,28 @@
|
|
|
762
578
|
<span class="cstat-no" title="statement not covered" > // FIXME: no real-time events for now since we create big batches,</span>
|
|
763
579
|
<span class="cstat-no" title="statement not covered" > // does not seem to be sufficient also require a hook (see https://github.com/feathersjs/feathers/issues/922)</span>
|
|
764
580
|
<span class="cstat-no" title="statement not covered" > events: ['features'],</span>
|
|
765
|
-
<span class="cstat-no" title="statement not covered" > methods: ['find', 'get', 'create', 'update', 'patch', 'remove', 'heatmap'
|
|
581
|
+
<span class="cstat-no" title="statement not covered" > methods: ['find', 'get', 'create', 'update', 'patch', 'remove', 'heatmap']</span>
|
|
766
582
|
<span class="cstat-no" title="statement not covered" > }, options))</span>
|
|
767
|
-
<span class="cstat-no" title="statement not covered" > // As a features service can be created dynamically register default permissions for it</span>
|
|
768
|
-
<span class="cstat-no" title="statement not covered" > permissions.defineAbilities.registerHook((subject, can, cannot) => {</span>
|
|
769
|
-
<span class="cstat-no" title="statement not covered" > can('service', options.collection)</span>
|
|
770
|
-
<span class="cstat-no" title="statement not covered" > can('read', options.collection)</span>
|
|
771
|
-
<span class="cstat-no" title="statement not covered" > })</span>
|
|
772
|
-
<span class="cstat-no" title="statement not covered" > // We then need to update abilities cache</span>
|
|
773
|
-
<span class="cstat-no" title="statement not covered" > const authorisationService = app.getService('authorisations')</span>
|
|
774
|
-
<span class="cstat-no" title="statement not covered" > if (authorisationService) authorisationService.clearAbilities()</span>
|
|
775
|
-
<span class="cstat-no" title="statement not covered" > return service</span>
|
|
776
583
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
777
584
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
778
585
|
<span class="cstat-no" title="statement not covered" >export function removeFeaturesService (options = {}) {</span>
|
|
779
586
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
780
|
-
<span class="cstat-no" title="statement not covered" > debug('Removing features service with options', options)</span>
|
|
781
587
|
<span class="cstat-no" title="statement not covered" > return app.removeService(app.getService(options.collection, options.context))</span>
|
|
782
588
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
783
589
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
784
590
|
<span class="cstat-no" title="statement not covered" >export function createCatalogService (options = {}) {</span>
|
|
785
591
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
786
592
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
787
|
-
<span class="cstat-no" title="statement not covered" > // Read default categories/sublegends config, which can be overriden by options</span>
|
|
788
|
-
<span class="cstat-no" title="statement not covered" > const catalogConfig = app.get('catalog') || {}</span>
|
|
789
|
-
<span class="cstat-no" title="statement not covered" > const categories = catalogConfig.categories</span>
|
|
790
|
-
<span class="cstat-no" title="statement not covered" > const sublegends = catalogConfig.sublegends</span>
|
|
791
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
792
593
|
<span class="cstat-no" title="statement not covered" > debug('Creating catalog service with options', options)</span>
|
|
793
594
|
<span class="cstat-no" title="statement not covered" > return app.createService('catalog', Object.assign({</span>
|
|
794
595
|
<span class="cstat-no" title="statement not covered" > servicesPath,</span>
|
|
795
596
|
<span class="cstat-no" title="statement not covered" > modelsPath,</span>
|
|
796
|
-
<span class="cstat-no" title="statement not covered" > paginate: { default: 1000, max: 1000 }
|
|
797
|
-
<span class="cstat-no" title="statement not covered" > categories,</span>
|
|
798
|
-
<span class="cstat-no" title="statement not covered" > sublegends</span>
|
|
597
|
+
<span class="cstat-no" title="statement not covered" > paginate: { default: 1000, max: 1000 }</span>
|
|
799
598
|
<span class="cstat-no" title="statement not covered" > }, options))</span>
|
|
800
599
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
801
600
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
802
601
|
<span class="cstat-no" title="statement not covered" >export function removeCatalogService (options = {}) {</span>
|
|
803
602
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
804
|
-
<span class="cstat-no" title="statement not covered" > debug('Removing catalog service with options', options)</span>
|
|
805
603
|
<span class="cstat-no" title="statement not covered" > return app.removeService(app.getService('catalog', options.context))</span>
|
|
806
604
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
807
605
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
@@ -818,7 +616,6 @@
|
|
|
818
616
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
819
617
|
<span class="cstat-no" title="statement not covered" >export function removeProjectsService (options = {}) {</span>
|
|
820
618
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
821
|
-
<span class="cstat-no" title="statement not covered" > debug('Removing projects service with options', options)</span>
|
|
822
619
|
<span class="cstat-no" title="statement not covered" > return app.removeService(app.getService('projects', options.context))</span>
|
|
823
620
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
824
621
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
@@ -836,107 +633,81 @@
|
|
|
836
633
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
837
634
|
<span class="cstat-no" title="statement not covered" >export function removeAlertsService (options = {}) {</span>
|
|
838
635
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
839
|
-
<span class="cstat-no" title="statement not covered" > debug('Removing alerts service with options', options)</span>
|
|
840
636
|
<span class="cstat-no" title="statement not covered" > return app.removeService(app.getService('alerts', options.context))</span>
|
|
841
637
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
842
638
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
843
639
|
<span class="cstat-no" title="statement not covered" >// Helper to register service and permissions for a layer</span>
|
|
844
|
-
<span class="cstat-no" title="statement not covered" >export async function createFeaturesServiceForLayer (
|
|
845
|
-
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
846
|
-
<span class="cstat-no" title="statement not covered" > // Check if service(s) are associated to this layer</span>
|
|
847
|
-
<span class="cstat-no" title="statement not covered" > // Avoid create it twice as we can share services between different layers</span>
|
|
848
|
-
<span class="cstat-no" title="statement not covered" > let probeService = (layer.probeService ? app.getService(layer.probeService, context) : null)</span>
|
|
849
|
-
<span class="cstat-no" title="statement not covered" > if (layer.probeService && !probeService) {</span>
|
|
850
|
-
<span class="cstat-no" title="statement not covered" > probeService = await createFeaturesService.call(app, Object.assign({</span>
|
|
851
|
-
<span class="cstat-no" title="statement not covered" > collection: layer.probeService,</span>
|
|
852
|
-
<span class="cstat-no" title="statement not covered" > context,</span>
|
|
853
|
-
<span class="cstat-no" title="statement not covered" > db: app.db.db(layer.dbName)</span>
|
|
854
|
-
<span class="cstat-no" title="statement not covered" > }, _.pick(layer, ['featureLabel', 'simplifyResult', 'skipEvents', 'simplifyEvents'])))</span>
|
|
855
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
856
|
-
<span class="cstat-no" title="statement not covered" > let service = (layer.service ? app.getService(layer.service, context) : null)</span>
|
|
857
|
-
<span class="cstat-no" title="statement not covered" > if (layer.service && !service) {</span>
|
|
858
|
-
<span class="cstat-no" title="statement not covered" > service = await createFeaturesService.call(app, Object.assign({</span>
|
|
859
|
-
<span class="cstat-no" title="statement not covered" > collection: layer.service,</span>
|
|
860
|
-
<span class="cstat-no" title="statement not covered" > context,</span>
|
|
861
|
-
<span class="cstat-no" title="statement not covered" > db: app.db.db(layer.dbName)</span>
|
|
862
|
-
<span class="cstat-no" title="statement not covered" > }, _.pick(layer, ['ttl', 'featureId', 'featureIdType', 'featureLabel', 'variables', 'simplifyResult', 'skipEvents', 'simplifyEvents'])))</span>
|
|
863
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
864
|
-
<span class="cstat-no" title="statement not covered" > return service || probeService</span>
|
|
865
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
866
|
-
<span class="cstat-no" title="statement not covered" >// Helper to unregister service for a layer</span>
|
|
867
|
-
<span class="cstat-no" title="statement not covered" >export async function removeFeaturesServiceForLayer (layer, context) {</span>
|
|
640
|
+
<span class="cstat-no" title="statement not covered" >export async function createFeaturesServiceForLayer (options) {</span>
|
|
868
641
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
869
|
-
<span class="cstat-no" title="statement not covered" >
|
|
870
|
-
<span class="cstat-no" title="statement not covered" >
|
|
871
|
-
<span class="cstat-no" title="statement not covered" >
|
|
872
|
-
<span class="cstat-no" title="statement not covered" >
|
|
873
|
-
<span class="cstat-no" title="statement not covered" >
|
|
874
|
-
<span class="cstat-no" title="statement not covered" >
|
|
875
|
-
<span class="cstat-no" title="statement not covered" >
|
|
876
|
-
<span class="cstat-no" title="statement not covered" > service = await removeFeaturesService.call(app, { collection: layer.service, context })</span>
|
|
877
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
878
|
-
<span class="cstat-no" title="statement not covered" > return service || probeService</span>
|
|
642
|
+
<span class="cstat-no" title="statement not covered" > const service = await createFeaturesService.call(app, options)</span>
|
|
643
|
+
<span class="cstat-no" title="statement not covered" > // Register default permissions for it</span>
|
|
644
|
+
<span class="cstat-no" title="statement not covered" > permissions.defineAbilities.registerHook((subject, can, cannot) => {</span>
|
|
645
|
+
<span class="cstat-no" title="statement not covered" > can('service', options.collection)</span>
|
|
646
|
+
<span class="cstat-no" title="statement not covered" > can('read', options.collection)</span>
|
|
647
|
+
<span class="cstat-no" title="statement not covered" > })</span>
|
|
648
|
+
<span class="cstat-no" title="statement not covered" > return service</span>
|
|
879
649
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
880
650
|
<span class="cstat-no" title="statement not covered" >// Helper to create features from source for a layer</span>
|
|
881
|
-
<span class="cstat-no" title="statement not covered" >export async function createFeaturesForLayer (features, layer, options
|
|
651
|
+
<span class="cstat-no" title="statement not covered" >export async function createFeaturesForLayer (features, layer, options) {</span>
|
|
882
652
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
883
|
-
<span class="cstat-no" title="statement not covered" > const featuresService = app.getService(layer.service
|
|
653
|
+
<span class="cstat-no" title="statement not covered" > const featuresService = app.getService(layer.service)</span>
|
|
884
654
|
<span class="cstat-no" title="statement not covered" > if (options && options.filter) features = await options.filter(features, layer, app)</span>
|
|
885
|
-
<span class="cstat-no" title="statement not covered" > // User-defined layers requires layer ID</span>
|
|
886
|
-
<span class="cstat-no" title="statement not covered" > if (layer.service === 'features') {</span>
|
|
887
|
-
<span class="cstat-no" title="statement not covered" > features.forEach(feature => {</span>
|
|
888
|
-
<span class="cstat-no" title="statement not covered" > feature.layer = layer._id</span>
|
|
889
|
-
<span class="cstat-no" title="statement not covered" > })</span>
|
|
890
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
891
655
|
<span class="cstat-no" title="statement not covered" > if (!features.length) return</span>
|
|
892
656
|
<span class="cstat-no" title="statement not covered" > // The unordered option ensure a faster processing when inserting multiple items</span>
|
|
893
657
|
<span class="cstat-no" title="statement not covered" > // and that after an error remaining write operations in the queue will continue anyway</span>
|
|
894
658
|
<span class="cstat-no" title="statement not covered" > await featuresService.create(features, { mongodb: { ordered: false } })</span>
|
|
895
659
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
896
660
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
897
|
-
<span class="cstat-no" title="statement not covered"
|
|
898
|
-
<span class="cstat-no" title="statement not covered" >// Will also clean and feed default data (ie features) if provided as input file</span>
|
|
899
|
-
<span class="cstat-no" title="statement not covered" >export async function createDefaultCatalogLayers (options = {}) {</span>
|
|
661
|
+
<span class="cstat-no" title="statement not covered" >export async function createDefaultCatalogLayers (options) {</span>
|
|
900
662
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
901
|
-
<span class="cstat-no" title="statement not covered" >
|
|
663
|
+
<span class="cstat-no" title="statement not covered" > // Backward compatibility when the sole possible option was a context</span>
|
|
664
|
+
<span class="cstat-no" title="statement not covered" > let context</span>
|
|
665
|
+
<span class="cstat-no" title="statement not covered" > if (typeof options === 'object') {</span>
|
|
666
|
+
<span class="cstat-no" title="statement not covered" > if (options.context) context = options.context</span>
|
|
667
|
+
<span class="cstat-no" title="statement not covered" > else if (options._id) context = options</span>
|
|
668
|
+
<span class="cstat-no" title="statement not covered" > } else if (typeof options === 'string') context = options</span>
|
|
669
|
+
<span class="cstat-no" title="statement not covered" > const catalogService = app.getService('catalog', context)</span>
|
|
902
670
|
<span class="cstat-no" title="statement not covered" > const catalog = app.get('catalog')</span>
|
|
903
671
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
904
672
|
<span class="cstat-no" title="statement not covered" > const defaultLayers = catalog ? catalog.layers || [] : []</span>
|
|
905
673
|
<span class="cstat-no" title="statement not covered" > const layers = await catalogService.find({ query: {}, paginate: false })</span>
|
|
906
674
|
<span class="cstat-no" title="statement not covered" > for (let i = 0; i < defaultLayers.length; i++) {</span>
|
|
907
675
|
<span class="cstat-no" title="statement not covered" > const defaultLayer = defaultLayers[i]</span>
|
|
908
|
-
<span class="cstat-no" title="statement not covered" >
|
|
909
|
-
<span class="cstat-no" title="statement not covered" > const isLayerAlreadyCreated = !_.isNil(createdLayer)</span>
|
|
910
|
-
<span class="cstat-no" title="statement not covered" > let featuresService</span>
|
|
676
|
+
<span class="cstat-no" title="statement not covered" > const createdLayer = _.find(layers, { name: defaultLayer.name })</span>
|
|
911
677
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
912
|
-
<span class="cstat-no" title="statement not covered" > // Used to filter properties only used to initialize a layer and related data</span>
|
|
913
|
-
<span class="cstat-no" title="statement not covered" > const reservedProperties = ['filter', 'url', 'fileName', 'forceDataUpdate']</span>
|
|
914
678
|
<span class="cstat-no" title="statement not covered" > // Create or update the layer removing any option only used to manage layer setup</span>
|
|
915
|
-
<span class="cstat-no" title="statement not covered" > if (!
|
|
679
|
+
<span class="cstat-no" title="statement not covered" > if (!createdLayer) {</span>
|
|
916
680
|
<span class="cstat-no" title="statement not covered" > app.logger.info('Adding default layer (name = ' + defaultLayer.name + ')')</span>
|
|
917
|
-
<span class="cstat-no" title="statement not covered" >
|
|
681
|
+
<span class="cstat-no" title="statement not covered" > await catalogService.create(_.omit(defaultLayer, ['filter']))</span>
|
|
918
682
|
<span class="cstat-no" title="statement not covered" > } else {</span>
|
|
919
683
|
<span class="cstat-no" title="statement not covered" > app.logger.info('Updating default layer (name = ' + defaultLayer.name + ')')</span>
|
|
920
|
-
<span class="cstat-no" title="statement not covered" >
|
|
921
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
922
|
-
<span class="cstat-no" title="statement not covered" > // Features creation might require the layer ID</span>
|
|
923
|
-
<span class="cstat-no" title="statement not covered" > defaultLayer._id = createdLayer._id</span>
|
|
924
|
-
<span class="cstat-no" title="statement not covered" > // Check if service(s) are associated to this layer and create the related service(s) if required</span>
|
|
925
|
-
<span class="cstat-no" title="statement not covered" > if (defaultLayer.service) {</span>
|
|
926
|
-
<span class="cstat-no" title="statement not covered" > featuresService = app.getService(defaultLayer.service)</span>
|
|
927
|
-
<span class="cstat-no" title="statement not covered" > // Avoid create it twice as we can share services between different layers</span>
|
|
928
|
-
<span class="cstat-no" title="statement not covered" > featuresService = await createFeaturesServiceForLayer.call(app, defaultLayer, options.context)</span>
|
|
684
|
+
<span class="cstat-no" title="statement not covered" > await catalogService.update(createdLayer._id, _.omit(defaultLayer, ['filter']))</span>
|
|
929
685
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
930
686
|
<span class="cstat-no" title="statement not covered" > } catch (error) {</span>
|
|
931
687
|
<span class="cstat-no" title="statement not covered" > console.error(error)</span>
|
|
932
688
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
689
|
+
<span class="cstat-no" title="statement not covered" > // Check if service(s) are associated to this layer</span>
|
|
690
|
+
<span class="cstat-no" title="statement not covered" > let featuresService</span>
|
|
691
|
+
<span class="cstat-no" title="statement not covered" > if (defaultLayer.service) {</span>
|
|
692
|
+
<span class="cstat-no" title="statement not covered" > featuresService = app.getService(defaultLayer.service)</span>
|
|
693
|
+
<span class="cstat-no" title="statement not covered" > // Avoid create it twice as we can share services between different layers</span>
|
|
694
|
+
<span class="cstat-no" title="statement not covered" > if (featuresService) continue</span>
|
|
695
|
+
<span class="cstat-no" title="statement not covered" > featuresService = await createFeaturesServiceForLayer.call(app, Object.assign({</span>
|
|
696
|
+
<span class="cstat-no" title="statement not covered" > collection: defaultLayer.service,</span>
|
|
697
|
+
<span class="cstat-no" title="statement not covered" > db: app.db.db(defaultLayer.dbName)</span>
|
|
698
|
+
<span class="cstat-no" title="statement not covered" > }, _.pick(defaultLayer, ['ttl', 'featureId', 'featureIdType', 'featureLabel', 'variables', 'simplifyResult', 'skipEvents', 'simplifyEvents'])))</span>
|
|
699
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
700
|
+
<span class="cstat-no" title="statement not covered" > if (defaultLayer.probeService) {</span>
|
|
701
|
+
<span class="cstat-no" title="statement not covered" > await createFeaturesServiceForLayer.call(app, Object.assign({</span>
|
|
702
|
+
<span class="cstat-no" title="statement not covered" > collection: defaultLayer.probeService,</span>
|
|
703
|
+
<span class="cstat-no" title="statement not covered" > db: app.db.db(defaultLayer.dbName)</span>
|
|
704
|
+
<span class="cstat-no" title="statement not covered" > }, _.pick(defaultLayer, ['featureLabel', 'simplifyResult', 'skipEvents', 'simplifyEvents'])))</span>
|
|
705
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
933
706
|
<span class="cstat-no" title="statement not covered" > // And if we need to initialize some data as well</span>
|
|
934
|
-
<span class="cstat-no" title="statement not covered" > if (
|
|
935
|
-
<span class="cstat-no" title="statement not covered" > app.logger.info('Updating data for default layer (name = ' + defaultLayer.name + ')')</span>
|
|
707
|
+
<span class="cstat-no" title="statement not covered" > if (!createdLayer && featuresService && (defaultLayer.url || defaultLayer.fileName)) {</span>
|
|
936
708
|
<span class="cstat-no" title="statement not covered" > // Cleanup</span>
|
|
937
709
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
938
|
-
<span class="cstat-no" title="statement not covered" >
|
|
939
|
-
<span class="cstat-no" title="statement not covered" > await featuresService.remove(null, { query: { layer: { $exists: false } } })</span>
|
|
710
|
+
<span class="cstat-no" title="statement not covered" > await featuresService.remove(null, { query: {} })</span>
|
|
940
711
|
<span class="cstat-no" title="statement not covered" > } catch (error) {</span>
|
|
941
712
|
<span class="cstat-no" title="statement not covered" > console.error(error)</span>
|
|
942
713
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
@@ -954,11 +725,9 @@
|
|
|
954
725
|
<span class="cstat-no" title="statement not covered" > .pipe(zlib.createGunzip())</span>
|
|
955
726
|
<span class="cstat-no" title="statement not covered" > .pipe(fs.createWriteStream(extractedFileName))</span>
|
|
956
727
|
<span class="cstat-no" title="statement not covered" > .on('close', async () => {</span>
|
|
957
|
-
<span class="cstat-no" title="statement not covered" >
|
|
958
|
-
<span class="cstat-no" title="statement not covered" > // We allow GeoJson collection or features array</span>
|
|
959
|
-
<span class="cstat-no" title="statement not covered" > geojson = Array.isArray(geojson) ? geojson : geojson.features</span>
|
|
728
|
+
<span class="cstat-no" title="statement not covered" > const geojson = fs.readJsonSync(extractedFileName)</span>
|
|
960
729
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
961
|
-
<span class="cstat-no" title="statement not covered" > await createFeaturesForLayer.call(app, geojson, defaultLayer, options)</span>
|
|
730
|
+
<span class="cstat-no" title="statement not covered" > await createFeaturesForLayer.call(app, geojson.features, defaultLayer, options)</span>
|
|
962
731
|
<span class="cstat-no" title="statement not covered" > } catch (error) {</span>
|
|
963
732
|
<span class="cstat-no" title="statement not covered" > console.error(error)</span>
|
|
964
733
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
@@ -976,46 +745,6 @@
|
|
|
976
745
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
977
746
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
978
747
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
979
|
-
<span class="cstat-no" title="statement not covered" >// Create the required features services for layers found in catalog</span>
|
|
980
|
-
<span class="cstat-no" title="statement not covered" >export async function createCatalogFeaturesServices (options = {}) {</span>
|
|
981
|
-
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
982
|
-
<span class="cstat-no" title="statement not covered" > const catalogService = app.getService('catalog', options.context)</span>
|
|
983
|
-
<span class="cstat-no" title="statement not covered" > const layers = await catalogService.find({ query: { service: { $exists: true } }, paginate: false, $select: ['service'] })</span>
|
|
984
|
-
<span class="cstat-no" title="statement not covered" > for (let i = 0; i < layers.length; i++) {</span>
|
|
985
|
-
<span class="cstat-no" title="statement not covered" > await createFeaturesServiceForLayer.call(app, layers[i], options.context)</span>
|
|
986
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
987
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
988
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
989
|
-
<span class="cstat-no" title="statement not covered" >export function createStylesService (options = {}) {</span>
|
|
990
|
-
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
991
|
-
<span class="cstat-no" title="statement not covered" > return app.createService('styles', Object.assign({</span>
|
|
992
|
-
<span class="cstat-no" title="statement not covered" > servicesPath,</span>
|
|
993
|
-
<span class="cstat-no" title="statement not covered" > modelsPath</span>
|
|
994
|
-
<span class="cstat-no" title="statement not covered" > }, options))</span>
|
|
995
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
996
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
997
|
-
<span class="cstat-no" title="statement not covered" >export function removeStylesService (options = {}) {</span>
|
|
998
|
-
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
999
|
-
<span class="cstat-no" title="statement not covered" > return app.removeService(app.getService('styles', options.context))</span>
|
|
1000
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1001
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1002
|
-
<span class="cstat-no" title="statement not covered" >export async function createDefaultStyles (context) {</span>
|
|
1003
|
-
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
1004
|
-
<span class="cstat-no" title="statement not covered" > const defaultStyles = app.get('styles').defaultStyles</span>
|
|
1005
|
-
<span class="cstat-no" title="statement not covered" > if (!defaultStyles) return</span>
|
|
1006
|
-
<span class="cstat-no" title="statement not covered" > const stylesService = app.getService('styles', context)</span>
|
|
1007
|
-
<span class="cstat-no" title="statement not covered" > // Create default styles if not already done</span>
|
|
1008
|
-
<span class="cstat-no" title="statement not covered" > const styles = await stylesService.find({ paginate: false })</span>
|
|
1009
|
-
<span class="cstat-no" title="statement not covered" > for (let i = 0; i < defaultStyles.length; i++) {</span>
|
|
1010
|
-
<span class="cstat-no" title="statement not covered" > const defaultStyle = defaultStyles[i]</span>
|
|
1011
|
-
<span class="cstat-no" title="statement not covered" > const createdStyle = _.find(styles, { name: defaultStyle.name })</span>
|
|
1012
|
-
<span class="cstat-no" title="statement not covered" > if (!createdStyle) {</span>
|
|
1013
|
-
<span class="cstat-no" title="statement not covered" > app.logger.info('Initializing default style (name = ' + defaultStyle.name + ')')</span>
|
|
1014
|
-
<span class="cstat-no" title="statement not covered" > await stylesService.create(defaultStyle)</span>
|
|
1015
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1016
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1017
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1018
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
1019
748
|
<span class="cstat-no" title="statement not covered" >export default async function () {</span>
|
|
1020
749
|
<span class="cstat-no" title="statement not covered" > const app = this</span>
|
|
1021
750
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
@@ -1039,11 +768,6 @@
|
|
|
1039
768
|
<span class="cstat-no" title="statement not covered" > if (alertsConfig) {</span>
|
|
1040
769
|
<span class="cstat-no" title="statement not covered" > await createAlertsService.call(app)</span>
|
|
1041
770
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1042
|
-
<span class="cstat-no" title="statement not covered" > const stylesConfig = app.get('styles')</span>
|
|
1043
|
-
<span class="cstat-no" title="statement not covered" > if (stylesConfig) {</span>
|
|
1044
|
-
<span class="cstat-no" title="statement not covered" > await createStylesService.call(app, stylesConfig)</span>
|
|
1045
|
-
<span class="cstat-no" title="statement not covered" > debug('\'styles\' service created')</span>
|
|
1046
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1047
771
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
1048
772
|
<span class="cstat-no" title="statement not covered" > /*</span>
|
|
1049
773
|
<span class="cstat-no" title="statement not covered" > app.createService('daptiles', Object.assign({</span>
|
|
@@ -1078,7 +802,7 @@
|
|
|
1078
802
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1079
803
|
Code coverage generated by
|
|
1080
804
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1081
|
-
at
|
|
805
|
+
at 2024-08-13T10:02:04.843Z
|
|
1082
806
|
</div>
|
|
1083
807
|
<script src="../../../prettify.js"></script>
|
|
1084
808
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at 2024-08-13T10:02:04.843Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -424,7 +424,7 @@
|
|
|
424
424
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
425
425
|
Code coverage generated by
|
|
426
426
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
427
|
-
at
|
|
427
|
+
at 2024-08-13T10:02:04.843Z
|
|
428
428
|
</div>
|
|
429
429
|
<script src="../../../../prettify.js"></script>
|
|
430
430
|
<script>
|
|
@@ -451,7 +451,7 @@
|
|
|
451
451
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
452
452
|
Code coverage generated by
|
|
453
453
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
454
|
-
at
|
|
454
|
+
at 2024-08-13T10:02:04.843Z
|
|
455
455
|
</div>
|
|
456
456
|
<script src="../../prettify.js"></script>
|
|
457
457
|
<script>
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
80
80
|
Code coverage generated by
|
|
81
81
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
82
|
-
at
|
|
82
|
+
at 2024-08-13T10:02:04.843Z
|
|
83
83
|
</div>
|
|
84
84
|
<script src="../../prettify.js"></script>
|
|
85
85
|
<script>
|