@kalisio/kdk 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/.nyc_output/{0f1a87aa-d3bb-4c61-8c1e-12294055358d.json → 058fc679-d60a-4501-ac04-71171e5200b8.json} +0 -0
  2. package/.nyc_output/2226bcce-9d22-4dad-b9fa-46564b5565c7.json +1 -0
  3. package/.nyc_output/6dc4b140-1a8a-4d69-b91c-89c557883d6e.json +1 -0
  4. package/.nyc_output/{8be4cd9f-124a-41f9-80f4-f267ced63c86.json → 8b1830fa-932e-4a61-9837-4a5b18f83ea9.json} +0 -0
  5. package/.nyc_output/{a63b0924-fd09-4e30-974f-cb4be2243b66.json → afd2d144-3570-4858-b94a-b523dbd023dd.json} +0 -0
  6. package/.nyc_output/processinfo/058fc679-d60a-4501-ac04-71171e5200b8.json +1 -0
  7. package/.nyc_output/processinfo/{27204015-ebfd-456f-a3bb-6a94f71946b8.json → 2226bcce-9d22-4dad-b9fa-46564b5565c7.json} +1 -1
  8. package/.nyc_output/processinfo/6dc4b140-1a8a-4d69-b91c-89c557883d6e.json +1 -0
  9. package/.nyc_output/processinfo/8b1830fa-932e-4a61-9837-4a5b18f83ea9.json +1 -0
  10. package/.nyc_output/processinfo/afd2d144-3570-4858-b94a-b523dbd023dd.json +1 -0
  11. package/.nyc_output/processinfo/index.json +1 -1
  12. package/CHANGELOG.md +219 -68
  13. package/coverage/core/api/application.js.html +455 -455
  14. package/coverage/core/api/authentication.js.html +119 -119
  15. package/coverage/core/api/db.js.html +201 -201
  16. package/coverage/core/api/hooks/hooks.account.js.html +48 -48
  17. package/coverage/core/api/hooks/hooks.authentication.js.html +64 -64
  18. package/coverage/core/api/hooks/hooks.authorisations.js.html +353 -353
  19. package/coverage/core/api/hooks/hooks.devices.js.html +22 -22
  20. package/coverage/core/api/hooks/hooks.groups.js.html +37 -37
  21. package/coverage/core/api/hooks/hooks.logger.js.html +27 -27
  22. package/coverage/core/api/hooks/hooks.model.js.html +269 -269
  23. package/coverage/core/api/hooks/hooks.organisations.js.html +183 -231
  24. package/coverage/core/api/hooks/hooks.pusher.js.html +114 -114
  25. package/coverage/core/api/hooks/hooks.query.js.html +200 -200
  26. package/coverage/core/api/hooks/hooks.service.js.html +82 -82
  27. package/coverage/core/api/hooks/hooks.storage.js.html +121 -121
  28. package/coverage/core/api/hooks/hooks.tags.js.html +232 -232
  29. package/coverage/core/api/hooks/hooks.users.js.html +261 -261
  30. package/coverage/core/api/hooks/index.html +167 -167
  31. package/coverage/core/api/hooks/index.js.html +24 -24
  32. package/coverage/core/api/index.html +75 -75
  33. package/coverage/core/api/index.js.html +26 -26
  34. package/coverage/core/api/marshall.js.html +57 -57
  35. package/coverage/core/api/models/groups.model.mongodb.js.html +20 -20
  36. package/coverage/core/api/models/index.html +50 -50
  37. package/coverage/core/api/models/organisations.model.mongodb.js.html +12 -12
  38. package/coverage/core/api/models/tags.model.mongodb.js.html +22 -22
  39. package/coverage/core/api/models/users.model.mongodb.js.html +20 -20
  40. package/coverage/core/api/oauth2-handler.js.html +18 -18
  41. package/coverage/core/api/oauth2-verifier.js.html +38 -38
  42. package/coverage/core/api/services/account/account.hooks.js.html +16 -16
  43. package/coverage/core/api/services/account/account.service.js.html +108 -108
  44. package/coverage/core/api/services/account/index.html +32 -32
  45. package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +9 -9
  46. package/coverage/core/api/services/authorisations/authorisations.service.js.html +132 -132
  47. package/coverage/core/api/services/authorisations/index.html +28 -28
  48. package/coverage/core/api/services/databases/databases.hooks.js.html +9 -9
  49. package/coverage/core/api/services/databases/databases.service.js.html +12 -12
  50. package/coverage/core/api/services/databases/index.html +24 -24
  51. package/coverage/core/api/services/devices/devices.hooks.js.html +9 -9
  52. package/coverage/core/api/services/devices/devices.service.js.html +61 -61
  53. package/coverage/core/api/services/devices/index.html +22 -22
  54. package/coverage/core/api/services/groups/groups.hooks.js.html +9 -9
  55. package/coverage/core/api/services/groups/index.html +13 -13
  56. package/coverage/core/api/services/index.html +21 -21
  57. package/coverage/core/api/services/index.js.html +137 -137
  58. package/coverage/core/api/services/mailer/index.html +24 -24
  59. package/coverage/core/api/services/mailer/mailer.hooks.js.html +9 -9
  60. package/coverage/core/api/services/mailer/mailer.service.js.html +19 -19
  61. package/coverage/core/api/services/organisations/index.html +24 -24
  62. package/coverage/core/api/services/organisations/organisations.hooks.js.html +8 -8
  63. package/coverage/core/api/services/organisations/organisations.service.js.html +67 -67
  64. package/coverage/core/api/services/pusher/index.html +32 -32
  65. package/coverage/core/api/services/pusher/pusher.channels.js.html +8 -8
  66. package/coverage/core/api/services/pusher/pusher.hooks.js.html +10 -10
  67. package/coverage/core/api/services/pusher/pusher.service.js.html +336 -336
  68. package/coverage/core/api/services/storage/index.html +21 -21
  69. package/coverage/core/api/services/storage/storage.hooks.js.html +35 -35
  70. package/coverage/core/api/services/tags/index.html +21 -21
  71. package/coverage/core/api/services/tags/tags.hooks.js.html +25 -25
  72. package/coverage/core/api/services/users/index.html +21 -21
  73. package/coverage/core/api/services/users/users.hooks.js.html +33 -33
  74. package/coverage/core/common/errors.js.html +1 -1
  75. package/coverage/core/common/index.html +42 -27
  76. package/coverage/core/common/index.js.html +16 -16
  77. package/coverage/core/common/permissions.js.html +274 -274
  78. package/coverage/index.html +174 -174
  79. package/coverage/lcov-report/core/api/application.js.html +455 -455
  80. package/coverage/lcov-report/core/api/authentication.js.html +119 -119
  81. package/coverage/lcov-report/core/api/db.js.html +201 -201
  82. package/coverage/lcov-report/core/api/hooks/hooks.account.js.html +48 -48
  83. package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +64 -64
  84. package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +353 -353
  85. package/coverage/lcov-report/core/api/hooks/hooks.devices.js.html +22 -22
  86. package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +37 -37
  87. package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +27 -27
  88. package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +269 -269
  89. package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +183 -231
  90. package/coverage/lcov-report/core/api/hooks/hooks.pusher.js.html +114 -114
  91. package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +200 -200
  92. package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +82 -82
  93. package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +121 -121
  94. package/coverage/lcov-report/core/api/hooks/hooks.tags.js.html +232 -232
  95. package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +261 -261
  96. package/coverage/lcov-report/core/api/hooks/index.html +167 -167
  97. package/coverage/lcov-report/core/api/hooks/index.js.html +24 -24
  98. package/coverage/lcov-report/core/api/index.html +75 -75
  99. package/coverage/lcov-report/core/api/index.js.html +26 -26
  100. package/coverage/lcov-report/core/api/marshall.js.html +57 -57
  101. package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +20 -20
  102. package/coverage/lcov-report/core/api/models/index.html +50 -50
  103. package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +12 -12
  104. package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +22 -22
  105. package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +20 -20
  106. package/coverage/lcov-report/core/api/oauth2-handler.js.html +18 -18
  107. package/coverage/lcov-report/core/api/oauth2-verifier.js.html +38 -38
  108. package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +16 -16
  109. package/coverage/lcov-report/core/api/services/account/account.service.js.html +108 -108
  110. package/coverage/lcov-report/core/api/services/account/index.html +32 -32
  111. package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +9 -9
  112. package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +132 -132
  113. package/coverage/lcov-report/core/api/services/authorisations/index.html +28 -28
  114. package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +9 -9
  115. package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +12 -12
  116. package/coverage/lcov-report/core/api/services/databases/index.html +24 -24
  117. package/coverage/lcov-report/core/api/services/devices/devices.hooks.js.html +9 -9
  118. package/coverage/lcov-report/core/api/services/devices/devices.service.js.html +61 -61
  119. package/coverage/lcov-report/core/api/services/devices/index.html +22 -22
  120. package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +9 -9
  121. package/coverage/lcov-report/core/api/services/groups/index.html +13 -13
  122. package/coverage/lcov-report/core/api/services/index.html +21 -21
  123. package/coverage/lcov-report/core/api/services/index.js.html +137 -137
  124. package/coverage/lcov-report/core/api/services/mailer/index.html +24 -24
  125. package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +9 -9
  126. package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +19 -19
  127. package/coverage/lcov-report/core/api/services/organisations/index.html +24 -24
  128. package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +8 -8
  129. package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +67 -67
  130. package/coverage/lcov-report/core/api/services/pusher/index.html +32 -32
  131. package/coverage/lcov-report/core/api/services/pusher/pusher.channels.js.html +8 -8
  132. package/coverage/lcov-report/core/api/services/pusher/pusher.hooks.js.html +10 -10
  133. package/coverage/lcov-report/core/api/services/pusher/pusher.service.js.html +336 -336
  134. package/coverage/lcov-report/core/api/services/storage/index.html +21 -21
  135. package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +35 -35
  136. package/coverage/lcov-report/core/api/services/tags/index.html +21 -21
  137. package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +25 -25
  138. package/coverage/lcov-report/core/api/services/users/index.html +21 -21
  139. package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +33 -33
  140. package/coverage/lcov-report/core/common/errors.js.html +1 -1
  141. package/coverage/lcov-report/core/common/index.html +42 -27
  142. package/coverage/lcov-report/core/common/index.js.html +16 -16
  143. package/coverage/lcov-report/core/common/permissions.js.html +274 -274
  144. package/coverage/lcov-report/index.html +174 -174
  145. package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +1 -1
  146. package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +72 -18
  147. package/coverage/lcov-report/map/api/hooks/index.html +7 -7
  148. package/coverage/lcov-report/map/api/hooks/index.js.html +1 -1
  149. package/coverage/lcov-report/map/api/index.html +1 -1
  150. package/coverage/lcov-report/map/api/index.js.html +1 -1
  151. package/coverage/lcov-report/map/api/marshall.js.html +1 -1
  152. package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +1 -1
  153. package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +1 -1
  154. package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +1 -1
  155. package/coverage/lcov-report/map/api/models/index.html +1 -1
  156. package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +1 -1
  157. package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +1 -1
  158. package/coverage/lcov-report/map/api/services/alerts/index.html +1 -1
  159. package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +1 -1
  160. package/coverage/lcov-report/map/api/services/catalog/index.html +1 -1
  161. package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
  162. package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
  163. package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +1 -1
  164. package/coverage/lcov-report/map/api/services/features/index.html +1 -1
  165. package/coverage/lcov-report/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
  166. package/coverage/lcov-report/map/api/services/geocoder/geocoder.service.js.html +1 -1
  167. package/coverage/lcov-report/map/api/services/geocoder/index.html +1 -1
  168. package/coverage/lcov-report/map/api/services/index.html +1 -1
  169. package/coverage/lcov-report/map/api/services/index.js.html +1 -1
  170. package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +1 -1
  171. package/coverage/lcov-report/map/common/errors.js.html +1 -1
  172. package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +1 -1
  173. package/coverage/lcov-report/map/common/grid.js.html +1 -1
  174. package/coverage/lcov-report/map/common/index.html +1 -1
  175. package/coverage/lcov-report/map/common/index.js.html +1 -1
  176. package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +1 -1
  177. package/coverage/lcov-report/map/common/moment-utils.js.html +1 -1
  178. package/coverage/lcov-report/map/common/opendap-grid-source.js.html +1 -1
  179. package/coverage/lcov-report/map/common/opendap-utils.js.html +1 -1
  180. package/coverage/lcov-report/map/common/permissions.js.html +1 -1
  181. package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
  182. package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
  183. package/coverage/lcov-report/map/common/wcs-grid-source.js.html +1 -1
  184. package/coverage/lcov-report/map/common/wcs-utils.js.html +1 -1
  185. package/coverage/lcov-report/map/common/weacast-grid-source.js.html +1 -1
  186. package/coverage/lcov-report/map/common/wfs-utils.js.html +1 -1
  187. package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
  188. package/coverage/lcov-report/map/common/wmts-utils.js.html +1 -1
  189. package/coverage/lcov.info +3289 -3610
  190. package/coverage/map/api/hooks/hooks.catalog.js.html +1 -1
  191. package/coverage/map/api/hooks/hooks.query.js.html +72 -18
  192. package/coverage/map/api/hooks/index.html +7 -7
  193. package/coverage/map/api/hooks/index.js.html +1 -1
  194. package/coverage/map/api/index.html +1 -1
  195. package/coverage/map/api/index.js.html +1 -1
  196. package/coverage/map/api/marshall.js.html +1 -1
  197. package/coverage/map/api/models/alerts.model.mongodb.js.html +1 -1
  198. package/coverage/map/api/models/catalog.model.mongodb.js.html +1 -1
  199. package/coverage/map/api/models/features.model.mongodb.js.html +1 -1
  200. package/coverage/map/api/models/index.html +1 -1
  201. package/coverage/map/api/services/alerts/alerts.hooks.js.html +1 -1
  202. package/coverage/map/api/services/alerts/alerts.service.js.html +1 -1
  203. package/coverage/map/api/services/alerts/index.html +1 -1
  204. package/coverage/map/api/services/catalog/catalog.hooks.js.html +1 -1
  205. package/coverage/map/api/services/catalog/index.html +1 -1
  206. package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
  207. package/coverage/map/api/services/daptiles/index.html +1 -1
  208. package/coverage/map/api/services/features/features.hooks.js.html +1 -1
  209. package/coverage/map/api/services/features/index.html +1 -1
  210. package/coverage/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
  211. package/coverage/map/api/services/geocoder/geocoder.service.js.html +1 -1
  212. package/coverage/map/api/services/geocoder/index.html +1 -1
  213. package/coverage/map/api/services/index.html +1 -1
  214. package/coverage/map/api/services/index.js.html +1 -1
  215. package/coverage/map/common/dynamic-grid-source.js.html +1 -1
  216. package/coverage/map/common/errors.js.html +1 -1
  217. package/coverage/map/common/geotiff-grid-source.js.html +1 -1
  218. package/coverage/map/common/grid.js.html +1 -1
  219. package/coverage/map/common/index.html +1 -1
  220. package/coverage/map/common/index.js.html +1 -1
  221. package/coverage/map/common/meteo-model-grid-source.js.html +1 -1
  222. package/coverage/map/common/moment-utils.js.html +1 -1
  223. package/coverage/map/common/opendap-grid-source.js.html +1 -1
  224. package/coverage/map/common/opendap-utils.js.html +1 -1
  225. package/coverage/map/common/permissions.js.html +1 -1
  226. package/coverage/map/common/time-based-grid-source.js.html +1 -1
  227. package/coverage/map/common/tms-utils.js.html +1 -1
  228. package/coverage/map/common/wcs-grid-source.js.html +1 -1
  229. package/coverage/map/common/wcs-utils.js.html +1 -1
  230. package/coverage/map/common/weacast-grid-source.js.html +1 -1
  231. package/coverage/map/common/wfs-utils.js.html +1 -1
  232. package/coverage/map/common/wms-utils.js.html +1 -1
  233. package/coverage/map/common/wmts-utils.js.html +1 -1
  234. package/lib/core/client/components/collection/KBoard.vue +6 -0
  235. package/lib/core/client/components/collection/KColumn.vue +2 -2
  236. package/lib/core/client/components/collection/KHistory.vue +14 -6
  237. package/lib/core/client/components/collection/KHistoryEntry.vue +7 -3
  238. package/lib/core/client/components/form/KFileField.vue +11 -40
  239. package/lib/core/client/components/frame/KChipsPane.vue +2 -2
  240. package/lib/core/client/components/input/KOptionsChooser.vue +2 -2
  241. package/lib/core/client/i18n/core_en.json +7 -1
  242. package/lib/core/client/i18n/core_fr.json +7 -1
  243. package/lib/core/client/index.js +18 -0
  244. package/lib/core/client/index.js.map +1 -1
  245. package/lib/core/client/layout.js +8 -1
  246. package/lib/core/client/layout.js.map +1 -1
  247. package/lib/core/client/mixins/mixin.base-collection.js +8 -2
  248. package/lib/core/client/mixins/mixin.base-collection.js.map +1 -1
  249. package/lib/core/client/reader.js +54 -0
  250. package/lib/core/client/reader.js.map +1 -0
  251. package/lib/core/client/readers/index.js +30 -0
  252. package/lib/core/client/readers/index.js.map +1 -0
  253. package/lib/core/client/readers/reader.csv.js +43 -0
  254. package/lib/core/client/readers/reader.csv.js.map +1 -0
  255. package/lib/core/client/readers/reader.json.js +38 -0
  256. package/lib/core/client/readers/reader.json.js.map +1 -0
  257. package/lib/core/client/services/index.js +1 -3
  258. package/lib/core/client/services/index.js.map +1 -1
  259. package/lib/core/client/time.js +4 -1
  260. package/lib/core/client/time.js.map +1 -1
  261. package/lib/map/api/hooks/hooks.query.js +30 -13
  262. package/lib/map/api/hooks/hooks.query.js.map +1 -1
  263. package/lib/map/client/components/KCaptureToolbar.vue +156 -0
  264. package/lib/map/client/components/KFeaturesFilter.vue +3 -1
  265. package/lib/map/client/components/KLayerEditionToolbar.vue +19 -11
  266. package/lib/map/client/components/KLayerStyleEditor.vue +2 -1
  267. package/lib/map/client/components/KLayerStyleForm.vue +34 -23
  268. package/lib/map/client/components/KLocationMap.vue +3 -1
  269. package/lib/map/client/components/KMeasureTool.vue +340 -0
  270. package/lib/map/client/components/KPositionIndicator.vue +1 -0
  271. package/lib/map/client/components/KTimeline.vue +7 -8
  272. package/lib/map/client/components/catalog/KImportLayer.vue +8 -35
  273. package/lib/map/client/components/catalog/KLayersSelector.vue +13 -11
  274. package/lib/map/client/components/form/KOwsLayerField.vue +7 -0
  275. package/lib/map/client/components/widget/KMapillaryViewer.vue +1 -1
  276. package/lib/map/client/components/widget/KTimeSeries.vue +81 -3
  277. package/lib/map/client/i18n/map_en.json +43 -5
  278. package/lib/map/client/i18n/map_fr.json +43 -5
  279. package/lib/map/client/init.js +6 -1
  280. package/lib/map/client/init.js.map +1 -1
  281. package/lib/map/client/leaflet/MaskLayer.js +12 -3
  282. package/lib/map/client/leaflet/MaskLayer.js.map +1 -1
  283. package/lib/map/client/mixins/globe/mixin.base-globe.js +3 -5
  284. package/lib/map/client/mixins/globe/mixin.base-globe.js.map +1 -1
  285. package/lib/map/client/mixins/globe/mixin.geojson-layers.js +0 -4
  286. package/lib/map/client/mixins/globe/mixin.geojson-layers.js.map +1 -1
  287. package/lib/map/client/mixins/globe/mixin.popup.js +4 -0
  288. package/lib/map/client/mixins/globe/mixin.popup.js.map +1 -1
  289. package/lib/map/client/mixins/globe/mixin.tooltip.js +4 -0
  290. package/lib/map/client/mixins/globe/mixin.tooltip.js.map +1 -1
  291. package/lib/map/client/mixins/map/mixin.base-map.js +46 -7
  292. package/lib/map/client/mixins/map/mixin.base-map.js.map +1 -1
  293. package/lib/map/client/mixins/map/mixin.canvas-layers.js +2 -0
  294. package/lib/map/client/mixins/map/mixin.canvas-layers.js.map +1 -1
  295. package/lib/map/client/mixins/map/mixin.file-layers.js +47 -101
  296. package/lib/map/client/mixins/map/mixin.file-layers.js.map +1 -1
  297. package/lib/map/client/mixins/map/mixin.geojson-layers.js +9 -5
  298. package/lib/map/client/mixins/map/mixin.geojson-layers.js.map +1 -1
  299. package/lib/map/client/mixins/map/mixin.heatmap-layers.js +0 -4
  300. package/lib/map/client/mixins/map/mixin.heatmap-layers.js.map +1 -1
  301. package/lib/map/client/mixins/map/mixin.popup.js +4 -0
  302. package/lib/map/client/mixins/map/mixin.popup.js.map +1 -1
  303. package/lib/map/client/mixins/map/mixin.tooltip.js +4 -0
  304. package/lib/map/client/mixins/map/mixin.tooltip.js.map +1 -1
  305. package/lib/map/client/mixins/mixin.activity.js +2 -0
  306. package/lib/map/client/mixins/mixin.activity.js.map +1 -1
  307. package/lib/map/client/mixins/mixin.context.js +26 -3
  308. package/lib/map/client/mixins/mixin.context.js.map +1 -1
  309. package/lib/map/client/mixins/mixin.feature-service.js +4 -4
  310. package/lib/map/client/mixins/mixin.feature-service.js.map +1 -1
  311. package/lib/map/client/mixins/mixin.infobox.js +4 -0
  312. package/lib/map/client/mixins/mixin.infobox.js.map +1 -1
  313. package/lib/map/client/readers/index.js +42 -0
  314. package/lib/map/client/readers/index.js.map +1 -0
  315. package/lib/map/client/readers/reader.geojson.js +59 -0
  316. package/lib/map/client/readers/reader.geojson.js.map +1 -0
  317. package/lib/map/client/readers/reader.gpx.js +41 -0
  318. package/lib/map/client/readers/reader.gpx.js.map +1 -0
  319. package/lib/map/client/readers/reader.kml.js +41 -0
  320. package/lib/map/client/readers/reader.kml.js.map +1 -0
  321. package/lib/map/client/utils.js +2 -1
  322. package/lib/map/client/utils.js.map +1 -1
  323. package/lib/test/client/core/runner.js +1 -2
  324. package/lib/test/client/core/runner.js.map +1 -1
  325. package/lib/test/client/core/utils.js +58 -38
  326. package/lib/test/client/core/utils.js.map +1 -1
  327. package/lib/test/client/map/catalog.js +50 -49
  328. package/lib/test/client/map/catalog.js.map +1 -1
  329. package/package.json +3 -3
  330. package/.nyc_output/27204015-ebfd-456f-a3bb-6a94f71946b8.json +0 -1
  331. package/.nyc_output/d3d1fa81-57ca-4287-8fbe-96466b0e5aa1.json +0 -1
  332. package/.nyc_output/e921974a-3076-4e89-8dbf-6f37bef10583.json +0 -1
  333. package/.nyc_output/fb790367-ba9f-474f-84c1-f836caf9f50a.json +0 -1
  334. package/.nyc_output/processinfo/0f1a87aa-d3bb-4c61-8c1e-12294055358d.json +0 -1
  335. package/.nyc_output/processinfo/8be4cd9f-124a-41f9-80f4-f267ced63c86.json +0 -1
  336. package/.nyc_output/processinfo/a63b0924-fd09-4e30-974f-cb4be2243b66.json +0 -1
  337. package/.nyc_output/processinfo/d3d1fa81-57ca-4287-8fbe-96466b0e5aa1.json +0 -1
  338. package/.nyc_output/processinfo/e921974a-3076-4e89-8dbf-6f37bef10583.json +0 -1
  339. package/.nyc_output/processinfo/fb790367-ba9f-474f-84c1-f836caf9f50a.json +0 -1
  340. package/extras/testcafe/Dockerfile +0 -48
  341. package/extras/testcafe/docker-entrypoint.sh +0 -27
  342. package/extras/testcafe/page-models/core/account.js +0 -75
  343. package/extras/testcafe/page-models/core/base-collection.js +0 -41
  344. package/extras/testcafe/page-models/core/base-page.js +0 -25
  345. package/extras/testcafe/page-models/core/groups.js +0 -36
  346. package/extras/testcafe/page-models/core/index.js +0 -140
  347. package/extras/testcafe/page-models/core/layout.js +0 -145
  348. package/extras/testcafe/page-models/core/members.js +0 -98
  349. package/extras/testcafe/page-models/core/organisations.js +0 -76
  350. package/extras/testcafe/page-models/core/screens.js +0 -99
  351. package/extras/testcafe/page-models/core/tags.js +0 -21
  352. package/extras/testcafe/page-models/map/add-layer.js +0 -51
  353. package/extras/testcafe/page-models/map/catalog.js +0 -132
  354. package/extras/testcafe/page-models/map/index.js +0 -36
  355. package/extras/testcafe/page-models/map/map-activity.js +0 -42
  356. package/extras/testcafe/page-models/map/timeline.js +0 -67
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">58.33% </span>
26
+ <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>56/96</span>
28
+ <span class='fraction'>0/80</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">30.36% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>17/56</span>
35
+ <span class='fraction'>0/56</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">15.38% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/13</span>
42
+ <span class='fraction'>0/13</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">59.26% </span>
47
+ <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>48/81</span>
49
+ <span class='fraction'>0/65</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
57
  </div>
58
- <div class='status-line medium'></div>
58
+ <div class='status-line low'></div>
59
59
  <pre><table class="coverage">
60
60
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
61
  <a name='L2'></a><a href='#L2'>2</a>
@@ -212,25 +212,25 @@
212
212
  <a name='L153'></a><a href='#L153'>153</a>
213
213
  <a name='L154'></a><a href='#L154'>154</a>
214
214
  <a name='L155'></a><a href='#L155'>155</a>
215
- <a name='L156'></a><a href='#L156'>156</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
216
- <span class="cline-any cline-yes">1x</span>
217
- <span class="cline-any cline-yes">1x</span>
218
- <span class="cline-any cline-yes">1x</span>
219
- <span class="cline-any cline-yes">1x</span>
220
- <span class="cline-any cline-yes">1x</span>
221
- <span class="cline-any cline-yes">1x</span>
222
- <span class="cline-any cline-yes">1x</span>
223
- <span class="cline-any cline-yes">1x</span>
224
- <span class="cline-any cline-yes">1x</span>
225
- <span class="cline-any cline-yes">1x</span>
226
- <span class="cline-any cline-yes">1x</span>
227
- <span class="cline-any cline-yes">1x</span>
228
- <span class="cline-any cline-yes">1x</span>
229
- <span class="cline-any cline-yes">1x</span>
230
- <span class="cline-any cline-yes">1x</span>
215
+ <a name='L156'></a><a href='#L156'>156</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
231
216
  <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-yes">1x</span>
233
- <span class="cline-any cline-yes">1x</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
+ <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-no">&nbsp;</span>
233
+ <span class="cline-any cline-no">&nbsp;</span>
234
234
  <span class="cline-any cline-neutral">&nbsp;</span>
235
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
236
  <span class="cline-any cline-no">&nbsp;</span>
@@ -283,61 +283,61 @@
283
283
  <span class="cline-any cline-neutral">&nbsp;</span>
284
284
  <span class="cline-any cline-neutral">&nbsp;</span>
285
285
  <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-yes">5x</span>
287
- <span class="cline-any cline-yes">5x</span>
288
- <span class="cline-any cline-yes">5x</span>
289
- <span class="cline-any cline-yes">5x</span>
290
- <span class="cline-any cline-yes">5x</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-no">&nbsp;</span>
289
+ <span class="cline-any cline-no">&nbsp;</span>
290
+ <span class="cline-any cline-no">&nbsp;</span>
291
291
  <span class="cline-any cline-no">&nbsp;</span>
292
292
  <span class="cline-any cline-neutral">&nbsp;</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-yes">5x</span>
294
+ <span class="cline-any cline-no">&nbsp;</span>
295
295
  <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-yes">5x</span>
296
+ <span class="cline-any cline-no">&nbsp;</span>
297
297
  <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-yes">5x</span>
298
+ <span class="cline-any cline-no">&nbsp;</span>
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">16x</span>
301
- <span class="cline-any cline-yes">4x</span>
300
+ <span class="cline-any cline-no">&nbsp;</span>
301
+ <span class="cline-any cline-no">&nbsp;</span>
302
302
  <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-yes">4x</span>
304
- <span class="cline-any cline-yes">4x</span>
305
- <span class="cline-any cline-yes">4x</span>
306
- <span class="cline-any cline-yes">4x</span>
307
- <span class="cline-any cline-yes">4x</span>
308
- <span class="cline-any cline-yes">4x</span>
309
- <span class="cline-any cline-yes">4x</span>
310
- <span class="cline-any cline-yes">4x</span>
311
- <span class="cline-any cline-yes">4x</span>
303
+ <span class="cline-any cline-no">&nbsp;</span>
304
+ <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-no">&nbsp;</span>
306
+ <span class="cline-any cline-no">&nbsp;</span>
307
+ <span class="cline-any cline-no">&nbsp;</span>
308
+ <span class="cline-any cline-no">&nbsp;</span>
309
+ <span class="cline-any cline-no">&nbsp;</span>
310
+ <span class="cline-any cline-no">&nbsp;</span>
311
+ <span class="cline-any cline-no">&nbsp;</span>
312
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-yes">4x</span>
313
+ <span class="cline-any cline-no">&nbsp;</span>
314
314
  <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-yes">4x</span>
316
- <span class="cline-any cline-yes">4x</span>
315
+ <span class="cline-any cline-no">&nbsp;</span>
316
+ <span class="cline-any cline-no">&nbsp;</span>
317
317
  <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-yes">4x</span>
318
+ <span class="cline-any cline-no">&nbsp;</span>
319
319
  <span class="cline-any cline-neutral">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-yes">5x</span>
323
- <span class="cline-any cline-yes">5x</span>
324
- <span class="cline-any cline-yes">5x</span>
325
- <span class="cline-any cline-yes">5x</span>
322
+ <span class="cline-any cline-no">&nbsp;</span>
323
+ <span class="cline-any cline-no">&nbsp;</span>
324
+ <span class="cline-any cline-no">&nbsp;</span>
325
+ <span class="cline-any cline-no">&nbsp;</span>
326
326
  <span class="cline-any cline-no">&nbsp;</span>
327
327
  <span class="cline-any cline-no">&nbsp;</span>
328
328
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-yes">5x</span>
329
+ <span class="cline-any cline-no">&nbsp;</span>
330
330
  <span class="cline-any cline-no">&nbsp;</span>
331
331
  <span class="cline-any cline-no">&nbsp;</span>
332
332
  <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-yes">5x</span>
333
+ <span class="cline-any cline-no">&nbsp;</span>
334
334
  <span class="cline-any cline-no">&nbsp;</span>
335
335
  <span class="cline-any cline-no">&nbsp;</span>
336
336
  <span class="cline-any cline-neutral">&nbsp;</span>
337
337
  <span class="cline-any cline-neutral">&nbsp;</span>
338
338
  <span class="cline-any cline-neutral">&nbsp;</span>
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-yes">5x</span>
340
+ <span class="cline-any cline-no">&nbsp;</span>
341
341
  <span class="cline-any cline-neutral">&nbsp;</span>
342
342
  <span class="cline-any cline-neutral">&nbsp;</span>
343
343
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -384,30 +384,30 @@ import OAuth2Verifier from './oauth2-verifier'
384
384
  import OAuth2Handler from './oauth2-handler'
385
385
  import PasswordValidator from 'password-validator'
386
386
  &nbsp;
387
- const debug = makeDebug('kdk:core:authentication')
388
- const debugLimiter = makeDebug('kdk:core:authentication:limiter')
387
+ const debug = <span class="cstat-no" title="statement not covered" >makeDebug('kdk:core:authentication')</span>
388
+ const debugLimiter = <span class="cstat-no" title="statement not covered" >makeDebug('kdk:core:authentication:limiter')</span>
389
389
  &nbsp;
390
- function <span class="fstat-no" title="function not covered" >tooManyRequests (s</span>ocket, message, key) {
391
- <span class="cstat-no" title="statement not covered" > debug(m</span>essage)
392
- const error = <span class="cstat-no" title="statement not covered" >new T</span>ooManyRequests(message, { translation: { key } })
393
- <span class="cstat-no" title="statement not covered" > socket.e</span>mit('rate-limit', error)
390
+ function <span class="fstat-no" title="function not covered" >tooManyRequests </span>(socket, message, key) {
391
+ <span class="cstat-no" title="statement not covered" > debug(message)</span>
392
+ const error = <span class="cstat-no" title="statement not covered" >new TooManyRequests(message, { translation: { key } })</span>
393
+ <span class="cstat-no" title="statement not covered" > socket.emit('rate-limit', error)</span>
394
394
  // Add a timeout so that error message is correctly handled
395
- <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >(</span>) =&gt; <span class="cstat-no" title="statement not covered" >s</span>ocket.d</span>isconnect(true), 3000)
395
+ <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >socket.disconnect(true),</span> 3000)</span>
396
396
  }
397
397
  &nbsp;
398
- function <span class="fstat-no" title="function not covered" >addOAuth2Client (a</span>pp, name, clientConfig) {
399
- const config = <span class="cstat-no" title="statement not covered" >app.g</span>et('authentication')
398
+ function <span class="fstat-no" title="function not covered" >addOAuth2Client </span>(app, name, clientConfig) {
399
+ const config = <span class="cstat-no" title="statement not covered" >app.get('authentication')</span>
400
400
  // Feathers expect each client config to be a key in the globel app config
401
401
  // However on our side we manage an array of config by provider
402
402
  // so that we update config in place to reflect this setup in Feathers
403
- <span class="cstat-no" title="statement not covered" > if (!config[name]) <span class="cstat-no" title="statement not covered" >config[n</span></span>ame] = clientConfig
404
- <span class="cstat-no" title="statement not covered" > app.a</span>uthenticationProviders.push(name)
403
+ <span class="cstat-no" title="statement not covered" > if (!config[name]) <span class="cstat-no" title="statement not covered" >config[name] = clientConfig</span></span>
404
+ <span class="cstat-no" title="statement not covered" > app.authenticationProviders.push(name)</span>
405
405
  }
406
406
  &nbsp;
407
- function <span class="fstat-no" title="function not covered" >addGithubOAuth2Client (a</span>pp, clientConfig) {
407
+ function <span class="fstat-no" title="function not covered" >addGithubOAuth2Client </span>(app, clientConfig) {
408
408
  const name = <span class="cstat-no" title="statement not covered" >clientConfig.name || 'github'</span>
409
- <span class="cstat-no" title="statement not covered" > addOAuth2Client(a</span>pp, name, clientConfig)
410
- <span class="cstat-no" title="statement not covered" > app.c</span>onfigure(oauth2({
409
+ <span class="cstat-no" title="statement not covered" > addOAuth2Client(app, name, clientConfig)</span>
410
+ <span class="cstat-no" title="statement not covered" > app.configure(oauth2({</span>
411
411
  name,
412
412
  Strategy: GithubStrategy,
413
413
  Verifier: OAuth2Verifier,
@@ -415,10 +415,10 @@ function <span class="fstat-no" title="function not covered" >addGithubOAuth2Cli
415
415
  }))
416
416
  }
417
417
  &nbsp;
418
- function <span class="fstat-no" title="function not covered" >addGoogleOAuth2Client (a</span>pp, clientConfig) {
418
+ function <span class="fstat-no" title="function not covered" >addGoogleOAuth2Client </span>(app, clientConfig) {
419
419
  const name = <span class="cstat-no" title="statement not covered" >clientConfig.name || 'google'</span>
420
- <span class="cstat-no" title="statement not covered" > addOAuth2Client(a</span>pp, name, clientConfig)
421
- <span class="cstat-no" title="statement not covered" > app.c</span>onfigure(oauth2({
420
+ <span class="cstat-no" title="statement not covered" > addOAuth2Client(app, name, clientConfig)</span>
421
+ <span class="cstat-no" title="statement not covered" > app.configure(oauth2({</span>
422
422
  name,
423
423
  Strategy: GoogleStrategy,
424
424
  Verifier: OAuth2Verifier,
@@ -426,10 +426,10 @@ function <span class="fstat-no" title="function not covered" >addGoogleOAuth2Cli
426
426
  }))
427
427
  }
428
428
  &nbsp;
429
- function <span class="fstat-no" title="function not covered" >addCognitoOAuth2Client (a</span>pp, clientConfig) {
429
+ function <span class="fstat-no" title="function not covered" >addCognitoOAuth2Client </span>(app, clientConfig) {
430
430
  const name = <span class="cstat-no" title="statement not covered" >clientConfig.name || 'cognito'</span>
431
- <span class="cstat-no" title="statement not covered" > addOAuth2Client(a</span>pp, name, clientConfig)
432
- <span class="cstat-no" title="statement not covered" > app.c</span>onfigure(oauth2({
431
+ <span class="cstat-no" title="statement not covered" > addOAuth2Client(app, name, clientConfig)</span>
432
+ <span class="cstat-no" title="statement not covered" > app.configure(oauth2({</span>
433
433
  name,
434
434
  Strategy: CognitoStrategy,
435
435
  Verifier: OAuth2Verifier,
@@ -437,62 +437,62 @@ function <span class="fstat-no" title="function not covered" >addCognitoOAuth2Cl
437
437
  }))
438
438
  }
439
439
  &nbsp;
440
- export default function auth () {
441
- const app = this
442
- const config = app.get('authentication')
443
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!config) <span class="cstat-no" title="statement not covered" >return</span>
444
- const limiter = config.limiter
445
- <span class="missing-if-branch" title="if path not taken" >I</span>if (limiter &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >limiter.http) {</span>
446
- <span class="cstat-no" title="statement not covered" > app.u</span>se(config.path, new HttpLimiter(limiter.http))
440
+ export default function <span class="fstat-no" title="function not covered" >auth </span>() {
441
+ const app = <span class="cstat-no" title="statement not covered" >this</span>
442
+ const config = <span class="cstat-no" title="statement not covered" >app.get('authentication')</span>
443
+ <span class="cstat-no" title="statement not covered" > if (!config) <span class="cstat-no" title="statement not covered" >return</span></span>
444
+ const limiter = <span class="cstat-no" title="statement not covered" >config.limiter</span>
445
+ <span class="cstat-no" title="statement not covered" > if (limiter &amp;&amp; limiter.http) {</span>
446
+ <span class="cstat-no" title="statement not covered" > app.use(config.path, new HttpLimiter(limiter.http))</span>
447
447
  }
448
448
  // Store availalbe OAuth2 providers
449
- app.authenticationProviders = []
449
+ <span class="cstat-no" title="statement not covered" > app.authenticationProviders = []</span>
450
450
  // Get access to password validator if a policy is defined
451
- <span class="missing-if-branch" title="else path not taken" >E</span>if (config.passwordPolicy) {
451
+ <span class="cstat-no" title="statement not covered" > if (config.passwordPolicy) {</span>
452
452
  let validator
453
- app.getPasswordPolicy = function () {
453
+ <span class="cstat-no" title="statement not covered" > app.getPasswordPolicy = <span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
454
454
  // Create on first access, should not be done outside a function because the app has not yet been correctly initialized
455
- if (validator) return validator
456
- const { minLength, maxLength, uppercase, lowercase, digits, symbols, noSpaces, prohibited } = config.passwordPolicy
455
+ <span class="cstat-no" title="statement not covered" > if (validator) <span class="cstat-no" title="statement not covered" >return validator</span></span>
456
+ const { minLength, maxLength, uppercase, lowercase, digits, symbols, noSpaces, prohibited } = <span class="cstat-no" title="statement not covered" >config.passwordPolicy</span>
457
457
  &nbsp;
458
- validator = new PasswordValidator()
459
- <span class="missing-if-branch" title="else path not taken" >E</span>if (minLength) validator.is().min(minLength)
460
- <span class="missing-if-branch" title="else path not taken" >E</span>if (maxLength) validator.is().max(maxLength)
461
- <span class="missing-if-branch" title="else path not taken" >E</span>if (uppercase) validator.has().uppercase()
462
- <span class="missing-if-branch" title="else path not taken" >E</span>if (lowercase) validator.has().lowercase()
463
- <span class="missing-if-branch" title="else path not taken" >E</span>if (digits) validator.has().digits()
464
- <span class="missing-if-branch" title="else path not taken" >E</span>if (symbols) validator.has().symbols()
465
- <span class="missing-if-branch" title="if path not taken" >I</span>if (noSpaces) <span class="cstat-no" title="statement not covered" >validator.n</span>ot().spaces()
466
- <span class="missing-if-branch" title="else path not taken" >E</span>if (prohibited) validator.is().not().oneOf(prohibited)
458
+ <span class="cstat-no" title="statement not covered" > validator = new PasswordValidator()</span>
459
+ <span class="cstat-no" title="statement not covered" > if (minLength) <span class="cstat-no" title="statement not covered" >validator.is().min(minLength)</span></span>
460
+ <span class="cstat-no" title="statement not covered" > if (maxLength) <span class="cstat-no" title="statement not covered" >validator.is().max(maxLength)</span></span>
461
+ <span class="cstat-no" title="statement not covered" > if (uppercase) <span class="cstat-no" title="statement not covered" >validator.has().uppercase()</span></span>
462
+ <span class="cstat-no" title="statement not covered" > if (lowercase) <span class="cstat-no" title="statement not covered" >validator.has().lowercase()</span></span>
463
+ <span class="cstat-no" title="statement not covered" > if (digits) <span class="cstat-no" title="statement not covered" >validator.has().digits()</span></span>
464
+ <span class="cstat-no" title="statement not covered" > if (symbols) <span class="cstat-no" title="statement not covered" >validator.has().symbols()</span></span>
465
+ <span class="cstat-no" title="statement not covered" > if (noSpaces) <span class="cstat-no" title="statement not covered" >validator.not().spaces()</span></span>
466
+ <span class="cstat-no" title="statement not covered" > if (prohibited) <span class="cstat-no" title="statement not covered" >validator.is().not().oneOf(prohibited)</span></span>
467
467
  // Add util functions/options to compare with previous passwords stored in history when required
468
- const verifier = new local.Verifier(app, _.merge({ usernameField: 'email', passwordField: 'password' },
468
+ const verifier = <span class="cstat-no" title="statement not covered" >new local.Verifier(app, _.merge({ usernameField: 'email', passwordField: 'password' },</span>
469
469
  _.pick(config, ['service']), config.local))
470
- validator.comparePassword = verifier._comparePassword
471
- validator.options = config.passwordPolicy
470
+ <span class="cstat-no" title="statement not covered" > validator.comparePassword = verifier._comparePassword</span>
471
+ <span class="cstat-no" title="statement not covered" > validator.options = config.passwordPolicy</span>
472
472
  &nbsp;
473
- return validator
473
+ <span class="cstat-no" title="statement not covered" > return validator</span>
474
474
  }
475
475
  }
476
476
  // Set up authentication with the secret
477
- app.configure(authentication(config))
478
- app.configure(jwt())
479
- app.configure(local())
480
- <span class="missing-if-branch" title="if path not taken" >I</span>if (config.github) {
477
+ <span class="cstat-no" title="statement not covered" > app.configure(authentication(config))</span>
478
+ <span class="cstat-no" title="statement not covered" > app.configure(jwt())</span>
479
+ <span class="cstat-no" title="statement not covered" > app.configure(local())</span>
480
+ <span class="cstat-no" title="statement not covered" > if (config.github) {</span>
481
481
  const githubClients = (<span class="cstat-no" title="statement not covered" >!Array.isArray(config.github) ? [config.github] : config.github)</span>
482
- <span class="cstat-no" title="statement not covered" > githubClients.f</span>orEach(<span class="fstat-no" title="function not covered" >config =&gt; <span class="cstat-no" title="statement not covered" >a</span>ddGithubOAuth2Client(a</span>pp, config))
482
+ <span class="cstat-no" title="statement not covered" > githubClients.forEach(<span class="fstat-no" title="function not covered" >co</span>nfig =&gt; <span class="cstat-no" title="statement not covered" >addGithubOAuth2Client(app, config))</span></span>
483
483
  }
484
- <span class="missing-if-branch" title="if path not taken" >I</span>if (config.google) {
484
+ <span class="cstat-no" title="statement not covered" > if (config.google) {</span>
485
485
  const googleClients = (<span class="cstat-no" title="statement not covered" >!Array.isArray(config.google) ? [config.google] : config.google)</span>
486
- <span class="cstat-no" title="statement not covered" > googleClients.f</span>orEach(<span class="fstat-no" title="function not covered" >config =&gt; <span class="cstat-no" title="statement not covered" >a</span>ddGoogleOAuth2Client(a</span>pp, config))
486
+ <span class="cstat-no" title="statement not covered" > googleClients.forEach(<span class="fstat-no" title="function not covered" >co</span>nfig =&gt; <span class="cstat-no" title="statement not covered" >addGoogleOAuth2Client(app, config))</span></span>
487
487
  }
488
- <span class="missing-if-branch" title="if path not taken" >I</span>if (config.cognito) {
488
+ <span class="cstat-no" title="statement not covered" > if (config.cognito) {</span>
489
489
  const cognitoClients = (<span class="cstat-no" title="statement not covered" >!Array.isArray(config.cognito) ? [config.cognito] : config.cognito)</span>
490
- <span class="cstat-no" title="statement not covered" > cognitoClients.f</span>orEach(<span class="fstat-no" title="function not covered" >config =&gt; <span class="cstat-no" title="statement not covered" >a</span>ddCognitoOAuth2Client(a</span>pp, config))
490
+ <span class="cstat-no" title="statement not covered" > cognitoClients.forEach(<span class="fstat-no" title="function not covered" >co</span>nfig =&gt; <span class="cstat-no" title="statement not covered" >addCognitoOAuth2Client(app, config))</span></span>
491
491
  }
492
492
  // The `authentication` service is used to create a JWT.
493
493
  // The before `create` hook registers strategies that can be used
494
494
  // to create a new valid JWT (e.g. local or oauth2)
495
- app.getService('authentication').hooks({
495
+ <span class="cstat-no" title="statement not covered" > app.getService('authentication').hooks({</span>
496
496
  before: {
497
497
  create: [
498
498
  authentication.hooks.authenticate(config.strategies)
@@ -504,19 +504,19 @@ export default function auth () {
504
504
  })
505
505
  }
506
506
  &nbsp;
507
- export function <span class="fstat-no" title="function not covered" >authSocket (a</span>pp, socket) {
508
- const authConfig = <span class="cstat-no" title="statement not covered" >app.g</span>et('authentication')
507
+ export function <span class="fstat-no" title="function not covered" >authSocket </span>(app, socket) {
508
+ const authConfig = <span class="cstat-no" title="statement not covered" >app.get('authentication')</span>
509
509
  const authLimiter = (<span class="cstat-no" title="statement not covered" >authConfig ? authConfig.limiter : null)</span>
510
510
  &nbsp;
511
511
  <span class="cstat-no" title="statement not covered" > if (authLimiter &amp;&amp; authLimiter.websocket) {</span>
512
512
  const { tokensPerInterval, interval } = <span class="cstat-no" title="statement not covered" >authLimiter.websocket</span>
513
- <span class="cstat-no" title="statement not covered" > socket.a</span>uthSocketLimiter = new SocketLimiter(tokensPerInterval, interval)
514
- <span class="cstat-no" title="statement not covered" > socket.o</span>n('authenticate', (<span class="fstat-no" title="function not covered" >data) =&gt; {</span>
513
+ <span class="cstat-no" title="statement not covered" > socket.authSocketLimiter = new SocketLimiter(tokensPerInterval, interval)</span>
514
+ <span class="cstat-no" title="statement not covered" > socket.on('authenticate', <span class="fstat-no" title="function not covered" >(d</span>ata) =&gt; {</span>
515
515
  // We only limit password guessing
516
516
  <span class="cstat-no" title="statement not covered" > if (data.strategy === 'local') {</span>
517
- <span class="cstat-no" title="statement not covered" > debugLimiter(s</span>ocket.authSocketLimiter.getTokensRemaining() + ' remaining authentication token for socket', socket.id, socket.conn.remoteAddress)
517
+ <span class="cstat-no" title="statement not covered" > debugLimiter(socket.authSocketLimiter.getTokensRemaining() + ' remaining authentication token for socket', socket.id, socket.conn.remoteAddress)</span>
518
518
  <span class="cstat-no" title="statement not covered" > if (!socket.authSocketLimiter.tryRemoveTokens(1)) { // if exceeded</span>
519
- <span class="cstat-no" title="statement not covered" > tooManyRequests(s</span>ocket, 'Too many authentication requests in a given amount of time (rate limiting)', 'RATE_LIMITING_AUTHENTICATION')
519
+ <span class="cstat-no" title="statement not covered" > tooManyRequests(socket, 'Too many authentication requests in a given amount of time (rate limiting)', 'RATE_LIMITING_AUTHENTICATION')</span>
520
520
  }
521
521
  }
522
522
  })
@@ -529,7 +529,7 @@ export function <span class="fstat-no" title="function not covered" >authSocket
529
529
  <div class='footer quiet pad2 space-top1 center small'>
530
530
  Code coverage generated by
531
531
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
532
- at Fri Sep 24 2021 10:39:04 GMT+0200 (GMT+02:00)
532
+ at Fri Jan 07 2022 19:29:57 GMT+0100 (GMT+01:00)
533
533
  </div>
534
534
  </div>
535
535
  <script src="../../prettify.js"></script>