@kalisio/kdk 2.5.1 → 2.5.3

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.
Files changed (255) hide show
  1. package/core/api/hooks/hooks.authorisations.js +1 -2
  2. package/core/api/services/authorisations/authorisations.service.js +1 -3
  3. package/core/api/services/index.js +5 -1
  4. package/core/api/services/users/users.hooks.js +4 -3
  5. package/core/client/components/input/KShapePicker.vue +4 -4
  6. package/core/client/utils/index.js +1 -0
  7. package/coverage/core/api/application.js.html +344 -344
  8. package/coverage/core/api/authentication.js.html +79 -79
  9. package/coverage/core/api/db.js.html +167 -167
  10. package/coverage/core/api/hooks/hooks.authentication.js.html +12 -12
  11. package/coverage/core/api/hooks/hooks.authorisations.js.html +154 -157
  12. package/coverage/core/api/hooks/hooks.logger.js.html +18 -18
  13. package/coverage/core/api/hooks/hooks.model.js.html +275 -275
  14. package/coverage/core/api/hooks/hooks.push.js.html +34 -34
  15. package/coverage/core/api/hooks/hooks.query.js.html +89 -89
  16. package/coverage/core/api/hooks/hooks.schemas.js.html +13 -13
  17. package/coverage/core/api/hooks/hooks.service.js.html +28 -28
  18. package/coverage/core/api/hooks/hooks.storage.js.html +7 -7
  19. package/coverage/core/api/hooks/hooks.users.js.html +50 -50
  20. package/coverage/core/api/hooks/index.html +51 -51
  21. package/coverage/core/api/hooks/index.js.html +11 -11
  22. package/coverage/core/api/index.html +42 -42
  23. package/coverage/core/api/index.js.html +22 -22
  24. package/coverage/core/api/marshall.js.html +127 -127
  25. package/coverage/core/api/models/index.html +1 -1
  26. package/coverage/core/api/models/messages.model.mongodb.js.html +1 -1
  27. package/coverage/core/api/models/users.model.mongodb.js.html +11 -11
  28. package/coverage/core/api/services/account/account.hooks.js.html +42 -42
  29. package/coverage/core/api/services/account/account.service.js.html +34 -34
  30. package/coverage/core/api/services/account/index.html +1 -1
  31. package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +34 -34
  32. package/coverage/core/api/services/authorisations/authorisations.service.js.html +87 -93
  33. package/coverage/core/api/services/authorisations/index.html +19 -19
  34. package/coverage/core/api/services/databases/databases.hooks.js.html +1 -1
  35. package/coverage/core/api/services/databases/databases.service.js.html +1 -1
  36. package/coverage/core/api/services/databases/index.html +1 -1
  37. package/coverage/core/api/services/import-export/import-export.hooks.js.html +1 -1
  38. package/coverage/core/api/services/import-export/import-export.service.js.html +1 -1
  39. package/coverage/core/api/services/import-export/index.html +1 -1
  40. package/coverage/core/api/services/index.html +15 -15
  41. package/coverage/core/api/services/index.js.html +97 -85
  42. package/coverage/core/api/services/mailer/index.html +1 -1
  43. package/coverage/core/api/services/mailer/mailer.hooks.js.html +1 -1
  44. package/coverage/core/api/services/mailer/mailer.service.js.html +1 -1
  45. package/coverage/core/api/services/messages/index.html +1 -1
  46. package/coverage/core/api/services/messages/messages.hooks.js.html +1 -1
  47. package/coverage/core/api/services/push/index.html +1 -1
  48. package/coverage/core/api/services/push/push.hooks.js.html +1 -1
  49. package/coverage/core/api/services/push/push.service.js.html +1 -1
  50. package/coverage/core/api/services/storage/index.html +1 -1
  51. package/coverage/core/api/services/storage/storage.hooks.js.html +36 -36
  52. package/coverage/core/api/services/storage/storage.service.js.html +30 -30
  53. package/coverage/core/api/services/users/index.html +7 -7
  54. package/coverage/core/api/services/users/users.hooks.js.html +83 -80
  55. package/coverage/core/api/services/users/users.service.js.html +4 -4
  56. package/coverage/core/common/errors.js.html +2 -2
  57. package/coverage/core/common/index.html +30 -30
  58. package/coverage/core/common/index.js.html +11 -11
  59. package/coverage/core/common/permissions.js.html +187 -187
  60. package/coverage/core/common/schema.js.html +26 -26
  61. package/coverage/core/common/utils.js.html +61 -61
  62. package/coverage/core/common/utils.offline.js.html +6 -6
  63. package/coverage/index.html +173 -173
  64. package/coverage/lcov-report/core/api/application.js.html +344 -344
  65. package/coverage/lcov-report/core/api/authentication.js.html +79 -79
  66. package/coverage/lcov-report/core/api/db.js.html +167 -167
  67. package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +12 -12
  68. package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +154 -157
  69. package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +18 -18
  70. package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +275 -275
  71. package/coverage/lcov-report/core/api/hooks/hooks.push.js.html +34 -34
  72. package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +89 -89
  73. package/coverage/lcov-report/core/api/hooks/hooks.schemas.js.html +13 -13
  74. package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +28 -28
  75. package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +7 -7
  76. package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +50 -50
  77. package/coverage/lcov-report/core/api/hooks/index.html +51 -51
  78. package/coverage/lcov-report/core/api/hooks/index.js.html +11 -11
  79. package/coverage/lcov-report/core/api/index.html +42 -42
  80. package/coverage/lcov-report/core/api/index.js.html +22 -22
  81. package/coverage/lcov-report/core/api/marshall.js.html +127 -127
  82. package/coverage/lcov-report/core/api/models/index.html +1 -1
  83. package/coverage/lcov-report/core/api/models/messages.model.mongodb.js.html +1 -1
  84. package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +11 -11
  85. package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +42 -42
  86. package/coverage/lcov-report/core/api/services/account/account.service.js.html +34 -34
  87. package/coverage/lcov-report/core/api/services/account/index.html +1 -1
  88. package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +34 -34
  89. package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +87 -93
  90. package/coverage/lcov-report/core/api/services/authorisations/index.html +19 -19
  91. package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +1 -1
  92. package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +1 -1
  93. package/coverage/lcov-report/core/api/services/databases/index.html +1 -1
  94. package/coverage/lcov-report/core/api/services/import-export/import-export.hooks.js.html +1 -1
  95. package/coverage/lcov-report/core/api/services/import-export/import-export.service.js.html +1 -1
  96. package/coverage/lcov-report/core/api/services/import-export/index.html +1 -1
  97. package/coverage/lcov-report/core/api/services/index.html +15 -15
  98. package/coverage/lcov-report/core/api/services/index.js.html +97 -85
  99. package/coverage/lcov-report/core/api/services/mailer/index.html +1 -1
  100. package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +1 -1
  101. package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +1 -1
  102. package/coverage/lcov-report/core/api/services/messages/index.html +1 -1
  103. package/coverage/lcov-report/core/api/services/messages/messages.hooks.js.html +1 -1
  104. package/coverage/lcov-report/core/api/services/push/index.html +1 -1
  105. package/coverage/lcov-report/core/api/services/push/push.hooks.js.html +1 -1
  106. package/coverage/lcov-report/core/api/services/push/push.service.js.html +1 -1
  107. package/coverage/lcov-report/core/api/services/storage/index.html +1 -1
  108. package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +36 -36
  109. package/coverage/lcov-report/core/api/services/storage/storage.service.js.html +30 -30
  110. package/coverage/lcov-report/core/api/services/users/index.html +7 -7
  111. package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +83 -80
  112. package/coverage/lcov-report/core/api/services/users/users.service.js.html +4 -4
  113. package/coverage/lcov-report/core/common/errors.js.html +2 -2
  114. package/coverage/lcov-report/core/common/index.html +30 -30
  115. package/coverage/lcov-report/core/common/index.js.html +11 -11
  116. package/coverage/lcov-report/core/common/permissions.js.html +187 -187
  117. package/coverage/lcov-report/core/common/schema.js.html +26 -26
  118. package/coverage/lcov-report/core/common/utils.js.html +61 -61
  119. package/coverage/lcov-report/core/common/utils.offline.js.html +6 -6
  120. package/coverage/lcov-report/index.html +173 -173
  121. package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +316 -316
  122. package/coverage/lcov-report/map/api/hooks/hooks.features.js.html +218 -218
  123. package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +798 -789
  124. package/coverage/lcov-report/map/api/hooks/index.html +54 -54
  125. package/coverage/lcov-report/map/api/hooks/index.js.html +16 -16
  126. package/coverage/lcov-report/map/api/index.html +32 -32
  127. package/coverage/lcov-report/map/api/index.js.html +46 -46
  128. package/coverage/lcov-report/map/api/marshall.js.html +72 -72
  129. package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +24 -24
  130. package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +44 -44
  131. package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +80 -80
  132. package/coverage/lcov-report/map/api/models/index.html +65 -65
  133. package/coverage/lcov-report/map/api/models/projects.model.mongodb.js.html +26 -26
  134. package/coverage/lcov-report/map/api/models/styles.model.mongodb.js.html +28 -28
  135. package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +136 -136
  136. package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +343 -343
  137. package/coverage/lcov-report/map/api/services/alerts/index.html +32 -32
  138. package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +172 -172
  139. package/coverage/lcov-report/map/api/services/catalog/index.html +21 -21
  140. package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
  141. package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
  142. package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +160 -160
  143. package/coverage/lcov-report/map/api/services/features/features.service.js.html +117 -117
  144. package/coverage/lcov-report/map/api/services/features/index.html +31 -31
  145. package/coverage/lcov-report/map/api/services/index.html +21 -21
  146. package/coverage/lcov-report/map/api/services/index.js.html +334 -334
  147. package/coverage/lcov-report/map/api/services/projects/index.html +21 -21
  148. package/coverage/lcov-report/map/api/services/projects/projects.hooks.js.html +237 -237
  149. package/coverage/lcov-report/map/api/services/styles/index.html +21 -21
  150. package/coverage/lcov-report/map/api/services/styles/styles.hooks.js.html +84 -84
  151. package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +68 -68
  152. package/coverage/lcov-report/map/common/errors.js.html +16 -16
  153. package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +267 -267
  154. package/coverage/lcov-report/map/common/grid.js.html +554 -554
  155. package/coverage/lcov-report/map/common/index.html +159 -159
  156. package/coverage/lcov-report/map/common/index.js.html +68 -68
  157. package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +73 -73
  158. package/coverage/lcov-report/map/common/moment-utils.js.html +18 -18
  159. package/coverage/lcov-report/map/common/opendap-grid-source.js.html +484 -484
  160. package/coverage/lcov-report/map/common/opendap-utils.js.html +353 -353
  161. package/coverage/lcov-report/map/common/permissions.js.html +40 -40
  162. package/coverage/lcov-report/map/common/time-based-grid-source.js.html +59 -59
  163. package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
  164. package/coverage/lcov-report/map/common/wcs-grid-source.js.html +190 -190
  165. package/coverage/lcov-report/map/common/wcs-utils.js.html +338 -338
  166. package/coverage/lcov-report/map/common/weacast-grid-source.js.html +345 -345
  167. package/coverage/lcov-report/map/common/wfs-utils.js.html +1 -1
  168. package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
  169. package/coverage/lcov-report/map/common/wmts-utils.js.html +1 -1
  170. package/coverage/lcov.info +6880 -5908
  171. package/coverage/map/api/hooks/hooks.catalog.js.html +316 -316
  172. package/coverage/map/api/hooks/hooks.features.js.html +218 -218
  173. package/coverage/map/api/hooks/hooks.query.js.html +798 -789
  174. package/coverage/map/api/hooks/index.html +54 -54
  175. package/coverage/map/api/hooks/index.js.html +16 -16
  176. package/coverage/map/api/index.html +32 -32
  177. package/coverage/map/api/index.js.html +46 -46
  178. package/coverage/map/api/marshall.js.html +72 -72
  179. package/coverage/map/api/models/alerts.model.mongodb.js.html +24 -24
  180. package/coverage/map/api/models/catalog.model.mongodb.js.html +44 -44
  181. package/coverage/map/api/models/features.model.mongodb.js.html +80 -80
  182. package/coverage/map/api/models/index.html +65 -65
  183. package/coverage/map/api/models/projects.model.mongodb.js.html +26 -26
  184. package/coverage/map/api/models/styles.model.mongodb.js.html +28 -28
  185. package/coverage/map/api/services/alerts/alerts.hooks.js.html +136 -136
  186. package/coverage/map/api/services/alerts/alerts.service.js.html +343 -343
  187. package/coverage/map/api/services/alerts/index.html +32 -32
  188. package/coverage/map/api/services/catalog/catalog.hooks.js.html +172 -172
  189. package/coverage/map/api/services/catalog/index.html +21 -21
  190. package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
  191. package/coverage/map/api/services/daptiles/index.html +1 -1
  192. package/coverage/map/api/services/features/features.hooks.js.html +160 -160
  193. package/coverage/map/api/services/features/features.service.js.html +117 -117
  194. package/coverage/map/api/services/features/index.html +31 -31
  195. package/coverage/map/api/services/index.html +21 -21
  196. package/coverage/map/api/services/index.js.html +334 -334
  197. package/coverage/map/api/services/projects/index.html +21 -21
  198. package/coverage/map/api/services/projects/projects.hooks.js.html +237 -237
  199. package/coverage/map/api/services/styles/index.html +21 -21
  200. package/coverage/map/api/services/styles/styles.hooks.js.html +84 -84
  201. package/coverage/map/common/dynamic-grid-source.js.html +68 -68
  202. package/coverage/map/common/errors.js.html +16 -16
  203. package/coverage/map/common/geotiff-grid-source.js.html +267 -267
  204. package/coverage/map/common/grid.js.html +554 -554
  205. package/coverage/map/common/index.html +159 -159
  206. package/coverage/map/common/index.js.html +68 -68
  207. package/coverage/map/common/meteo-model-grid-source.js.html +73 -73
  208. package/coverage/map/common/moment-utils.js.html +18 -18
  209. package/coverage/map/common/opendap-grid-source.js.html +484 -484
  210. package/coverage/map/common/opendap-utils.js.html +353 -353
  211. package/coverage/map/common/permissions.js.html +40 -40
  212. package/coverage/map/common/time-based-grid-source.js.html +59 -59
  213. package/coverage/map/common/tms-utils.js.html +1 -1
  214. package/coverage/map/common/wcs-grid-source.js.html +190 -190
  215. package/coverage/map/common/wcs-utils.js.html +338 -338
  216. package/coverage/map/common/weacast-grid-source.js.html +345 -345
  217. package/coverage/map/common/wfs-utils.js.html +1 -1
  218. package/coverage/map/common/wms-utils.js.html +1 -1
  219. package/coverage/map/common/wmts-utils.js.html +1 -1
  220. package/coverage/tmp/coverage-151198-1753351220086-0.json +1 -0
  221. package/coverage/tmp/coverage-151210-1753351220070-0.json +1 -0
  222. package/coverage/tmp/coverage-151221-1753351129816-0.json +1 -0
  223. package/coverage/tmp/coverage-151233-1753351129803-0.json +1 -0
  224. package/coverage/tmp/coverage-151240-1753351129770-0.json +1 -0
  225. package/coverage/tmp/coverage-151307-1753351220058-0.json +1 -0
  226. package/coverage/tmp/coverage-151319-1753351220044-0.json +1 -0
  227. package/coverage/tmp/coverage-151326-1753351220010-0.json +1 -0
  228. package/map/api/hooks/hooks.query.js +7 -4
  229. package/map/api/services/styles/styles.hooks.js +1 -1
  230. package/map/client/components/KLayerEditor.vue +4 -0
  231. package/map/client/components/catalog/KLayerCategories.vue +2 -0
  232. package/map/client/components/stickies/KAttribution.vue +8 -7
  233. package/map/client/components/stickies/KLevelSlider.vue +10 -8
  234. package/map/client/components/styles/KStyleEditor.vue +1 -1
  235. package/map/client/components/styles/KStyleManager.vue +7 -1
  236. package/map/client/composables/highlight.js +5 -1
  237. package/map/client/i18n/map_en.json +4 -1
  238. package/map/client/i18n/map_fr.json +5 -2
  239. package/map/client/leaflet/utils/utils.geojson.js +5 -4
  240. package/map/client/mixins/globe/mixin.geojson-layers.js +11 -5
  241. package/map/client/mixins/mixin.activity.js +9 -0
  242. package/map/client/utils/utils.layers.js +0 -2
  243. package/package.json +1 -1
  244. package/test/api/core/index.test.js +49 -60
  245. package/test/api/core/push.test.js +1 -1
  246. package/test/api/core/test-log-2025-06-25.log +9 -0
  247. package/test/api/core/test-log-2025-07-24.log +44 -0
  248. package/test/api/map/test-log-2025-05-27.log +13 -0
  249. package/test/api/map/test-log-2025-06-23.log +7 -0
  250. package/test/api/map/test-log-2025-07-24.log +11 -0
  251. package/coverage/tmp/coverage-323534-1747828879483-0.json +0 -1
  252. package/coverage/tmp/coverage-323546-1747828879453-0.json +0 -1
  253. package/coverage/tmp/coverage-323557-1747828879439-0.json +0 -1
  254. package/coverage/tmp/coverage-323569-1747828879416-0.json +0 -1
  255. package/coverage/tmp/coverage-323576-1747828879390-0.json +0 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/15</span>
28
+ <span class='fraction'>15/15</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/1</span>
35
+ <span class='fraction'>2/2</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/1</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/15</span>
49
+ <span class='fraction'>15/15</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line low'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -78,36 +78,36 @@
78
78
  <a name='L13'></a><a href='#L13'>13</a>
79
79
  <a name='L14'></a><a href='#L14'>14</a>
80
80
  <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
82
- <span class="cline-any cline-no">&nbsp;</span>
83
- <span class="cline-any cline-no">&nbsp;</span>
84
- <span class="cline-any cline-no">&nbsp;</span>
85
- <span class="cline-any cline-no">&nbsp;</span>
86
- <span class="cline-any cline-no">&nbsp;</span>
87
- <span class="cline-any cline-no">&nbsp;</span>
88
- <span class="cline-any cline-no">&nbsp;</span>
89
- <span class="cline-any cline-no">&nbsp;</span>
90
- <span class="cline-any cline-no">&nbsp;</span>
91
- <span class="cline-any cline-no">&nbsp;</span>
92
- <span class="cline-any cline-no">&nbsp;</span>
93
- <span class="cline-any cline-no">&nbsp;</span>
94
- <span class="cline-any cline-no">&nbsp;</span>
95
- <span class="cline-any cline-no">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >// Hook computing map abilities for a given user</span></span></span>
97
- <span class="cstat-no" title="statement not covered" >export function defineUserAbilities (subject, can, cannot) {</span>
98
- <span class="cstat-no" title="statement not covered" > can('service', 'geocoder')</span>
99
- <span class="cstat-no" title="statement not covered" > can('create', 'geocoder')</span>
100
- <span class="cstat-no" title="statement not covered" > can('service', 'catalog')</span>
101
- <span class="cstat-no" title="statement not covered" > can('read', 'catalog')</span>
102
- <span class="cstat-no" title="statement not covered" > can('service', 'projects')</span>
103
- <span class="cstat-no" title="statement not covered" > can('read', 'projects')</span>
104
- <span class="cstat-no" title="statement not covered" > can('service', 'alerts')</span>
105
- <span class="cstat-no" title="statement not covered" > can('read', 'alerts')</span>
106
- <span class="cstat-no" title="statement not covered" > can('service', 'styles')</span>
107
- <span class="cstat-no" title="statement not covered" > can('read', 'styles')</span>
108
- <span class="cstat-no" title="statement not covered" > // can('service', 'daptiles')</span>
109
- <span class="cstat-no" title="statement not covered" > // can('get', 'daptiles')</span>
110
- <span class="cstat-no" title="statement not covered" >}</span>
81
+ <a name='L16'></a><a href='#L16'>16</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
82
+ <span class="cline-any cline-yes">1x</span>
83
+ <span class="cline-any cline-yes">8x</span>
84
+ <span class="cline-any cline-yes">8x</span>
85
+ <span class="cline-any cline-yes">8x</span>
86
+ <span class="cline-any cline-yes">8x</span>
87
+ <span class="cline-any cline-yes">8x</span>
88
+ <span class="cline-any cline-yes">8x</span>
89
+ <span class="cline-any cline-yes">8x</span>
90
+ <span class="cline-any cline-yes">8x</span>
91
+ <span class="cline-any cline-yes">8x</span>
92
+ <span class="cline-any cline-yes">8x</span>
93
+ <span class="cline-any cline-yes">8x</span>
94
+ <span class="cline-any cline-yes">8x</span>
95
+ <span class="cline-any cline-yes">8x</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// Hook computing map abilities for a given user
97
+ export function defineUserAbilities (subject, can, cannot) {
98
+ can('service', 'geocoder')
99
+ can('create', 'geocoder')
100
+ can('service', 'catalog')
101
+ can('read', 'catalog')
102
+ can('service', 'projects')
103
+ can('read', 'projects')
104
+ can('service', 'alerts')
105
+ can('read', 'alerts')
106
+ can('service', 'styles')
107
+ can('read', 'styles')
108
+ // can('service', 'daptiles')
109
+ // can('get', 'daptiles')
110
+ }
111
111
  &nbsp;</pre></td></tr></table></pre>
112
112
 
113
113
  <div class='push'></div><!-- for sticky footer -->
@@ -115,7 +115,7 @@
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at 2025-05-21T12:01:19.803Z
118
+ at 2025-07-24T10:00:20.476Z
119
119
  </div>
120
120
  <script src="../../prettify.js"></script>
121
121
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">22.52% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/111</span>
28
+ <span class='fraction'>25/111</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/1</span>
35
+ <span class='fraction'>2/2</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">12.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/1</span>
42
+ <span class='fraction'>1/8</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">22.52% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/111</span>
49
+ <span class='fraction'>25/111</span>
50
50
  </div>
51
51
 
52
52
 
@@ -174,15 +174,30 @@
174
174
  <a name='L109'></a><a href='#L109'>109</a>
175
175
  <a name='L110'></a><a href='#L110'>110</a>
176
176
  <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
177
+ <a name='L112'></a><a href='#L112'>112</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
178
+ <span class="cline-any cline-yes">1x</span>
179
+ <span class="cline-any cline-yes">1x</span>
180
+ <span class="cline-any cline-yes">1x</span>
181
+ <span class="cline-any cline-yes">1x</span>
182
+ <span class="cline-any cline-yes">1x</span>
183
+ <span class="cline-any cline-yes">1x</span>
184
+ <span class="cline-any cline-yes">1x</span>
185
+ <span class="cline-any cline-yes">1x</span>
186
+ <span class="cline-any cline-yes">1x</span>
187
+ <span class="cline-any cline-yes">1x</span>
188
+ <span class="cline-any cline-yes">1x</span>
178
189
  <span class="cline-any cline-no">&nbsp;</span>
179
190
  <span class="cline-any cline-no">&nbsp;</span>
180
191
  <span class="cline-any cline-no">&nbsp;</span>
181
192
  <span class="cline-any cline-no">&nbsp;</span>
193
+ <span class="cline-any cline-yes">1x</span>
194
+ <span class="cline-any cline-yes">1x</span>
182
195
  <span class="cline-any cline-no">&nbsp;</span>
183
196
  <span class="cline-any cline-no">&nbsp;</span>
184
197
  <span class="cline-any cline-no">&nbsp;</span>
185
198
  <span class="cline-any cline-no">&nbsp;</span>
199
+ <span class="cline-any cline-yes">1x</span>
200
+ <span class="cline-any cline-yes">1x</span>
186
201
  <span class="cline-any cline-no">&nbsp;</span>
187
202
  <span class="cline-any cline-no">&nbsp;</span>
188
203
  <span class="cline-any cline-no">&nbsp;</span>
@@ -212,6 +227,8 @@
212
227
  <span class="cline-any cline-no">&nbsp;</span>
213
228
  <span class="cline-any cline-no">&nbsp;</span>
214
229
  <span class="cline-any cline-no">&nbsp;</span>
230
+ <span class="cline-any cline-yes">1x</span>
231
+ <span class="cline-any cline-yes">1x</span>
215
232
  <span class="cline-any cline-no">&nbsp;</span>
216
233
  <span class="cline-any cline-no">&nbsp;</span>
217
234
  <span class="cline-any cline-no">&nbsp;</span>
@@ -225,10 +242,14 @@
225
242
  <span class="cline-any cline-no">&nbsp;</span>
226
243
  <span class="cline-any cline-no">&nbsp;</span>
227
244
  <span class="cline-any cline-no">&nbsp;</span>
245
+ <span class="cline-any cline-yes">1x</span>
246
+ <span class="cline-any cline-yes">1x</span>
228
247
  <span class="cline-any cline-no">&nbsp;</span>
229
248
  <span class="cline-any cline-no">&nbsp;</span>
230
249
  <span class="cline-any cline-no">&nbsp;</span>
231
250
  <span class="cline-any cline-no">&nbsp;</span>
251
+ <span class="cline-any cline-yes">1x</span>
252
+ <span class="cline-any cline-yes">1x</span>
232
253
  <span class="cline-any cline-no">&nbsp;</span>
233
254
  <span class="cline-any cline-no">&nbsp;</span>
234
255
  <span class="cline-any cline-no">&nbsp;</span>
@@ -241,6 +262,8 @@
241
262
  <span class="cline-any cline-no">&nbsp;</span>
242
263
  <span class="cline-any cline-no">&nbsp;</span>
243
264
  <span class="cline-any cline-no">&nbsp;</span>
265
+ <span class="cline-any cline-yes">1x</span>
266
+ <span class="cline-any cline-yes">1x</span>
244
267
  <span class="cline-any cline-no">&nbsp;</span>
245
268
  <span class="cline-any cline-no">&nbsp;</span>
246
269
  <span class="cline-any cline-no">&nbsp;</span>
@@ -261,54 +284,31 @@
261
284
  <span class="cline-any cline-no">&nbsp;</span>
262
285
  <span class="cline-any cline-no">&nbsp;</span>
263
286
  <span class="cline-any cline-no">&nbsp;</span>
264
- <span class="cline-any cline-no">&nbsp;</span>
265
- <span class="cline-any cline-no">&nbsp;</span>
266
- <span class="cline-any cline-no">&nbsp;</span>
267
- <span class="cline-any cline-no">&nbsp;</span>
268
- <span class="cline-any cline-no">&nbsp;</span>
269
- <span class="cline-any cline-no">&nbsp;</span>
270
- <span class="cline-any cline-no">&nbsp;</span>
271
- <span class="cline-any cline-no">&nbsp;</span>
272
- <span class="cline-any cline-no">&nbsp;</span>
273
- <span class="cline-any cline-no">&nbsp;</span>
274
- <span class="cline-any cline-no">&nbsp;</span>
275
- <span class="cline-any cline-no">&nbsp;</span>
276
- <span class="cline-any cline-no">&nbsp;</span>
277
- <span class="cline-any cline-no">&nbsp;</span>
278
- <span class="cline-any cline-no">&nbsp;</span>
279
- <span class="cline-any cline-no">&nbsp;</span>
280
- <span class="cline-any cline-no">&nbsp;</span>
281
- <span class="cline-any cline-no">&nbsp;</span>
282
- <span class="cline-any cline-no">&nbsp;</span>
283
- <span class="cline-any cline-no">&nbsp;</span>
284
- <span class="cline-any cline-no">&nbsp;</span>
285
- <span class="cline-any cline-no">&nbsp;</span>
286
- <span class="cline-any cline-no">&nbsp;</span>
287
- <span class="cline-any cline-no">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import _ from 'lodash'</span></span></span>
289
- <span class="cstat-no" title="statement not covered" >import moment from 'moment'</span>
290
- <span class="cstat-no" title="statement not covered" >import { makeGridSource, extractGridSourceConfig } from './grid.js'</span>
291
- <span class="cstat-no" title="statement not covered" >import { DynamicGridSource } from './dynamic-grid-source.js'</span>
292
- <span class="cstat-no" title="statement not covered" >import { readAsTimeOrDuration, makeTime } from './moment-utils.js'</span>
293
- <span class="cstat-no" title="statement not covered" ></span>
294
- <span class="cstat-no" title="statement not covered" >export class TimeBasedGridSource extends DynamicGridSource {</span>
295
- <span class="cstat-no" title="statement not covered" > static getKey () {</span>
296
- <span class="cstat-no" title="statement not covered" > return 'time_based'</span>
297
- <span class="cstat-no" title="statement not covered" > }</span>
298
- <span class="cstat-no" title="statement not covered" ></span>
299
- <span class="cstat-no" title="statement not covered" > constructor (options) {</span>
287
+ <span class="cline-any cline-yes">1x</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import _ from 'lodash'
289
+ import moment from 'moment'
290
+ import { makeGridSource, extractGridSourceConfig } from './grid.js'
291
+ import { DynamicGridSource } from './dynamic-grid-source.js'
292
+ import { readAsTimeOrDuration, makeTime } from './moment-utils.js'
293
+ &nbsp;
294
+ export class TimeBasedGridSource extends DynamicGridSource {
295
+ static getKey () {
296
+ return 'time_based'
297
+ }
298
+ &nbsp;
299
+ <span class="fstat-no" title="function not covered" > constructor (options) {</span>
300
300
  <span class="cstat-no" title="statement not covered" > super(options)</span>
301
301
  <span class="cstat-no" title="statement not covered" ></span>
302
302
  <span class="cstat-no" title="statement not covered" > this.options = options</span>
303
303
  <span class="cstat-no" title="statement not covered" > }</span>
304
- <span class="cstat-no" title="statement not covered" ></span>
305
- <span class="cstat-no" title="statement not covered" > setTime (time) {</span>
304
+ &nbsp;
305
+ <span class="fstat-no" title="function not covered" > setTime (time) {</span>
306
306
  <span class="cstat-no" title="statement not covered" > this.updateCtx.time = time.clone()</span>
307
307
  <span class="cstat-no" title="statement not covered" > this.updateCtx.time.utc()</span>
308
308
  <span class="cstat-no" title="statement not covered" > this.queueUpdate()</span>
309
309
  <span class="cstat-no" title="statement not covered" > }</span>
310
- <span class="cstat-no" title="statement not covered" ></span>
311
- <span class="cstat-no" title="statement not covered" > async setup (config) {</span>
310
+ &nbsp;
311
+ <span class="fstat-no" title="function not covered" > async setup (config) {</span>
312
312
  <span class="cstat-no" title="statement not covered" > this.candidates = []</span>
313
313
  <span class="cstat-no" title="statement not covered" ></span>
314
314
  <span class="cstat-no" title="statement not covered" > for (const source of config.sources) {</span>
@@ -338,8 +338,8 @@
338
338
  <span class="cstat-no" title="statement not covered" > this.candidates.push(candidate)</span>
339
339
  <span class="cstat-no" title="statement not covered" > }</span>
340
340
  <span class="cstat-no" title="statement not covered" > }</span>
341
- <span class="cstat-no" title="statement not covered" ></span>
342
- <span class="cstat-no" title="statement not covered" > makeBuildContext (updateCtx) {</span>
341
+ &nbsp;
342
+ <span class="fstat-no" title="function not covered" > makeBuildContext (updateCtx) {</span>
343
343
  <span class="cstat-no" title="statement not covered" > const ctx = Object.assign({}, updateCtx)</span>
344
344
  <span class="cstat-no" title="statement not covered" ></span>
345
345
  <span class="cstat-no" title="statement not covered" > ctx.candidate = this.selectCandidate(ctx.time)</span>
@@ -353,14 +353,14 @@
353
353
  <span class="cstat-no" title="statement not covered" ></span>
354
354
  <span class="cstat-no" title="statement not covered" > return ctx</span>
355
355
  <span class="cstat-no" title="statement not covered" > }</span>
356
- <span class="cstat-no" title="statement not covered" ></span>
357
- <span class="cstat-no" title="statement not covered" > shouldSkipUpdate (newContext, oldContext) {</span>
356
+ &nbsp;
357
+ <span class="fstat-no" title="function not covered" > shouldSkipUpdate (newContext, oldContext) {</span>
358
358
  <span class="cstat-no" title="statement not covered" > if (oldContext.candidate !== newContext.candidate) return false</span>
359
359
  <span class="cstat-no" title="statement not covered" > if (oldContext.stepTime &amp;&amp; newContext.stepTime &amp;&amp; !oldContext.stepTime.isSame(newContext.stepTime)) return false</span>
360
360
  <span class="cstat-no" title="statement not covered" > return true</span>
361
361
  <span class="cstat-no" title="statement not covered" > }</span>
362
- <span class="cstat-no" title="statement not covered" ></span>
363
- <span class="cstat-no" title="statement not covered" > buildSourceAndConfig (ctx) {</span>
362
+ &nbsp;
363
+ <span class="fstat-no" title="function not covered" > buildSourceAndConfig (ctx) {</span>
364
364
  <span class="cstat-no" title="statement not covered" > let source = null</span>
365
365
  <span class="cstat-no" title="statement not covered" > let config = null</span>
366
366
  <span class="cstat-no" title="statement not covered" ></span>
@@ -373,8 +373,8 @@
373
373
  <span class="cstat-no" title="statement not covered" ></span>
374
374
  <span class="cstat-no" title="statement not covered" > return [source, config]</span>
375
375
  <span class="cstat-no" title="statement not covered" > }</span>
376
- <span class="cstat-no" title="statement not covered" ></span>
377
- <span class="cstat-no" title="statement not covered" > selectCandidate (time) {</span>
376
+ &nbsp;
377
+ <span class="fstat-no" title="function not covered" > selectCandidate (time) {</span>
378
378
  <span class="cstat-no" title="statement not covered" > const now = moment()</span>
379
379
  <span class="cstat-no" title="statement not covered" ></span>
380
380
  <span class="cstat-no" title="statement not covered" > let candidate = null</span>
@@ -395,7 +395,7 @@
395
395
  <span class="cstat-no" title="statement not covered" ></span>
396
396
  <span class="cstat-no" title="statement not covered" > return candidate</span>
397
397
  <span class="cstat-no" title="statement not covered" > }</span>
398
- <span class="cstat-no" title="statement not covered" >}</span>
398
+ }
399
399
  &nbsp;</pre></td></tr></table></pre>
400
400
 
401
401
  <div class='push'></div><!-- for sticky footer -->
@@ -403,7 +403,7 @@
403
403
  <div class='footer quiet pad2 space-top1 center small'>
404
404
  Code coverage generated by
405
405
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
406
- at 2025-05-21T12:01:19.803Z
406
+ at 2025-07-24T10:00:20.476Z
407
407
  </div>
408
408
  <script src="../../prettify.js"></script>
409
409
  <script>
@@ -259,7 +259,7 @@
259
259
  <div class='footer quiet pad2 space-top1 center small'>
260
260
  Code coverage generated by
261
261
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
262
- at 2025-05-21T12:01:19.803Z
262
+ at 2025-07-24T10:00:20.476Z
263
263
  </div>
264
264
  <script src="../../prettify.js"></script>
265
265
  <script>