@kalisio/kdk 1.4.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/.nyc_output/02a7a308-a8d7-4cc6-8e61-6066a0055a96.json +1 -0
  2. package/.nyc_output/1900d596-5e87-433a-8fd6-fb7f7ded35ec.json +1 -0
  3. package/.nyc_output/{2e74ca23-8cf0-4161-9536-f71c2a1a74bb.json → 27401f21-8ccf-42fa-8230-4232189d86b3.json} +0 -0
  4. package/.nyc_output/{81d21e46-766a-46bc-b1b7-143ca577347a.json → 52278ef5-c337-4724-97be-e2e4416847c5.json} +0 -0
  5. package/.nyc_output/{aaf3ebbb-f895-4d7b-9255-bc5dee832570.json → 5dd49b8a-4c84-42f9-a3d5-712247a84775.json} +0 -0
  6. package/.nyc_output/{dbeb2602-0ac2-4e66-978b-0d29548359ca.json → 612b4859-9645-45c1-a41e-1fae420518c4.json} +0 -0
  7. package/.nyc_output/{e47d1e4c-2fff-4dcb-908f-d3081162547c.json → bab87fe9-d99a-4759-99e6-3fc4622eeca0.json} +0 -0
  8. package/.nyc_output/processinfo/02a7a308-a8d7-4cc6-8e61-6066a0055a96.json +1 -0
  9. package/.nyc_output/processinfo/1900d596-5e87-433a-8fd6-fb7f7ded35ec.json +1 -0
  10. package/.nyc_output/processinfo/27401f21-8ccf-42fa-8230-4232189d86b3.json +1 -0
  11. package/.nyc_output/processinfo/52278ef5-c337-4724-97be-e2e4416847c5.json +1 -0
  12. package/.nyc_output/processinfo/5dd49b8a-4c84-42f9-a3d5-712247a84775.json +1 -0
  13. package/.nyc_output/processinfo/612b4859-9645-45c1-a41e-1fae420518c4.json +1 -0
  14. package/.nyc_output/processinfo/bab87fe9-d99a-4759-99e6-3fc4622eeca0.json +1 -0
  15. package/.nyc_output/processinfo/index.json +1 -1
  16. package/CHANGELOG.md +69 -10
  17. package/coverage/core/api/application.js.html +500 -422
  18. package/coverage/core/api/authentication.js.html +119 -119
  19. package/coverage/core/api/db.js.html +172 -172
  20. package/coverage/core/api/hooks/hooks.account.js.html +45 -45
  21. package/coverage/core/api/hooks/hooks.authentication.js.html +71 -71
  22. package/coverage/core/api/hooks/hooks.authorisations.js.html +368 -353
  23. package/coverage/core/api/hooks/hooks.devices.js.html +49 -49
  24. package/coverage/core/api/hooks/hooks.groups.js.html +37 -37
  25. package/coverage/core/api/hooks/hooks.logger.js.html +27 -27
  26. package/coverage/core/api/hooks/hooks.model.js.html +269 -269
  27. package/coverage/core/api/hooks/hooks.organisations.js.html +190 -190
  28. package/coverage/core/api/hooks/hooks.pusher.js.html +114 -114
  29. package/coverage/core/api/hooks/hooks.query.js.html +277 -211
  30. package/coverage/core/api/hooks/hooks.service.js.html +82 -82
  31. package/coverage/core/api/hooks/hooks.storage.js.html +121 -121
  32. package/coverage/core/api/hooks/hooks.tags.js.html +232 -232
  33. package/coverage/core/api/hooks/hooks.users.js.html +263 -263
  34. package/coverage/core/api/hooks/index.html +172 -172
  35. package/coverage/core/api/hooks/index.js.html +24 -24
  36. package/coverage/core/api/index.html +76 -76
  37. package/coverage/core/api/index.js.html +30 -30
  38. package/coverage/core/api/marshall.js.html +57 -57
  39. package/coverage/core/api/models/groups.model.mongodb.js.html +20 -20
  40. package/coverage/core/api/models/index.html +50 -50
  41. package/coverage/core/api/models/organisations.model.mongodb.js.html +12 -12
  42. package/coverage/core/api/models/tags.model.mongodb.js.html +22 -22
  43. package/coverage/core/api/models/users.model.mongodb.js.html +20 -20
  44. package/coverage/core/api/oauth2-handler.js.html +18 -18
  45. package/coverage/core/api/oauth2-verifier.js.html +38 -38
  46. package/coverage/core/api/services/account/account.hooks.js.html +16 -16
  47. package/coverage/core/api/services/account/account.service.js.html +104 -104
  48. package/coverage/core/api/services/account/index.html +32 -32
  49. package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +9 -9
  50. package/coverage/core/api/services/authorisations/authorisations.service.js.html +156 -132
  51. package/coverage/core/api/services/authorisations/index.html +28 -28
  52. package/coverage/core/api/services/databases/databases.hooks.js.html +9 -9
  53. package/coverage/core/api/services/databases/databases.service.js.html +12 -12
  54. package/coverage/core/api/services/databases/index.html +24 -24
  55. package/coverage/core/api/services/devices/devices.hooks.js.html +9 -9
  56. package/coverage/core/api/services/devices/devices.service.js.html +121 -121
  57. package/coverage/core/api/services/devices/index.html +28 -28
  58. package/coverage/core/api/services/groups/groups.hooks.js.html +9 -9
  59. package/coverage/core/api/services/groups/index.html +13 -13
  60. package/coverage/core/api/services/index.html +21 -21
  61. package/coverage/core/api/services/index.js.html +118 -118
  62. package/coverage/core/api/services/mailer/index.html +24 -24
  63. package/coverage/core/api/services/mailer/mailer.hooks.js.html +9 -9
  64. package/coverage/core/api/services/mailer/mailer.service.js.html +19 -19
  65. package/coverage/core/api/services/organisations/index.html +24 -24
  66. package/coverage/core/api/services/organisations/organisations.hooks.js.html +8 -8
  67. package/coverage/core/api/services/organisations/organisations.service.js.html +67 -67
  68. package/coverage/core/api/services/pusher/index.html +34 -34
  69. package/coverage/core/api/services/pusher/pusher.channels.js.html +8 -8
  70. package/coverage/core/api/services/pusher/pusher.hooks.js.html +10 -10
  71. package/coverage/core/api/services/pusher/pusher.service.js.html +414 -414
  72. package/coverage/core/api/services/storage/index.html +21 -21
  73. package/coverage/core/api/services/storage/storage.hooks.js.html +35 -35
  74. package/coverage/core/api/services/tags/index.html +21 -21
  75. package/coverage/core/api/services/tags/tags.hooks.js.html +25 -25
  76. package/coverage/core/api/services/users/index.html +21 -21
  77. package/coverage/core/api/services/users/users.hooks.js.html +33 -33
  78. package/coverage/core/common/errors.js.html +1 -1
  79. package/coverage/core/common/index.html +42 -27
  80. package/coverage/core/common/index.js.html +16 -16
  81. package/coverage/core/common/permissions.js.html +320 -290
  82. package/coverage/index.html +181 -181
  83. package/coverage/lcov-report/core/api/application.js.html +500 -422
  84. package/coverage/lcov-report/core/api/authentication.js.html +119 -119
  85. package/coverage/lcov-report/core/api/db.js.html +172 -172
  86. package/coverage/lcov-report/core/api/hooks/hooks.account.js.html +45 -45
  87. package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +71 -71
  88. package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +368 -353
  89. package/coverage/lcov-report/core/api/hooks/hooks.devices.js.html +49 -49
  90. package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +37 -37
  91. package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +27 -27
  92. package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +269 -269
  93. package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +190 -190
  94. package/coverage/lcov-report/core/api/hooks/hooks.pusher.js.html +114 -114
  95. package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +277 -211
  96. package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +82 -82
  97. package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +121 -121
  98. package/coverage/lcov-report/core/api/hooks/hooks.tags.js.html +232 -232
  99. package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +263 -263
  100. package/coverage/lcov-report/core/api/hooks/index.html +172 -172
  101. package/coverage/lcov-report/core/api/hooks/index.js.html +24 -24
  102. package/coverage/lcov-report/core/api/index.html +76 -76
  103. package/coverage/lcov-report/core/api/index.js.html +30 -30
  104. package/coverage/lcov-report/core/api/marshall.js.html +57 -57
  105. package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +20 -20
  106. package/coverage/lcov-report/core/api/models/index.html +50 -50
  107. package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +12 -12
  108. package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +22 -22
  109. package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +20 -20
  110. package/coverage/lcov-report/core/api/oauth2-handler.js.html +18 -18
  111. package/coverage/lcov-report/core/api/oauth2-verifier.js.html +38 -38
  112. package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +16 -16
  113. package/coverage/lcov-report/core/api/services/account/account.service.js.html +104 -104
  114. package/coverage/lcov-report/core/api/services/account/index.html +32 -32
  115. package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +9 -9
  116. package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +156 -132
  117. package/coverage/lcov-report/core/api/services/authorisations/index.html +28 -28
  118. package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +9 -9
  119. package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +12 -12
  120. package/coverage/lcov-report/core/api/services/databases/index.html +24 -24
  121. package/coverage/lcov-report/core/api/services/devices/devices.hooks.js.html +9 -9
  122. package/coverage/lcov-report/core/api/services/devices/devices.service.js.html +121 -121
  123. package/coverage/lcov-report/core/api/services/devices/index.html +28 -28
  124. package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +9 -9
  125. package/coverage/lcov-report/core/api/services/groups/index.html +13 -13
  126. package/coverage/lcov-report/core/api/services/index.html +21 -21
  127. package/coverage/lcov-report/core/api/services/index.js.html +118 -118
  128. package/coverage/lcov-report/core/api/services/mailer/index.html +24 -24
  129. package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +9 -9
  130. package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +19 -19
  131. package/coverage/lcov-report/core/api/services/organisations/index.html +24 -24
  132. package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +8 -8
  133. package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +67 -67
  134. package/coverage/lcov-report/core/api/services/pusher/index.html +34 -34
  135. package/coverage/lcov-report/core/api/services/pusher/pusher.channels.js.html +8 -8
  136. package/coverage/lcov-report/core/api/services/pusher/pusher.hooks.js.html +10 -10
  137. package/coverage/lcov-report/core/api/services/pusher/pusher.service.js.html +414 -414
  138. package/coverage/lcov-report/core/api/services/storage/index.html +21 -21
  139. package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +35 -35
  140. package/coverage/lcov-report/core/api/services/tags/index.html +21 -21
  141. package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +25 -25
  142. package/coverage/lcov-report/core/api/services/users/index.html +21 -21
  143. package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +33 -33
  144. package/coverage/lcov-report/core/common/errors.js.html +1 -1
  145. package/coverage/lcov-report/core/common/index.html +42 -27
  146. package/coverage/lcov-report/core/common/index.js.html +16 -16
  147. package/coverage/lcov-report/core/common/permissions.js.html +320 -290
  148. package/coverage/lcov-report/index.html +181 -181
  149. package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +1 -1
  150. package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +25 -7
  151. package/coverage/lcov-report/map/api/hooks/index.html +7 -7
  152. package/coverage/lcov-report/map/api/hooks/index.js.html +1 -1
  153. package/coverage/lcov-report/map/api/index.html +1 -1
  154. package/coverage/lcov-report/map/api/index.js.html +1 -1
  155. package/coverage/lcov-report/map/api/marshall.js.html +1 -1
  156. package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +1 -1
  157. package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +1 -1
  158. package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +14 -5
  159. package/coverage/lcov-report/map/api/models/index.html +7 -7
  160. package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +1 -1
  161. package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +1 -1
  162. package/coverage/lcov-report/map/api/services/alerts/index.html +1 -1
  163. package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +1 -1
  164. package/coverage/lcov-report/map/api/services/catalog/index.html +1 -1
  165. package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
  166. package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
  167. package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +1 -1
  168. package/coverage/lcov-report/map/api/services/features/index.html +1 -1
  169. package/coverage/lcov-report/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
  170. package/coverage/lcov-report/map/api/services/geocoder/geocoder.service.js.html +1 -1
  171. package/coverage/lcov-report/map/api/services/geocoder/index.html +1 -1
  172. package/coverage/lcov-report/map/api/services/index.html +1 -1
  173. package/coverage/lcov-report/map/api/services/index.js.html +1 -1
  174. package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +1 -1
  175. package/coverage/lcov-report/map/common/errors.js.html +1 -1
  176. package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +1 -1
  177. package/coverage/lcov-report/map/common/grid.js.html +1 -1
  178. package/coverage/lcov-report/map/common/index.html +1 -1
  179. package/coverage/lcov-report/map/common/index.js.html +1 -1
  180. package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +1 -1
  181. package/coverage/lcov-report/map/common/moment-utils.js.html +1 -1
  182. package/coverage/lcov-report/map/common/opendap-grid-source.js.html +1 -1
  183. package/coverage/lcov-report/map/common/opendap-utils.js.html +1 -1
  184. package/coverage/lcov-report/map/common/permissions.js.html +1 -1
  185. package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
  186. package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
  187. package/coverage/lcov-report/map/common/wcs-grid-source.js.html +1 -1
  188. package/coverage/lcov-report/map/common/wcs-utils.js.html +1 -1
  189. package/coverage/lcov-report/map/common/weacast-grid-source.js.html +1 -1
  190. package/coverage/lcov-report/map/common/wfs-utils.js.html +1 -1
  191. package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
  192. package/coverage/lcov-report/map/common/wmts-utils.js.html +1 -1
  193. package/coverage/lcov.info +3683 -3825
  194. package/coverage/map/api/hooks/hooks.catalog.js.html +1 -1
  195. package/coverage/map/api/hooks/hooks.query.js.html +25 -7
  196. package/coverage/map/api/hooks/index.html +7 -7
  197. package/coverage/map/api/hooks/index.js.html +1 -1
  198. package/coverage/map/api/index.html +1 -1
  199. package/coverage/map/api/index.js.html +1 -1
  200. package/coverage/map/api/marshall.js.html +1 -1
  201. package/coverage/map/api/models/alerts.model.mongodb.js.html +1 -1
  202. package/coverage/map/api/models/catalog.model.mongodb.js.html +1 -1
  203. package/coverage/map/api/models/features.model.mongodb.js.html +14 -5
  204. package/coverage/map/api/models/index.html +7 -7
  205. package/coverage/map/api/services/alerts/alerts.hooks.js.html +1 -1
  206. package/coverage/map/api/services/alerts/alerts.service.js.html +1 -1
  207. package/coverage/map/api/services/alerts/index.html +1 -1
  208. package/coverage/map/api/services/catalog/catalog.hooks.js.html +1 -1
  209. package/coverage/map/api/services/catalog/index.html +1 -1
  210. package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
  211. package/coverage/map/api/services/daptiles/index.html +1 -1
  212. package/coverage/map/api/services/features/features.hooks.js.html +1 -1
  213. package/coverage/map/api/services/features/index.html +1 -1
  214. package/coverage/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
  215. package/coverage/map/api/services/geocoder/geocoder.service.js.html +1 -1
  216. package/coverage/map/api/services/geocoder/index.html +1 -1
  217. package/coverage/map/api/services/index.html +1 -1
  218. package/coverage/map/api/services/index.js.html +1 -1
  219. package/coverage/map/common/dynamic-grid-source.js.html +1 -1
  220. package/coverage/map/common/errors.js.html +1 -1
  221. package/coverage/map/common/geotiff-grid-source.js.html +1 -1
  222. package/coverage/map/common/grid.js.html +1 -1
  223. package/coverage/map/common/index.html +1 -1
  224. package/coverage/map/common/index.js.html +1 -1
  225. package/coverage/map/common/meteo-model-grid-source.js.html +1 -1
  226. package/coverage/map/common/moment-utils.js.html +1 -1
  227. package/coverage/map/common/opendap-grid-source.js.html +1 -1
  228. package/coverage/map/common/opendap-utils.js.html +1 -1
  229. package/coverage/map/common/permissions.js.html +1 -1
  230. package/coverage/map/common/time-based-grid-source.js.html +1 -1
  231. package/coverage/map/common/tms-utils.js.html +1 -1
  232. package/coverage/map/common/wcs-grid-source.js.html +1 -1
  233. package/coverage/map/common/wcs-utils.js.html +1 -1
  234. package/coverage/map/common/weacast-grid-source.js.html +1 -1
  235. package/coverage/map/common/wfs-utils.js.html +1 -1
  236. package/coverage/map/common/wms-utils.js.html +1 -1
  237. package/coverage/map/common/wmts-utils.js.html +1 -1
  238. package/extras/tours/map/navigation-bar.js +49 -1
  239. package/lib/core/api/application.js +35 -9
  240. package/lib/core/api/application.js.map +1 -1
  241. package/lib/core/api/hooks/hooks.authorisations.js +8 -1
  242. package/lib/core/api/hooks/hooks.authorisations.js.map +1 -1
  243. package/lib/core/api/hooks/hooks.query.js +135 -100
  244. package/lib/core/api/hooks/hooks.query.js.map +1 -1
  245. package/lib/core/api/services/authorisations/authorisations.service.js +13 -1
  246. package/lib/core/api/services/authorisations/authorisations.service.js.map +1 -1
  247. package/lib/core/api/services/pusher/pusher.service.js +40 -16
  248. package/lib/core/api/services/pusher/pusher.service.js.map +1 -1
  249. package/lib/core/client/components/collection/KColumn.vue +29 -28
  250. package/lib/core/client/components/collection/KFilter.vue +97 -72
  251. package/lib/core/client/components/editor/KModalEditor.vue +3 -4
  252. package/lib/core/client/components/editor/KSettingsEditor.vue +6 -2
  253. package/lib/core/client/components/form/KFileField.vue +14 -36
  254. package/lib/core/client/components/form/KRoleField.vue +5 -2
  255. package/lib/core/client/components/form/KTextField.vue +12 -2
  256. package/lib/core/client/components/form/KUnitField.vue +57 -0
  257. package/lib/core/client/components/form/KUrlField.vue +1 -1
  258. package/lib/core/client/components/frame/KAction.vue +1 -2
  259. package/lib/core/client/components/frame/KModal.vue +66 -20
  260. package/lib/core/client/components/frame/KScrollArea.vue +65 -0
  261. package/lib/core/client/components/frame/index.js +6 -1
  262. package/lib/core/client/components/frame/index.js.map +1 -1
  263. package/lib/core/client/components/input/KColorChooser.vue +3 -5
  264. package/lib/core/client/components/input/KIconChooser.vue +38 -40
  265. package/lib/core/client/components/input/KOptionsChooser.vue +2 -2
  266. package/lib/core/client/components/layout/KAbout.vue +47 -49
  267. package/lib/core/client/components/team/KAddMember.vue +1 -1
  268. package/lib/core/client/components/team/KChangeRole.vue +11 -14
  269. package/lib/core/client/components/team/KGroupCard.vue +12 -5
  270. package/lib/core/client/components/team/KGroupsActivity.vue +1 -1
  271. package/lib/core/client/components/team/KJoinGroup.vue +22 -22
  272. package/lib/core/client/components/team/KMemberCard.vue +19 -4
  273. package/lib/core/client/components/viewer/KModalViewer.vue +10 -9
  274. package/lib/core/client/i18n/core_en.json +72 -8
  275. package/lib/core/client/i18n/core_fr.json +66 -8
  276. package/lib/core/client/index.js +31 -0
  277. package/lib/core/client/index.js.map +1 -1
  278. package/lib/core/client/layout.js +8 -1
  279. package/lib/core/client/layout.js.map +1 -1
  280. package/lib/core/client/mixins/mixin.base-widget.js +5 -3
  281. package/lib/core/client/mixins/mixin.base-widget.js.map +1 -1
  282. package/lib/core/client/reader.js +85 -0
  283. package/lib/core/client/reader.js.map +1 -0
  284. package/lib/core/client/readers/index.js +30 -0
  285. package/lib/core/client/readers/index.js.map +1 -0
  286. package/lib/core/client/readers/reader.csv.js +54 -0
  287. package/lib/core/client/readers/reader.csv.js.map +1 -0
  288. package/lib/core/client/readers/reader.json.js +49 -0
  289. package/lib/core/client/readers/reader.json.js.map +1 -0
  290. package/lib/core/client/services/index.js +14 -3
  291. package/lib/core/client/services/index.js.map +1 -1
  292. package/lib/core/client/services/local-settings.service.js +6 -4
  293. package/lib/core/client/services/local-settings.service.js.map +1 -1
  294. package/lib/core/client/time.js +4 -3
  295. package/lib/core/client/time.js.map +1 -1
  296. package/lib/core/client/units.js +195 -0
  297. package/lib/core/client/units.js.map +1 -0
  298. package/lib/core/common/permissions.js +44 -34
  299. package/lib/core/common/permissions.js.map +1 -1
  300. package/lib/core/common/schemas/settings.update.json +72 -0
  301. package/lib/map/api/hooks/hooks.query.js +7 -2
  302. package/lib/map/api/hooks/hooks.query.js.map +1 -1
  303. package/lib/map/api/models/features.model.mongodb.js +3 -0
  304. package/lib/map/api/models/features.model.mongodb.js.map +1 -1
  305. package/lib/map/client/components/KCaptureToolbar.vue +151 -0
  306. package/lib/map/client/components/KColorLegend.vue +16 -4
  307. package/lib/map/client/components/KFeaturesChart.vue +10 -11
  308. package/lib/map/client/components/KFeaturesFilter.vue +40 -39
  309. package/lib/map/client/components/KFeaturesTable.vue +15 -16
  310. package/lib/map/client/components/KLayerEditionToolbar.vue +19 -11
  311. package/lib/map/client/components/KLayerStyleEditor.vue +3 -2
  312. package/lib/map/client/components/KLayerStyleForm.vue +38 -27
  313. package/lib/map/client/components/KMeasureTool.vue +337 -0
  314. package/lib/map/client/components/KTimeline.vue +5 -9
  315. package/lib/map/client/components/catalog/KAddLayer.vue +3 -2
  316. package/lib/map/client/components/catalog/KCatalog.vue +26 -7
  317. package/lib/map/client/components/catalog/KImportLayer.vue +8 -35
  318. package/lib/map/client/components/catalog/KLayerCategories.vue +3 -2
  319. package/lib/map/client/components/catalog/KLayersSelector.vue +8 -6
  320. package/lib/map/client/components/catalog/KWeatherLayersSelector.vue +1 -1
  321. package/lib/map/client/components/widget/KInformationBox.vue +8 -17
  322. package/lib/map/client/components/widget/KMapillaryViewer.vue +5 -1
  323. package/lib/map/client/components/widget/KTimeSeries.vue +92 -9
  324. package/lib/map/client/i18n/map_en.json +51 -20
  325. package/lib/map/client/i18n/map_fr.json +51 -20
  326. package/lib/map/client/init.js +7 -1
  327. package/lib/map/client/init.js.map +1 -1
  328. package/lib/map/client/leaflet/MaskLayer.js +9 -0
  329. package/lib/map/client/leaflet/MaskLayer.js.map +1 -1
  330. package/lib/map/client/mixins/globe/mixin.base-globe.js +3 -5
  331. package/lib/map/client/mixins/globe/mixin.base-globe.js.map +1 -1
  332. package/lib/map/client/mixins/globe/mixin.geojson-layers.js +16 -21
  333. package/lib/map/client/mixins/globe/mixin.geojson-layers.js.map +1 -1
  334. package/lib/map/client/mixins/globe/mixin.popup.js +7 -1
  335. package/lib/map/client/mixins/globe/mixin.popup.js.map +1 -1
  336. package/lib/map/client/mixins/globe/mixin.tooltip.js +7 -1
  337. package/lib/map/client/mixins/globe/mixin.tooltip.js.map +1 -1
  338. package/lib/map/client/mixins/map/mixin.base-map.js +54 -9
  339. package/lib/map/client/mixins/map/mixin.base-map.js.map +1 -1
  340. package/lib/map/client/mixins/map/mixin.canvas-layers.js +2 -0
  341. package/lib/map/client/mixins/map/mixin.canvas-layers.js.map +1 -1
  342. package/lib/map/client/mixins/map/mixin.file-layers.js +51 -97
  343. package/lib/map/client/mixins/map/mixin.file-layers.js.map +1 -1
  344. package/lib/map/client/mixins/map/mixin.geojson-layers.js +43 -11
  345. package/lib/map/client/mixins/map/mixin.geojson-layers.js.map +1 -1
  346. package/lib/map/client/mixins/map/mixin.popup.js +7 -1
  347. package/lib/map/client/mixins/map/mixin.popup.js.map +1 -1
  348. package/lib/map/client/mixins/map/mixin.style.js +1 -1
  349. package/lib/map/client/mixins/map/mixin.style.js.map +1 -1
  350. package/lib/map/client/mixins/map/mixin.tooltip.js +7 -1
  351. package/lib/map/client/mixins/map/mixin.tooltip.js.map +1 -1
  352. package/lib/map/client/mixins/mixin.activity.js +2 -0
  353. package/lib/map/client/mixins/mixin.activity.js.map +1 -1
  354. package/lib/map/client/mixins/mixin.context.js +26 -3
  355. package/lib/map/client/mixins/mixin.context.js.map +1 -1
  356. package/lib/map/client/mixins/mixin.feature-service.js +3 -3
  357. package/lib/map/client/mixins/mixin.feature-service.js.map +1 -1
  358. package/lib/map/client/mixins/mixin.infobox.js +4 -0
  359. package/lib/map/client/mixins/mixin.infobox.js.map +1 -1
  360. package/lib/map/client/mixins/mixin.weacast.js +7 -5
  361. package/lib/map/client/mixins/mixin.weacast.js.map +1 -1
  362. package/lib/map/client/readers/index.js +54 -0
  363. package/lib/map/client/readers/index.js.map +1 -0
  364. package/lib/map/client/readers/reader.geojson.js +87 -0
  365. package/lib/map/client/readers/reader.geojson.js.map +1 -0
  366. package/lib/map/client/readers/reader.gpx.js +52 -0
  367. package/lib/map/client/readers/reader.gpx.js.map +1 -0
  368. package/lib/map/client/readers/reader.kml.js +52 -0
  369. package/lib/map/client/readers/reader.kml.js.map +1 -0
  370. package/lib/map/client/readers/reader.shp.js +116 -0
  371. package/lib/map/client/readers/reader.shp.js.map +1 -0
  372. package/lib/map/client/utils.js +0 -7
  373. package/lib/map/client/utils.js.map +1 -1
  374. package/lib/test/client/core/account.js +1 -1
  375. package/lib/test/client/core/account.js.map +1 -1
  376. package/lib/test/client/core/runner.js +1 -2
  377. package/lib/test/client/core/runner.js.map +1 -1
  378. package/lib/test/client/core/screens.js +1 -1
  379. package/lib/test/client/core/screens.js.map +1 -1
  380. package/lib/test/client/core/utils.js +2 -2
  381. package/lib/test/client/core/utils.js.map +1 -1
  382. package/lib/test/client/map/catalog.js +50 -49
  383. package/lib/test/client/map/catalog.js.map +1 -1
  384. package/package.json +3 -3
  385. package/.nyc_output/2c5b7c8e-81db-4d2c-a7a4-02dc640d301f.json +0 -1
  386. package/.nyc_output/a762cb58-70dc-4d39-ab69-928635affa98.json +0 -1
  387. package/.nyc_output/processinfo/2c5b7c8e-81db-4d2c-a7a4-02dc640d301f.json +0 -1
  388. package/.nyc_output/processinfo/2e74ca23-8cf0-4161-9536-f71c2a1a74bb.json +0 -1
  389. package/.nyc_output/processinfo/81d21e46-766a-46bc-b1b7-143ca577347a.json +0 -1
  390. package/.nyc_output/processinfo/a762cb58-70dc-4d39-ab69-928635affa98.json +0 -1
  391. package/.nyc_output/processinfo/aaf3ebbb-f895-4d7b-9255-bc5dee832570.json +0 -1
  392. package/.nyc_output/processinfo/dbeb2602-0ac2-4e66-978b-0d29548359ca.json +0 -1
  393. package/.nyc_output/processinfo/e47d1e4c-2fff-4dcb-908f-d3081162547c.json +0 -1
  394. package/extras/testcafe/Dockerfile +0 -48
  395. package/extras/testcafe/docker-entrypoint.sh +0 -27
  396. package/extras/testcafe/page-models/core/account.js +0 -75
  397. package/extras/testcafe/page-models/core/base-collection.js +0 -41
  398. package/extras/testcafe/page-models/core/base-page.js +0 -25
  399. package/extras/testcafe/page-models/core/groups.js +0 -36
  400. package/extras/testcafe/page-models/core/index.js +0 -140
  401. package/extras/testcafe/page-models/core/layout.js +0 -145
  402. package/extras/testcafe/page-models/core/members.js +0 -98
  403. package/extras/testcafe/page-models/core/organisations.js +0 -76
  404. package/extras/testcafe/page-models/core/screens.js +0 -99
  405. package/extras/testcafe/page-models/core/tags.js +0 -21
  406. package/extras/testcafe/page-models/map/add-layer.js +0 -51
  407. package/extras/testcafe/page-models/map/catalog.js +0 -132
  408. package/extras/testcafe/page-models/map/index.js +0 -36
  409. package/extras/testcafe/page-models/map/map-activity.js +0 -42
  410. 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">13.27% </span>
26
+ <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>15/113</span>
28
+ <span class='fraction'>0/109</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">12.9% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>8/62</span>
35
+ <span class='fraction'>0/62</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">5.88% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/17</span>
42
+ <span class='fraction'>0/14</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">13.73% </span>
47
+ <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>14/102</span>
49
+ <span class='fraction'>0/98</span>
50
50
  </div>
51
51
 
52
52
 
@@ -270,30 +270,30 @@
270
270
  <a name='L211'></a><a href='#L211'>211</a>
271
271
  <a name='L212'></a><a href='#L212'>212</a>
272
272
  <a name='L213'></a><a href='#L213'>213</a>
273
- <a name='L214'></a><a href='#L214'>214</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
274
- <span class="cline-any cline-yes">1x</span>
275
- <span class="cline-any cline-yes">1x</span>
276
- <span class="cline-any cline-yes">1x</span>
273
+ <a name='L214'></a><a href='#L214'>214</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
277
274
  <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-yes">1x</span>
279
275
  <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-yes">1x</span>
281
276
  <span class="cline-any cline-neutral">&nbsp;</span>
282
277
  <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">11x</span>
278
+ <span class="cline-any cline-no">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
280
  <span class="cline-any cline-no">&nbsp;</span>
285
281
  <span class="cline-any cline-neutral">&nbsp;</span>
286
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-no">&nbsp;</span>
284
+ <span class="cline-any cline-no">&nbsp;</span>
287
285
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">11x</span>
289
- <span class="cline-any cline-yes">11x</span>
290
- <span class="cline-any cline-yes">7x</span>
291
- <span class="cline-any cline-yes">4x</span>
292
- <span class="cline-any cline-yes">4x</span>
293
286
  <span class="cline-any cline-neutral">&nbsp;</span>
294
287
  <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-yes">11x</span>
296
- <span class="cline-any cline-yes">6x</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
+ <span class="cline-any cline-no">&nbsp;</span>
292
+ <span class="cline-any cline-no">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-no">&nbsp;</span>
296
+ <span class="cline-any cline-no">&nbsp;</span>
297
297
  <span class="cline-any cline-neutral">&nbsp;</span>
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
299
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -488,212 +488,212 @@ import _ from 'lodash'
488
488
  import { getItems } from 'feathers-hooks-common'
489
489
  import { populateObject } from './hooks.query'
490
490
  &nbsp;
491
- const debug = makeDebug('kdk:core:pusher:hooks')
491
+ const debug = <span class="cstat-no" title="statement not covered" >makeDebug('kdk:core:pusher:hooks')</span>
492
492
  &nbsp;
493
- const defaultTopicField = 'topics'
493
+ const defaultTopicField = <span class="cstat-no" title="statement not covered" >'topics'</span>
494
494
  &nbsp;
495
- export function populatePushObject (hook) {
496
- <span class="missing-if-branch" title="if path not taken" >I</span>if (hook.type !== 'before') {
497
- <span class="cstat-no" title="statement not covered" > throw n</span>ew Error('The \'populatePushObject\' hook should only be used as a \'before\' hook.')
495
+ export function <span class="fstat-no" title="function not covered" >populatePushObject </span>(hook) {
496
+ <span class="cstat-no" title="statement not covered" > if (hook.type !== 'before') {</span>
497
+ <span class="cstat-no" title="statement not covered" > throw new Error('The \'populatePushObject\' hook should only be used as a \'before\' hook.')</span>
498
498
  }
499
499
  &nbsp;
500
500
  // This hook is only for some of the operations
501
- let action = ''
502
- if (hook.data) {
503
- action = hook.data.action
504
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (hook.params &amp;&amp; hook.params.query) {
505
- action = hook.params.query.action
501
+ let action = <span class="cstat-no" title="statement not covered" >''</span>
502
+ <span class="cstat-no" title="statement not covered" > if (hook.data) {</span>
503
+ <span class="cstat-no" title="statement not covered" > action = hook.data.action</span>
504
+ } else <span class="cstat-no" title="statement not covered" >if (hook.params &amp;&amp; hook.params.query) {</span>
505
+ <span class="cstat-no" title="statement not covered" > action = hook.params.query.action</span>
506
506
  }
507
507
  &nbsp;
508
- if (action === 'device') return Promise.resolve(hook)
509
- else return populateObject({ serviceField: 'pushObjectService', idField: 'pushObject', throwOnNotFound: true })(hook)
508
+ <span class="cstat-no" title="statement not covered" > if (action === 'device') <span class="cstat-no" title="statement not covered" >return Promise.resolve(hook)</span></span>
509
+ else <span class="cstat-no" title="statement not covered" >return populateObject({ serviceField: 'pushObjectService', idField: 'pushObject', throwOnNotFound: true })(hook)</span>
510
510
  }
511
511
  &nbsp;
512
- export function <span class="fstat-no" title="function not covered" >createTopic (o</span>ptions) {
513
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > return <span class="fstat-no" title="function not covered" >a</span></span>sync function (h</span>ook) {
512
+ export function <span class="fstat-no" title="function not covered" >createTopic </span>(options) {
513
+ <span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >as</span>ync function (hook) {</span>
514
514
  <span class="cstat-no" title="statement not covered" > if (hook.type !== 'after') {</span>
515
- <span class="cstat-no" title="statement not covered" > throw n</span>ew Error('The \'createTopic\' hook should only be used as a \'before\' hook.')
515
+ <span class="cstat-no" title="statement not covered" > throw new Error('The \'createTopic\' hook should only be used as a \'before\' hook.')</span>
516
516
  }
517
- const pusherService = <span class="cstat-no" title="statement not covered" >hook.a</span>pp.getService('pusher')
518
- const topicField = <span class="cstat-no" title="statement not covered" >_.g</span>et(options, 'topicField', defaultTopicField)
519
- <span class="cstat-no" title="statement not covered" > hook.r</span>esult = await pusherService.create(
517
+ const pusherService = <span class="cstat-no" title="statement not covered" >hook.app.getService('pusher')</span>
518
+ const topicField = <span class="cstat-no" title="statement not covered" >_.get(options, 'topicField', defaultTopicField)</span>
519
+ <span class="cstat-no" title="statement not covered" > hook.result = await pusherService.create(</span>
520
520
  { action: 'topic', topicField }, {
521
521
  pushObject: hook.result,
522
522
  pushObjectService: hook.service
523
523
  })
524
- <span class="cstat-no" title="statement not covered" > debug('</span>Added topic to object ' + hook.result._id.toString() + ' from service ' + hook.service.path)
525
- <span class="cstat-no" title="statement not covered" > return h</span>ook
524
+ <span class="cstat-no" title="statement not covered" > debug('Added topic to object ' + hook.result._id.toString() + ' from service ' + hook.service.path)</span>
525
+ <span class="cstat-no" title="statement not covered" > return hook</span>
526
526
  }
527
527
  }
528
528
  &nbsp;
529
- export function <span class="fstat-no" title="function not covered" >removeTopic (o</span>ptions) {
530
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > return <span class="fstat-no" title="function not covered" >a</span></span>sync function (h</span>ook) {
529
+ export function <span class="fstat-no" title="function not covered" >removeTopic </span>(options) {
530
+ <span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >as</span>ync function (hook) {</span>
531
531
  <span class="cstat-no" title="statement not covered" > if (hook.type !== 'after') {</span>
532
- <span class="cstat-no" title="statement not covered" > throw n</span>ew Error('The \'removeTopic\' hook should only be used as a \'after\' hook.')
532
+ <span class="cstat-no" title="statement not covered" > throw new Error('The \'removeTopic\' hook should only be used as a \'after\' hook.')</span>
533
533
  }
534
534
  &nbsp;
535
- const pusherService = <span class="cstat-no" title="statement not covered" >hook.a</span>pp.getService('pusher')
536
- const topicField = <span class="cstat-no" title="statement not covered" >_.g</span>et(options, 'topicField', defaultTopicField)
537
- <span class="cstat-no" title="statement not covered" > await p</span>usherService.remove(hook.result._id.toString(), {
535
+ const pusherService = <span class="cstat-no" title="statement not covered" >hook.app.getService('pusher')</span>
536
+ const topicField = <span class="cstat-no" title="statement not covered" >_.get(options, 'topicField', defaultTopicField)</span>
537
+ <span class="cstat-no" title="statement not covered" > await pusherService.remove(hook.result._id.toString(), {</span>
538
538
  query: { action: 'topic', topicField },
539
539
  pushObject: hook.result,
540
540
  pushObjectService: hook.service,
541
541
  patch: hook.method !== 'remove' // Do not patch object when it is deleted
542
542
  })
543
- <span class="cstat-no" title="statement not covered" > debug('</span>Removed topic on object ' + hook.result._id.toString() + ' from service ' + hook.service.path)
544
- <span class="cstat-no" title="statement not covered" > return h</span>ook
543
+ <span class="cstat-no" title="statement not covered" > debug('Removed topic on object ' + hook.result._id.toString() + ' from service ' + hook.service.path)</span>
544
+ <span class="cstat-no" title="statement not covered" > return hook</span>
545
545
  }
546
546
  }
547
547
  &nbsp;
548
- export <span class="fstat-no" title="function not covered" >async function s</span>ubscribeSubjectsToResourceTopic (hook) {
549
- <span class="cstat-no" title="statement not covered" > if (!hook.params.resource || !hook.params.resource.topics) <span class="cstat-no" title="statement not covered" >return P</span></span>romise.resolve(hook)
548
+ export async function <span class="fstat-no" title="function not covered" >subscribeSubjectsToResourceTopic </span>(hook) {
549
+ <span class="cstat-no" title="statement not covered" > if (!hook.params.resource || !hook.params.resource.topics) <span class="cstat-no" title="statement not covered" >return Promise.resolve(hook)</span></span>
550
550
  &nbsp;
551
- const pusherService = <span class="cstat-no" title="statement not covered" >hook.a</span>pp.getService('pusher')
552
- const subscriptions = <span class="cstat-no" title="statement not covered" >await pusherService.c</span>reate(
551
+ const pusherService = <span class="cstat-no" title="statement not covered" >hook.app.getService('pusher')</span>
552
+ const subscriptions = <span class="cstat-no" title="statement not covered" >await pusherService.create(</span>
553
553
  { action: 'subscriptions' }, {
554
554
  pushObject: hook.params.resource,
555
555
  pushObjectService: hook.params.resourcesService,
556
556
  users: hook.params.subjects
557
557
  })
558
- <span class="cstat-no" title="statement not covered" > debug('</span>Subscribed ' + subscriptions.length + ' users on topic object ' + hook.params.resource._id.toString() + ' from service ' + (hook.params.resourcesService.path || hook.params.resourcesService.name), hook.params.subjects)
559
- <span class="cstat-no" title="statement not covered" > return h</span>ook
558
+ <span class="cstat-no" title="statement not covered" > debug('Subscribed ' + subscriptions.length + ' users on topic object ' + hook.params.resource._id.toString() + ' from service ' + (hook.params.resourcesService.path || hook.params.resourcesService.name), hook.params.subjects)</span>
559
+ <span class="cstat-no" title="statement not covered" > return hook</span>
560
560
  }
561
561
  &nbsp;
562
- export <span class="fstat-no" title="function not covered" >async function u</span>nsubscribeSubjectsFromResourceTopic (hook) {
563
- <span class="cstat-no" title="statement not covered" > if (!hook.params.resource || !hook.params.resource.topics) <span class="cstat-no" title="statement not covered" >return P</span></span>romise.resolve(hook)
562
+ export async function <span class="fstat-no" title="function not covered" >unsubscribeSubjectsFromResourceTopic </span>(hook) {
563
+ <span class="cstat-no" title="statement not covered" > if (!hook.params.resource || !hook.params.resource.topics) <span class="cstat-no" title="statement not covered" >return Promise.resolve(hook)</span></span>
564
564
  &nbsp;
565
- const pusherService = <span class="cstat-no" title="statement not covered" >hook.a</span>pp.getService('pusher')
566
- const unsubscriptions = <span class="cstat-no" title="statement not covered" >await pusherService.r</span>emove(hook.params.resource._id.toString(), {
565
+ const pusherService = <span class="cstat-no" title="statement not covered" >hook.app.getService('pusher')</span>
566
+ const unsubscriptions = <span class="cstat-no" title="statement not covered" >await pusherService.remove(hook.params.resource._id.toString(), {</span>
567
567
  query: { action: 'subscriptions' },
568
568
  pushObject: hook.params.resource,
569
569
  pushObjectService: hook.params.resourcesService,
570
570
  users: hook.params.subjects
571
571
  })
572
- <span class="cstat-no" title="statement not covered" > debug('</span>Unsubscribed ' + unsubscriptions.length + ' users on topic object ' + hook.params.resource._id.toString() + ' from service ' + (hook.params.resourcesService.path || hook.params.resourcesService.name), hook.params.subjects)
573
- <span class="cstat-no" title="statement not covered" > return h</span>ook
572
+ <span class="cstat-no" title="statement not covered" > debug('Unsubscribed ' + unsubscriptions.length + ' users on topic object ' + hook.params.resource._id.toString() + ' from service ' + (hook.params.resourcesService.path || hook.params.resourcesService.name), hook.params.subjects)</span>
573
+ <span class="cstat-no" title="statement not covered" > return hook</span>
574
574
  }
575
575
  &nbsp;
576
- export function <span class="fstat-no" title="function not covered" >updateSubjectSubscriptions (o</span>ptions) {
577
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > return <span class="fstat-no" title="function not covered" >a</span></span>sync function (h</span>ook) {
578
- function <span class="fstat-no" title="function not covered" >isTopicObjectEqual (o</span>bject1, object2) {
579
- <span class="cstat-no" title="statement not covered" > return _</span>.isEqual(object1.topics, object2.topics)
576
+ export function <span class="fstat-no" title="function not covered" >updateSubjectSubscriptions </span>(options) {
577
+ <span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >as</span>ync function (hook) {</span>
578
+ function <span class="fstat-no" title="function not covered" >isTopicObjectEqual </span>(object1, object2) {
579
+ <span class="cstat-no" title="statement not covered" > return _.isEqual(object1.topics, object2.topics)</span>
580
580
  }
581
581
  &nbsp;
582
- const item = <span class="cstat-no" title="statement not covered" >getItems(h</span>ook)
582
+ const item = <span class="cstat-no" title="statement not covered" >getItems(hook)</span>
583
583
  // Field might be on the service object or subject
584
584
  let topics = (<span class="cstat-no" title="statement not covered" >options.subjectAsItem</span>
585
585
  ? _.get(item, options.field) : _.get(hook.params, 'user.' + options.field))
586
586
  <span class="cstat-no" title="statement not covered" > if (!topics) {</span>
587
- <span class="cstat-no" title="statement not covered" > debug('</span>No subscriptions to update for object ', item)
588
- <span class="cstat-no" title="statement not covered" > return P</span>romise.resolve(hook)
587
+ <span class="cstat-no" title="statement not covered" > debug('No subscriptions to update for object ', item)</span>
588
+ <span class="cstat-no" title="statement not covered" > return Promise.resolve(hook)</span>
589
589
  }
590
590
  &nbsp;
591
591
  // Service can be contextual, look for context on initiator service
592
- const itemService = <span class="cstat-no" title="statement not covered" >hook.a</span>pp.getService(options.service, hook.service.context)
593
- const pusherService = <span class="cstat-no" title="statement not covered" >hook.a</span>pp.getService('pusher')
594
- <span class="cstat-no" title="statement not covered" > topics = (A</span>rray.isArray(topics) ? topics : [topics])
592
+ const itemService = <span class="cstat-no" title="statement not covered" >hook.app.getService(options.service, hook.service.context)</span>
593
+ const pusherService = <span class="cstat-no" title="statement not covered" >hook.app.getService('pusher')</span>
594
+ <span class="cstat-no" title="statement not covered" > topics = (Array.isArray(topics) ? topics : [topics])</span>
595
595
  // Retrieve previous version of the item
596
- let previousTopics = <span class="cstat-no" title="statement not covered" >_.g</span>et(hook.params.previousItem, options.field)
596
+ let previousTopics = <span class="cstat-no" title="statement not covered" >_.get(hook.params.previousItem, options.field)</span>
597
597
  <span class="cstat-no" title="statement not covered" > if (previousTopics) {</span>
598
- <span class="cstat-no" title="statement not covered" > previousTopics = (A</span>rray.isArray(previousTopics) ? previousTopics : [previousTopics])
598
+ <span class="cstat-no" title="statement not covered" > previousTopics = (Array.isArray(previousTopics) ? previousTopics : [previousTopics])</span>
599
599
  // Find common topics
600
- const commonTopics = <span class="cstat-no" title="statement not covered" >_.i</span>ntersectionWith(topics, previousTopics, isTopicObjectEqual)
600
+ const commonTopics = <span class="cstat-no" title="statement not covered" >_.intersectionWith(topics, previousTopics, isTopicObjectEqual)</span>
601
601
  // Unsubscribe removed topics
602
- let removedTopics = <span class="cstat-no" title="statement not covered" >_.d</span>ifferenceWith(previousTopics, commonTopics, isTopicObjectEqual)
602
+ let removedTopics = <span class="cstat-no" title="statement not covered" >_.differenceWith(previousTopics, commonTopics, isTopicObjectEqual)</span>
603
603
  // Apply filter if any
604
604
  <span class="cstat-no" title="statement not covered" > if (typeof options.filter === 'function') {</span>
605
- <span class="cstat-no" title="statement not covered" > removedTopics = o</span>ptions.filter('unsubscribe', removedTopics)
605
+ <span class="cstat-no" title="statement not covered" > removedTopics = options.filter('unsubscribe', removedTopics)</span>
606
606
  }
607
- <span class="cstat-no" title="statement not covered" > debug('</span>Removing topic subscriptions for object ', item, removedTopics, hook.params.user)
608
- const unsubscribePromises = <span class="cstat-no" title="statement not covered" >removedTopics.m</span>ap(<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >topic =&gt; p</span></span>usherService.remove(topic._id.toString(), {
607
+ <span class="cstat-no" title="statement not covered" > debug('Removing topic subscriptions for object ', item, removedTopics, hook.params.user)</span>
608
+ const unsubscribePromises = <span class="cstat-no" title="statement not covered" >removedTopics.map(<span class="fstat-no" title="function not covered" >to</span>pic =&gt; <span class="cstat-no" title="statement not covered" >pusherService.remove(topic._id.toString(), {</span></span>
609
609
  query: { action: 'subscriptions' },
610
610
  pushObject: topic,
611
611
  pushObjectService: itemService,
612
612
  users: [(options.subjectAsItem ? item : hook.params.user)]
613
613
  }))
614
614
  // And subscribe new ones
615
- let addedTopics = <span class="cstat-no" title="statement not covered" >_.d</span>ifferenceWith(topics, commonTopics, isTopicObjectEqual)
615
+ let addedTopics = <span class="cstat-no" title="statement not covered" >_.differenceWith(topics, commonTopics, isTopicObjectEqual)</span>
616
616
  // Apply filter if any
617
617
  <span class="cstat-no" title="statement not covered" > if (typeof options.filter === 'function') {</span>
618
- <span class="cstat-no" title="statement not covered" > addedTopics = o</span>ptions.filter('subscribe', addedTopics)
618
+ <span class="cstat-no" title="statement not covered" > addedTopics = options.filter('subscribe', addedTopics)</span>
619
619
  }
620
- <span class="cstat-no" title="statement not covered" > debug('</span>Adding topic subscriptions for object ', item, addedTopics, hook.params.user)
621
- const subscribePromises = <span class="cstat-no" title="statement not covered" >addedTopics.m</span>ap(<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >topic =&gt; p</span></span>usherService.create(
620
+ <span class="cstat-no" title="statement not covered" > debug('Adding topic subscriptions for object ', item, addedTopics, hook.params.user)</span>
621
+ const subscribePromises = <span class="cstat-no" title="statement not covered" >addedTopics.map(<span class="fstat-no" title="function not covered" >to</span>pic =&gt; <span class="cstat-no" title="statement not covered" >pusherService.create(</span></span>
622
622
  { action: 'subscriptions' }, {
623
623
  pushObject: topic,
624
624
  pushObjectService: itemService,
625
625
  users: [(options.subjectAsItem ? item : hook.params.user)]
626
626
  }))
627
- const results = <span class="cstat-no" title="statement not covered" >await Promise.a</span>ll([Promise.all(unsubscribePromises), Promise.all(subscribePromises)])
628
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0; i</span> &lt; results[0].length; i++) {</span>
629
- const unsubscriptions = <span class="cstat-no" title="statement not covered" >results[0</span>][i]
630
- const topic = <span class="cstat-no" title="statement not covered" >removedTopics[i</span>]
627
+ const results = <span class="cstat-no" title="statement not covered" >await Promise.all([Promise.all(unsubscribePromises), Promise.all(subscribePromises)])</span>
628
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; results[0].length; i++) {</span>
629
+ const unsubscriptions = <span class="cstat-no" title="statement not covered" >results[0][i]</span>
630
+ const topic = <span class="cstat-no" title="statement not covered" >removedTopics[i]</span>
631
631
  <span class="cstat-no" title="statement not covered" > if (unsubscriptions.length &gt; 0) {</span>
632
- <span class="cstat-no" title="statement not covered" > debug('</span>Unsubscribed from topic ' + topic)
632
+ <span class="cstat-no" title="statement not covered" > debug('Unsubscribed from topic ' + topic)</span>
633
633
  } else {
634
- <span class="cstat-no" title="statement not covered" > debug('</span>No unsubscription on topic ' + topic)
634
+ <span class="cstat-no" title="statement not covered" > debug('No unsubscription on topic ' + topic)</span>
635
635
  }
636
636
  }
637
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0; i</span> &lt; results[1].length; i++) {</span>
638
- const subscriptions = <span class="cstat-no" title="statement not covered" >results[1</span>][i]
639
- const topic = <span class="cstat-no" title="statement not covered" >addedTopics[i</span>]
637
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; results[1].length; i++) {</span>
638
+ const subscriptions = <span class="cstat-no" title="statement not covered" >results[1][i]</span>
639
+ const topic = <span class="cstat-no" title="statement not covered" >addedTopics[i]</span>
640
640
  <span class="cstat-no" title="statement not covered" > if (subscriptions.length &gt; 0) {</span>
641
- <span class="cstat-no" title="statement not covered" > debug('</span>Subscribed from topic ', topic)
641
+ <span class="cstat-no" title="statement not covered" > debug('Subscribed from topic ', topic)</span>
642
642
  } else {
643
- <span class="cstat-no" title="statement not covered" > debug('</span>No subscription on topic ', topic)
643
+ <span class="cstat-no" title="statement not covered" > debug('No subscription on topic ', topic)</span>
644
644
  }
645
645
  }
646
646
  } else {
647
647
  <span class="cstat-no" title="statement not covered" > if (hook.method !== 'remove') {</span>
648
648
  // Subscribed new topics
649
- <span class="cstat-no" title="statement not covered" > debug('</span>Adding topic subscriptions for object ', item, topics, hook.params.user)
649
+ <span class="cstat-no" title="statement not covered" > debug('Adding topic subscriptions for object ', item, topics, hook.params.user)</span>
650
650
  // Apply filter if any
651
651
  <span class="cstat-no" title="statement not covered" > if (typeof options.filter === 'function') {</span>
652
- <span class="cstat-no" title="statement not covered" > topics = o</span>ptions.filter('subscribe', topics)
652
+ <span class="cstat-no" title="statement not covered" > topics = options.filter('subscribe', topics)</span>
653
653
  }
654
- const subscribePromises = <span class="cstat-no" title="statement not covered" >topics.m</span>ap(<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >topic =&gt; p</span></span>usherService.create(
654
+ const subscribePromises = <span class="cstat-no" title="statement not covered" >topics.map(<span class="fstat-no" title="function not covered" >to</span>pic =&gt; <span class="cstat-no" title="statement not covered" >pusherService.create(</span></span>
655
655
  { action: 'subscriptions' }, {
656
656
  pushObject: topic,
657
657
  pushObjectService: itemService,
658
658
  users: [(options.subjectAsItem ? item : hook.params.user)]
659
659
  }))
660
- const results = <span class="cstat-no" title="statement not covered" >await Promise.a</span>ll(subscribePromises)
661
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0; i</span> &lt; results.length; i++) {</span>
662
- const subscriptions = <span class="cstat-no" title="statement not covered" >results[i</span>]
663
- const topic = <span class="cstat-no" title="statement not covered" >topics[i</span>]
660
+ const results = <span class="cstat-no" title="statement not covered" >await Promise.all(subscribePromises)</span>
661
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; results.length; i++) {</span>
662
+ const subscriptions = <span class="cstat-no" title="statement not covered" >results[i]</span>
663
+ const topic = <span class="cstat-no" title="statement not covered" >topics[i]</span>
664
664
  <span class="cstat-no" title="statement not covered" > if (subscriptions.length &gt; 0) {</span>
665
- <span class="cstat-no" title="statement not covered" > debug('</span>Subscribed from topic ', topic)
665
+ <span class="cstat-no" title="statement not covered" > debug('Subscribed from topic ', topic)</span>
666
666
  } else {
667
- <span class="cstat-no" title="statement not covered" > debug('</span>No subscription on topic ', topic)
667
+ <span class="cstat-no" title="statement not covered" > debug('No subscription on topic ', topic)</span>
668
668
  }
669
669
  }
670
670
  } else {
671
671
  // Subscribed new topics
672
- <span class="cstat-no" title="statement not covered" > debug('</span>Removing topic subscriptions for object ', item, topics, hook.params.user)
672
+ <span class="cstat-no" title="statement not covered" > debug('Removing topic subscriptions for object ', item, topics, hook.params.user)</span>
673
673
  // Apply filter if any
674
674
  <span class="cstat-no" title="statement not covered" > if (typeof options.filter === 'function') {</span>
675
- <span class="cstat-no" title="statement not covered" > topics = o</span>ptions.filter('unsubscribe', topics)
675
+ <span class="cstat-no" title="statement not covered" > topics = options.filter('unsubscribe', topics)</span>
676
676
  }
677
- const unsubscribePromises = <span class="cstat-no" title="statement not covered" >topics.m</span>ap(<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >topic =&gt; p</span></span>usherService.remove(topic._id.toString(), {
677
+ const unsubscribePromises = <span class="cstat-no" title="statement not covered" >topics.map(<span class="fstat-no" title="function not covered" >to</span>pic =&gt; <span class="cstat-no" title="statement not covered" >pusherService.remove(topic._id.toString(), {</span></span>
678
678
  query: { action: 'subscriptions' },
679
679
  pushObject: topic,
680
680
  pushObjectService: itemService,
681
681
  users: [(options.subjectAsItem ? item : hook.params.user)]
682
682
  }))
683
- const results = <span class="cstat-no" title="statement not covered" >await Promise.a</span>ll(unsubscribePromises)
684
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0; i</span> &lt; results.length; i++) {</span>
685
- const unsubscriptions = <span class="cstat-no" title="statement not covered" >results[i</span>]
686
- const topic = <span class="cstat-no" title="statement not covered" >topics[i</span>]
683
+ const results = <span class="cstat-no" title="statement not covered" >await Promise.all(unsubscribePromises)</span>
684
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; results.length; i++) {</span>
685
+ const unsubscriptions = <span class="cstat-no" title="statement not covered" >results[i]</span>
686
+ const topic = <span class="cstat-no" title="statement not covered" >topics[i]</span>
687
687
  <span class="cstat-no" title="statement not covered" > if (unsubscriptions.length &gt; 0) {</span>
688
- <span class="cstat-no" title="statement not covered" > debug('</span>Unsubscribed from topic ', topic)
688
+ <span class="cstat-no" title="statement not covered" > debug('Unsubscribed from topic ', topic)</span>
689
689
  } else {
690
- <span class="cstat-no" title="statement not covered" > debug('</span>No unsubscription on topic ', topic)
690
+ <span class="cstat-no" title="statement not covered" > debug('No unsubscription on topic ', topic)</span>
691
691
  }
692
692
  }
693
693
  }
694
694
  }
695
695
  &nbsp;
696
- <span class="cstat-no" title="statement not covered" > return h</span>ook
696
+ <span class="cstat-no" title="statement not covered" > return hook</span>
697
697
  }
698
698
  }
699
699
  &nbsp;</pre></td></tr></table></pre>
@@ -703,7 +703,7 @@ export function <span class="fstat-no" title="function not covered" >updateSubje
703
703
  <div class='footer quiet pad2 space-top1 center small'>
704
704
  Code coverage generated by
705
705
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
706
- at Wed Dec 08 2021 20:41:51 GMT+0100 (GMT+01:00)
706
+ at Thu Feb 17 2022 13:49:01 GMT+0100 (GMT+01:00)
707
707
  </div>
708
708
  </div>
709
709
  <script src="../../../prettify.js"></script>