kuzzle-device-manager 2.0.0-rc8 → 2.0.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 (373) hide show
  1. package/dist/features/fixtures/application/app.d.ts +1 -0
  2. package/dist/features/fixtures/application/app.js +70 -0
  3. package/dist/features/fixtures/application/app.js.map +1 -0
  4. package/dist/features/fixtures/application/assets/Container.d.ts +1 -0
  5. package/dist/features/fixtures/application/assets/Container.js +14 -0
  6. package/dist/features/fixtures/application/assets/Container.js.map +1 -0
  7. package/dist/features/fixtures/application/decoders/DummyTempDecoder.d.ts +11 -0
  8. package/dist/features/fixtures/application/decoders/DummyTempDecoder.js +51 -0
  9. package/dist/features/fixtures/application/decoders/DummyTempDecoder.js.map +1 -0
  10. package/dist/features/fixtures/application/decoders/DummyTempPositionDecoder.d.ts +16 -0
  11. package/dist/features/fixtures/application/decoders/DummyTempPositionDecoder.js +49 -0
  12. package/dist/features/fixtures/application/decoders/DummyTempPositionDecoder.js.map +1 -0
  13. package/dist/features/fixtures/application/decoders/index.d.ts +2 -0
  14. package/{lib/utils → dist/features/fixtures/application/decoders}/index.js +2 -1
  15. package/dist/features/fixtures/application/decoders/index.js.map +1 -0
  16. package/dist/features/fixtures/application/testPipes.d.ts +2 -0
  17. package/dist/features/fixtures/application/testPipes.js +75 -0
  18. package/dist/features/fixtures/application/testPipes.js.map +1 -0
  19. package/dist/index.d.ts +7 -0
  20. package/dist/index.js +24 -0
  21. package/dist/index.js.map +1 -0
  22. package/{lib/types → dist/lib/core}/DeviceManagerConfiguration.d.ts +17 -8
  23. package/{lib/types → dist/lib/core}/DeviceManagerConfiguration.js +0 -0
  24. package/dist/lib/core/DeviceManagerConfiguration.js.map +1 -0
  25. package/dist/lib/core/DeviceManagerEngine.d.ts +32 -0
  26. package/dist/lib/core/DeviceManagerEngine.js +162 -0
  27. package/dist/lib/core/DeviceManagerEngine.js.map +1 -0
  28. package/dist/lib/core/DeviceManagerPlugin.d.ts +115 -0
  29. package/dist/lib/core/DeviceManagerPlugin.js +336 -0
  30. package/dist/lib/core/DeviceManagerPlugin.js.map +1 -0
  31. package/dist/lib/core/InternalCollection.d.ts +8 -0
  32. package/{lib → dist/lib/core}/InternalCollection.js +3 -0
  33. package/dist/lib/core/InternalCollection.js.map +1 -0
  34. package/dist/lib/core/exports.d.ts +2 -0
  35. package/{lib/models/index.js → dist/lib/core/exports.js} +3 -3
  36. package/dist/lib/core/exports.js.map +1 -0
  37. package/dist/lib/core/index.d.ts +4 -0
  38. package/dist/lib/core/index.js +21 -0
  39. package/dist/lib/core/index.js.map +1 -0
  40. package/{lib/core-classes → dist/lib/core}/registers/DecodersRegister.d.ts +6 -13
  41. package/{lib/core-classes → dist/lib/core}/registers/DecodersRegister.js +45 -66
  42. package/dist/lib/core/registers/DecodersRegister.js.map +1 -0
  43. package/dist/lib/core/registers/ModelsRegister.d.ts +18 -0
  44. package/dist/lib/core/registers/ModelsRegister.js +66 -0
  45. package/dist/lib/core/registers/ModelsRegister.js.map +1 -0
  46. package/dist/lib/modules/asset/AssetHistoryService.d.ts +11 -0
  47. package/dist/lib/modules/asset/AssetHistoryService.js +24 -0
  48. package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -0
  49. package/dist/lib/modules/asset/AssetModule.d.ts +7 -0
  50. package/dist/lib/modules/asset/AssetModule.js +21 -0
  51. package/dist/lib/modules/asset/AssetModule.js.map +1 -0
  52. package/dist/lib/modules/asset/AssetService.d.ts +50 -0
  53. package/dist/lib/modules/asset/AssetService.js +137 -0
  54. package/dist/lib/modules/asset/AssetService.js.map +1 -0
  55. package/dist/lib/modules/asset/AssetsController.d.ts +14 -0
  56. package/dist/lib/modules/asset/AssetsController.js +119 -0
  57. package/dist/lib/modules/asset/AssetsController.js.map +1 -0
  58. package/dist/lib/modules/asset/collections/assetsHistoryMappings.d.ts +63 -0
  59. package/dist/lib/modules/asset/collections/assetsHistoryMappings.js +48 -0
  60. package/dist/lib/modules/asset/collections/assetsHistoryMappings.js.map +1 -0
  61. package/dist/lib/modules/asset/collections/assetsMappings.d.ts +44 -0
  62. package/dist/lib/modules/asset/collections/assetsMappings.js +38 -0
  63. package/dist/lib/modules/asset/collections/assetsMappings.js.map +1 -0
  64. package/dist/lib/modules/asset/exports.d.ts +6 -0
  65. package/{index.js → dist/lib/modules/asset/exports.js} +7 -6
  66. package/dist/lib/modules/asset/exports.js.map +1 -0
  67. package/dist/lib/modules/asset/index.d.ts +10 -0
  68. package/dist/lib/modules/asset/index.js +27 -0
  69. package/dist/lib/modules/asset/index.js.map +1 -0
  70. package/dist/lib/modules/asset/model/AssetSerializer.d.ts +10 -0
  71. package/dist/lib/modules/asset/model/AssetSerializer.js +31 -0
  72. package/dist/lib/modules/asset/model/AssetSerializer.js.map +1 -0
  73. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.d.ts +22 -0
  74. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +43 -0
  75. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -0
  76. package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +21 -0
  77. package/dist/lib/modules/asset/roles/RoleAssetsReader.js +42 -0
  78. package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -0
  79. package/dist/lib/modules/asset/types/AssetApi.d.ts +58 -0
  80. package/{lib/types/Request.js → dist/lib/modules/asset/types/AssetApi.js} +1 -1
  81. package/dist/lib/modules/asset/types/AssetApi.js.map +1 -0
  82. package/dist/lib/modules/asset/types/AssetContent.d.ts +44 -0
  83. package/{lib/types/DecodedPayload.js → dist/lib/modules/asset/types/AssetContent.js} +1 -1
  84. package/dist/lib/modules/asset/types/AssetContent.js.map +1 -0
  85. package/dist/lib/modules/asset/types/AssetEvents.d.ts +30 -0
  86. package/dist/lib/modules/asset/types/AssetEvents.js +3 -0
  87. package/dist/lib/modules/asset/types/AssetEvents.js.map +1 -0
  88. package/dist/lib/modules/asset/types/AssetHistoryContent.d.ts +50 -0
  89. package/dist/lib/modules/asset/types/AssetHistoryContent.js +3 -0
  90. package/dist/lib/modules/asset/types/AssetHistoryContent.js.map +1 -0
  91. package/dist/lib/modules/decoder/DecodedPayload.d.ts +47 -0
  92. package/dist/lib/modules/decoder/DecodedPayload.js +82 -0
  93. package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -0
  94. package/{lib/core-classes → dist/lib/modules/decoder}/Decoder.d.ts +30 -19
  95. package/{lib/core-classes → dist/lib/modules/decoder}/Decoder.js +40 -17
  96. package/dist/lib/modules/decoder/Decoder.js.map +1 -0
  97. package/dist/lib/modules/decoder/DecoderModule.d.ts +8 -0
  98. package/dist/lib/modules/decoder/DecoderModule.js +29 -0
  99. package/dist/lib/modules/decoder/DecoderModule.js.map +1 -0
  100. package/dist/lib/modules/decoder/DecodersController.d.ts +18 -0
  101. package/dist/lib/modules/decoder/DecodersController.js +44 -0
  102. package/dist/lib/modules/decoder/DecodersController.js.map +1 -0
  103. package/dist/lib/modules/decoder/PayloadService.d.ts +34 -0
  104. package/dist/lib/modules/decoder/PayloadService.js +136 -0
  105. package/dist/lib/modules/decoder/PayloadService.js.map +1 -0
  106. package/dist/lib/modules/decoder/PayloadsController.d.ts +11 -0
  107. package/dist/lib/modules/decoder/PayloadsController.js +56 -0
  108. package/dist/lib/modules/decoder/PayloadsController.js.map +1 -0
  109. package/{lib/mappings → dist/lib/modules/decoder/collections}/payloadsMappings.d.ts +0 -4
  110. package/dist/lib/modules/decoder/collections/payloadsMappings.js +16 -0
  111. package/dist/lib/modules/decoder/collections/payloadsMappings.js.map +1 -0
  112. package/dist/lib/modules/decoder/exports.d.ts +6 -0
  113. package/{lib/types/index.js → dist/lib/modules/decoder/exports.js} +6 -7
  114. package/dist/lib/modules/decoder/exports.js.map +1 -0
  115. package/dist/lib/modules/decoder/index.d.ts +8 -0
  116. package/{lib/core-classes → dist/lib/modules/decoder}/index.js +7 -8
  117. package/dist/lib/modules/decoder/index.js.map +1 -0
  118. package/dist/lib/modules/decoder/roles/RoleDecodersAdmin.d.ts +14 -0
  119. package/dist/lib/modules/decoder/roles/RoleDecodersAdmin.js +28 -0
  120. package/dist/lib/modules/decoder/roles/RoleDecodersAdmin.js.map +1 -0
  121. package/dist/lib/modules/decoder/roles/RolePayloadsAll.d.ts +12 -0
  122. package/dist/lib/modules/decoder/roles/RolePayloadsAll.js +26 -0
  123. package/dist/lib/modules/decoder/roles/RolePayloadsAll.js.map +1 -0
  124. package/dist/lib/modules/decoder/types/DecoderApi.d.ts +19 -0
  125. package/dist/lib/modules/decoder/types/DecoderApi.js +3 -0
  126. package/dist/lib/modules/decoder/types/DecoderApi.js.map +1 -0
  127. package/dist/lib/modules/decoder/types/DecoderContent.d.ts +5 -0
  128. package/{lib → dist/lib/modules/decoder}/types/DecoderContent.js +0 -0
  129. package/dist/lib/modules/decoder/types/DecoderContent.js.map +1 -0
  130. package/dist/lib/modules/decoder/types/PayloadApi.d.ts +11 -0
  131. package/dist/lib/modules/decoder/types/PayloadApi.js +3 -0
  132. package/dist/lib/modules/decoder/types/PayloadApi.js.map +1 -0
  133. package/dist/lib/modules/device/DeviceModule.d.ts +6 -0
  134. package/dist/lib/modules/device/DeviceModule.js +22 -0
  135. package/dist/lib/modules/device/DeviceModule.js.map +1 -0
  136. package/dist/lib/modules/device/DeviceService.d.ts +85 -0
  137. package/dist/lib/modules/device/DeviceService.js +282 -0
  138. package/dist/lib/modules/device/DeviceService.js.map +1 -0
  139. package/dist/lib/modules/device/DevicesController.d.ts +32 -0
  140. package/dist/lib/modules/device/DevicesController.js +183 -0
  141. package/dist/lib/modules/device/DevicesController.js.map +1 -0
  142. package/{lib/mappings → dist/lib/modules/device/collections}/deviceMappings.d.ts +14 -15
  143. package/dist/lib/modules/device/collections/deviceMappings.js +35 -0
  144. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -0
  145. package/dist/lib/modules/device/exports.d.ts +6 -0
  146. package/dist/lib/modules/device/exports.js +23 -0
  147. package/dist/lib/modules/device/exports.js.map +1 -0
  148. package/dist/lib/modules/device/index.d.ts +9 -0
  149. package/dist/lib/modules/device/index.js +26 -0
  150. package/dist/lib/modules/device/index.js.map +1 -0
  151. package/dist/lib/modules/device/model/DeviceSerializer.d.ts +6 -0
  152. package/dist/lib/modules/device/model/DeviceSerializer.js +16 -0
  153. package/dist/lib/modules/device/model/DeviceSerializer.js.map +1 -0
  154. package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +27 -0
  155. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +54 -0
  156. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -0
  157. package/dist/lib/modules/device/roles/RoleDevicesPlatformAdmin.d.ts +21 -0
  158. package/dist/lib/modules/device/roles/RoleDevicesPlatformAdmin.js +42 -0
  159. package/dist/lib/modules/device/roles/RoleDevicesPlatformAdmin.js.map +1 -0
  160. package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +21 -0
  161. package/dist/lib/modules/device/roles/RoleDevicesReader.js +41 -0
  162. package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -0
  163. package/dist/lib/modules/device/types/DeviceApi.d.ts +97 -0
  164. package/dist/lib/modules/device/types/DeviceApi.js +3 -0
  165. package/dist/lib/modules/device/types/DeviceApi.js.map +1 -0
  166. package/dist/lib/modules/device/types/DeviceContent.d.ts +14 -0
  167. package/{lib → dist/lib/modules/device}/types/DeviceContent.js +0 -0
  168. package/dist/lib/modules/device/types/DeviceContent.js.map +1 -0
  169. package/dist/lib/modules/device/types/DeviceEvents.d.ts +28 -0
  170. package/dist/lib/modules/device/types/DeviceEvents.js +3 -0
  171. package/dist/lib/modules/device/types/DeviceEvents.js.map +1 -0
  172. package/dist/lib/modules/measure/MeasureModule.d.ts +5 -0
  173. package/dist/lib/modules/measure/MeasureModule.js +16 -0
  174. package/dist/lib/modules/measure/MeasureModule.js.map +1 -0
  175. package/dist/lib/modules/measure/MeasureService.d.ts +40 -0
  176. package/dist/lib/modules/measure/MeasureService.js +259 -0
  177. package/dist/lib/modules/measure/MeasureService.js.map +1 -0
  178. package/dist/lib/modules/measure/collections/measuresMappings.d.ts +61 -0
  179. package/dist/lib/modules/measure/collections/measuresMappings.js +45 -0
  180. package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -0
  181. package/dist/lib/modules/measure/exports.d.ts +6 -0
  182. package/dist/lib/modules/measure/exports.js +23 -0
  183. package/dist/lib/modules/measure/exports.js.map +1 -0
  184. package/dist/lib/modules/measure/index.d.ts +8 -0
  185. package/dist/lib/modules/measure/index.js +25 -0
  186. package/dist/lib/modules/measure/index.js.map +1 -0
  187. package/dist/lib/modules/measure/measures/BatteryMeasure.d.ts +5 -0
  188. package/dist/lib/modules/measure/measures/BatteryMeasure.js +7 -0
  189. package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +1 -0
  190. package/dist/lib/modules/measure/measures/HumidityMeasure.d.ts +5 -0
  191. package/dist/lib/modules/measure/measures/HumidityMeasure.js +7 -0
  192. package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +1 -0
  193. package/dist/lib/modules/measure/measures/MovementMeasure.d.ts +5 -0
  194. package/dist/lib/modules/measure/measures/MovementMeasure.js +7 -0
  195. package/dist/lib/modules/measure/measures/MovementMeasure.js.map +1 -0
  196. package/dist/lib/modules/measure/measures/PositionMeasure.d.ts +10 -0
  197. package/dist/lib/modules/measure/measures/PositionMeasure.js +11 -0
  198. package/dist/lib/modules/measure/measures/PositionMeasure.js.map +1 -0
  199. package/dist/lib/modules/measure/measures/TemperatureMeasure.d.ts +5 -0
  200. package/dist/lib/modules/measure/measures/TemperatureMeasure.js +7 -0
  201. package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +1 -0
  202. package/dist/lib/modules/measure/measures/index.d.ts +5 -0
  203. package/{lib → dist/lib/modules/measure}/measures/index.js +0 -0
  204. package/dist/lib/modules/measure/measures/index.js.map +1 -0
  205. package/dist/lib/modules/measure/roles/RoleMeasuresAdmin.d.ts +16 -0
  206. package/dist/lib/modules/measure/roles/RoleMeasuresAdmin.js +32 -0
  207. package/dist/lib/modules/measure/roles/RoleMeasuresAdmin.js.map +1 -0
  208. package/dist/lib/modules/measure/roles/RoleMeasuresReader.d.ts +14 -0
  209. package/dist/lib/modules/measure/roles/RoleMeasuresReader.js +28 -0
  210. package/dist/lib/modules/measure/roles/RoleMeasuresReader.js.map +1 -0
  211. package/dist/lib/modules/measure/types/MeasureContent.d.ts +82 -0
  212. package/dist/lib/modules/measure/types/MeasureContent.js +3 -0
  213. package/dist/lib/modules/measure/types/MeasureContent.js.map +1 -0
  214. package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +15 -0
  215. package/{lib/types/measures → dist/lib/modules/measure/types}/MeasureDefinition.js +0 -0
  216. package/dist/lib/modules/measure/types/MeasureDefinition.js.map +1 -0
  217. package/dist/lib/modules/measure/types/MeasureEvents.d.ts +66 -0
  218. package/dist/lib/modules/measure/types/MeasureEvents.js +3 -0
  219. package/dist/lib/modules/measure/types/MeasureEvents.js.map +1 -0
  220. package/dist/lib/modules/model/ModelModule.d.ts +6 -0
  221. package/dist/lib/modules/model/ModelModule.js +15 -0
  222. package/dist/lib/modules/model/ModelModule.js.map +1 -0
  223. package/dist/lib/modules/model/ModelSerializer.d.ts +5 -0
  224. package/dist/lib/modules/model/ModelSerializer.js +32 -0
  225. package/dist/lib/modules/model/ModelSerializer.js.map +1 -0
  226. package/dist/lib/modules/model/ModelService.d.ts +24 -0
  227. package/dist/lib/modules/model/ModelService.js +153 -0
  228. package/dist/lib/modules/model/ModelService.js.map +1 -0
  229. package/dist/lib/modules/model/ModelsController.d.ts +17 -0
  230. package/dist/lib/modules/model/ModelsController.js +109 -0
  231. package/dist/lib/modules/model/ModelsController.js.map +1 -0
  232. package/dist/lib/modules/model/collections/modelsMappings.d.ts +2 -0
  233. package/dist/lib/modules/model/collections/modelsMappings.js +68 -0
  234. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -0
  235. package/dist/lib/modules/model/exports.d.ts +3 -0
  236. package/{lib/controllers/index.js → dist/lib/modules/model/exports.js} +4 -4
  237. package/dist/lib/modules/model/exports.js.map +1 -0
  238. package/dist/lib/modules/model/index.d.ts +7 -0
  239. package/dist/lib/modules/model/index.js +24 -0
  240. package/dist/lib/modules/model/index.js.map +1 -0
  241. package/dist/lib/modules/model/types/ModelApi.d.ts +72 -0
  242. package/dist/lib/modules/model/types/ModelApi.js +3 -0
  243. package/dist/lib/modules/model/types/ModelApi.js.map +1 -0
  244. package/dist/lib/modules/model/types/ModelContent.d.ts +97 -0
  245. package/dist/lib/modules/model/types/ModelContent.js +3 -0
  246. package/dist/lib/modules/model/types/ModelContent.js.map +1 -0
  247. package/dist/lib/modules/model/types/ModelDefinition.d.ts +62 -0
  248. package/dist/lib/modules/model/types/ModelDefinition.js +3 -0
  249. package/dist/lib/modules/model/types/ModelDefinition.js.map +1 -0
  250. package/dist/lib/modules/model/types/ModelEvents.d.ts +16 -0
  251. package/dist/lib/modules/model/types/ModelEvents.js +3 -0
  252. package/dist/lib/modules/model/types/ModelEvents.js.map +1 -0
  253. package/dist/lib/modules/shared/Module.d.ts +7 -0
  254. package/dist/lib/modules/shared/Module.js +13 -0
  255. package/dist/lib/modules/shared/Module.js.map +1 -0
  256. package/dist/lib/modules/shared/exports.d.ts +3 -0
  257. package/{lib/mappings/index.js → dist/lib/modules/shared/exports.js} +4 -5
  258. package/dist/lib/modules/shared/exports.js.map +1 -0
  259. package/dist/lib/modules/shared/index.d.ts +9 -0
  260. package/dist/lib/modules/shared/index.js +26 -0
  261. package/dist/lib/modules/shared/index.js.map +1 -0
  262. package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +11 -0
  263. package/{lib/types/BaseAssetContent.js → dist/lib/modules/shared/types/DigitalTwinContent.js} +1 -1
  264. package/dist/lib/modules/shared/types/DigitalTwinContent.js.map +1 -0
  265. package/dist/lib/modules/shared/types/EmbeddedMeasure.d.ts +24 -0
  266. package/dist/lib/modules/shared/types/EmbeddedMeasure.js +3 -0
  267. package/dist/lib/modules/shared/types/EmbeddedMeasure.js.map +1 -0
  268. package/dist/lib/modules/shared/types/KuzzleRole.d.ts +5 -0
  269. package/dist/lib/modules/shared/types/KuzzleRole.js +3 -0
  270. package/dist/lib/modules/shared/types/KuzzleRole.js.map +1 -0
  271. package/dist/lib/modules/shared/types/Metadata.d.ts +5 -0
  272. package/dist/lib/modules/shared/types/Metadata.js +3 -0
  273. package/dist/lib/modules/shared/types/Metadata.js.map +1 -0
  274. package/dist/lib/modules/shared/utils/ask.d.ts +8 -0
  275. package/dist/lib/modules/shared/utils/ask.js +12 -0
  276. package/dist/lib/modules/shared/utils/ask.js.map +1 -0
  277. package/dist/lib/modules/shared/utils/flattenObject.d.ts +24 -0
  278. package/dist/lib/modules/shared/utils/flattenObject.js +46 -0
  279. package/dist/lib/modules/shared/utils/flattenObject.js.map +1 -0
  280. package/dist/lib/modules/shared/utils/lock.d.ts +1 -0
  281. package/dist/lib/modules/shared/utils/lock.js +16 -0
  282. package/dist/lib/modules/shared/utils/lock.js.map +1 -0
  283. package/dist/lib/modules/shared/utils/snakeCase.d.ts +7 -0
  284. package/dist/lib/modules/shared/utils/snakeCase.js +18 -0
  285. package/dist/lib/modules/shared/utils/snakeCase.js.map +1 -0
  286. package/package.json +19 -27
  287. package/index.d.ts +0 -5
  288. package/lib/DeviceManagerPlugin.d.ts +0 -75
  289. package/lib/DeviceManagerPlugin.js +0 -274
  290. package/lib/InternalCollection.d.ts +0 -5
  291. package/lib/controllers/AssetCategoryController.d.ts +0 -28
  292. package/lib/controllers/AssetCategoryController.js +0 -189
  293. package/lib/controllers/AssetController.d.ts +0 -50
  294. package/lib/controllers/AssetController.js +0 -241
  295. package/lib/controllers/DecodersController.d.ts +0 -16
  296. package/lib/controllers/DecodersController.js +0 -27
  297. package/lib/controllers/DeviceController.d.ts +0 -74
  298. package/lib/controllers/DeviceController.js +0 -329
  299. package/lib/controllers/MeasureDefinitionController.d.ts +0 -0
  300. package/lib/controllers/MeasureDefinitionController.js +0 -1
  301. package/lib/controllers/MetadataController.d.ts +0 -16
  302. package/lib/controllers/MetadataController.js +0 -70
  303. package/lib/controllers/RelationalController.d.ts +0 -155
  304. package/lib/controllers/RelationalController.js +0 -410
  305. package/lib/controllers/index.d.ts +0 -3
  306. package/lib/core-classes/AssetCategoryService.d.ts +0 -20
  307. package/lib/core-classes/AssetCategoryService.js +0 -178
  308. package/lib/core-classes/AssetService.d.ts +0 -40
  309. package/lib/core-classes/AssetService.js +0 -97
  310. package/lib/core-classes/DeviceManagerEngine.d.ts +0 -23
  311. package/lib/core-classes/DeviceManagerEngine.js +0 -62
  312. package/lib/core-classes/DeviceService.d.ts +0 -115
  313. package/lib/core-classes/DeviceService.js +0 -282
  314. package/lib/core-classes/MeasureService.d.ts +0 -77
  315. package/lib/core-classes/MeasureService.js +0 -302
  316. package/lib/core-classes/PayloadService.d.ts +0 -24
  317. package/lib/core-classes/PayloadService.js +0 -54
  318. package/lib/core-classes/index.d.ts +0 -9
  319. package/lib/core-classes/registers/AssetsRegister.d.ts +0 -30
  320. package/lib/core-classes/registers/AssetsRegister.js +0 -68
  321. package/lib/core-classes/registers/DevicesRegister.d.ts +0 -20
  322. package/lib/core-classes/registers/DevicesRegister.js +0 -37
  323. package/lib/core-classes/registers/MeasuresRegister.d.ts +0 -30
  324. package/lib/core-classes/registers/MeasuresRegister.js +0 -60
  325. package/lib/mappings/assetCategoryMappings.d.ts +0 -69
  326. package/lib/mappings/assetCategoryMappings.js +0 -23
  327. package/lib/mappings/assetsMappings.d.ts +0 -130
  328. package/lib/mappings/assetsMappings.js +0 -72
  329. package/lib/mappings/deviceMappings.js +0 -42
  330. package/lib/mappings/fieldpathMappings.d.ts +0 -17
  331. package/lib/mappings/fieldpathMappings.js +0 -21
  332. package/lib/mappings/genericEmbeddedMapping.d.ts +0 -1
  333. package/lib/mappings/genericEmbeddedMapping.js +0 -11
  334. package/lib/mappings/index.d.ts +0 -4
  335. package/lib/mappings/measuresMappings.d.ts +0 -82
  336. package/lib/mappings/measuresMappings.js +0 -72
  337. package/lib/mappings/metadataMappings.d.ts +0 -149
  338. package/lib/mappings/metadataMappings.js +0 -64
  339. package/lib/mappings/payloadsMappings.js +0 -20
  340. package/lib/measures/BatteryMeasure.d.ts +0 -7
  341. package/lib/measures/BatteryMeasure.js +0 -12
  342. package/lib/measures/HumidityMeasure.d.ts +0 -7
  343. package/lib/measures/HumidityMeasure.js +0 -12
  344. package/lib/measures/MovementMeasure.d.ts +0 -7
  345. package/lib/measures/MovementMeasure.js +0 -12
  346. package/lib/measures/PositionMeasure.d.ts +0 -12
  347. package/lib/measures/PositionMeasure.js +0 -16
  348. package/lib/measures/TemperatureMeasure.d.ts +0 -7
  349. package/lib/measures/TemperatureMeasure.js +0 -12
  350. package/lib/measures/index.d.ts +0 -5
  351. package/lib/models/BaseAsset.d.ts +0 -18
  352. package/lib/models/BaseAsset.js +0 -64
  353. package/lib/models/Config.d.ts +0 -21
  354. package/lib/models/Config.js +0 -26
  355. package/lib/models/Device.d.ts +0 -15
  356. package/lib/models/Device.js +0 -45
  357. package/lib/models/index.d.ts +0 -2
  358. package/lib/types/AssetCategoryContent.d.ts +0 -28
  359. package/lib/types/AssetCategoryContent.js +0 -3
  360. package/lib/types/BaseAssetContent.d.ts +0 -45
  361. package/lib/types/DecodedPayload.d.ts +0 -53
  362. package/lib/types/DecoderContent.d.ts +0 -5
  363. package/lib/types/DeviceContent.d.ts +0 -32
  364. package/lib/types/MetadataContent.d.ts +0 -29
  365. package/lib/types/MetadataContent.js +0 -15
  366. package/lib/types/Request.d.ts +0 -26
  367. package/lib/types/index.d.ts +0 -7
  368. package/lib/types/measures/MeasureContent.d.ts +0 -79
  369. package/lib/types/measures/MeasureContent.js +0 -12
  370. package/lib/types/measures/MeasureDefinition.d.ts +0 -40
  371. package/lib/utils/index.d.ts +0 -1
  372. package/lib/utils/writeMany.d.ts +0 -13
  373. package/lib/utils/writeMany.js +0 -39
@@ -0,0 +1,282 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceService = void 0;
4
+ const kuzzle_1 = require("kuzzle");
5
+ const core_1 = require("../../core");
6
+ const shared_1 = require("../shared");
7
+ const DeviceSerializer_1 = require("./model/DeviceSerializer");
8
+ class DeviceService {
9
+ get sdk() {
10
+ return this.context.accessors.sdk;
11
+ }
12
+ get app() {
13
+ return global.app;
14
+ }
15
+ get impersonatedSdk() {
16
+ return (user) => this.sdk.as(user, { checkRights: false });
17
+ }
18
+ constructor(plugin) {
19
+ this.config = plugin.config;
20
+ this.context = plugin.context;
21
+ (0, shared_1.onAsk)("ask:device-manager:device:unlink-asset", async ({ deviceId, user }) => {
22
+ await this.unlinkAsset(user, deviceId);
23
+ });
24
+ }
25
+ /**
26
+ * Create a new device.
27
+ *
28
+ * @todo creating a device in the "device-manager" index should be a separate
29
+ * method since in this case "engineId" is not really an engine ID but still
30
+ * required as an argument (in part to check the tenant rights)
31
+ */
32
+ async create(user, model, reference, metadata, { engineId, refresh, } = {}) {
33
+ let device = {
34
+ _id: DeviceSerializer_1.DeviceSerializer.id(model, reference),
35
+ _source: {
36
+ measures: {},
37
+ metadata,
38
+ model,
39
+ reference,
40
+ },
41
+ };
42
+ return (0, shared_1.lock)(`device:create:${device._id}`, async () => {
43
+ var _a;
44
+ const deviceModel = await (0, shared_1.ask)("ask:device-manager:model:device:get", { model });
45
+ for (const metadataName of Object.keys(deviceModel.device.metadataMappings)) {
46
+ (_a = device._source.metadata)[metadataName] || (_a[metadataName] = null);
47
+ }
48
+ const refreshableCollections = [];
49
+ const { _source } = await this.impersonatedSdk(user).document.create(this.config.adminIndex, core_1.InternalCollection.DEVICES, device._source, device._id);
50
+ device._source = _source;
51
+ refreshableCollections.push({
52
+ collection: core_1.InternalCollection.DEVICES,
53
+ index: this.config.adminIndex,
54
+ });
55
+ if (engineId && engineId !== this.config.adminIndex) {
56
+ device = await this.attachEngine(user, engineId, device._id);
57
+ refreshableCollections.push({
58
+ collection: core_1.InternalCollection.DEVICES,
59
+ index: engineId,
60
+ });
61
+ }
62
+ if (refresh) {
63
+ await Promise.all(refreshableCollections.map(({ index, collection }) => this.sdk.collection.refresh(index, collection)));
64
+ }
65
+ return device;
66
+ });
67
+ }
68
+ async get(index, deviceId) {
69
+ const device = await this.sdk.document.get(index, core_1.InternalCollection.DEVICES, deviceId);
70
+ return device;
71
+ }
72
+ async update(user, engineId, deviceId, metadata, { refresh }) {
73
+ return (0, shared_1.lock)(`device:update:${deviceId}`, async () => {
74
+ const device = await this.get(engineId, deviceId);
75
+ const updatedPayload = await this.app.trigger("device-manager:device:update:before", { device, metadata });
76
+ const updatedDevice = await this.impersonatedSdk(user).document.update(engineId, core_1.InternalCollection.DEVICES, deviceId, { metadata: updatedPayload.metadata }, { refresh, source: true });
77
+ await this.app.trigger("device-manager:device:update:after", {
78
+ device: updatedDevice,
79
+ metadata: updatedPayload.metadata,
80
+ });
81
+ return updatedDevice;
82
+ });
83
+ }
84
+ async delete(user, engineId, deviceId, { refresh }) {
85
+ return (0, shared_1.lock)(`device:delete:${deviceId}`, async () => {
86
+ const device = await this.get(engineId, deviceId);
87
+ const promises = [];
88
+ if (device._source.assetId) {
89
+ const asset = await this.sdk.document.get(engineId, core_1.InternalCollection.ASSETS, device._source.assetId);
90
+ const linkedDevices = asset._source.linkedDevices.filter((link) => link._id !== device._id);
91
+ promises.push(
92
+ // Potential race condition if someone update the asset linkedDevices
93
+ // at the same time (e.g link or unlink asset)
94
+ this.impersonatedSdk(user)
95
+ .document.update(engineId, core_1.InternalCollection.ASSETS, device._source.assetId, { linkedDevices }, { refresh })
96
+ .then(async (updatedAsset) => {
97
+ const event = {
98
+ name: "unlink",
99
+ unlink: {
100
+ deviceId,
101
+ },
102
+ };
103
+ await (0, shared_1.ask)("ask:device-manager:asset:history:add", { asset: updatedAsset, engineId, event });
104
+ }));
105
+ }
106
+ promises.push(this.sdk.document.delete(this.config.adminIndex, core_1.InternalCollection.DEVICES, deviceId, { refresh }));
107
+ promises.push(this.sdk.document.delete(engineId, core_1.InternalCollection.DEVICES, deviceId, { refresh }));
108
+ await Promise.all(promises);
109
+ });
110
+ }
111
+ async search(engineId, searchBody, { from, size, scroll, lang, }) {
112
+ const result = await this.sdk.document.search(engineId, core_1.InternalCollection.DEVICES, searchBody, { from, lang, scroll, size });
113
+ return result;
114
+ }
115
+ /**
116
+ * Attach the device to an engine
117
+ *
118
+ * @param engineId Engine id to attach to
119
+ * @param deviceId Device id to attach
120
+ * @param options.refresh Wait for ES indexation
121
+ * @param options.strict If true, throw if an operation isn't possible
122
+ */
123
+ async attachEngine(user, engineId, deviceId, { refresh } = {}) {
124
+ return (0, shared_1.lock)(`device:attachEngine:${deviceId}`, async () => {
125
+ const device = await this.get(this.config.adminIndex, deviceId);
126
+ if (device._source.engineId) {
127
+ throw new kuzzle_1.BadRequestError(`Device "${device._id}" is already attached to an engine.`);
128
+ }
129
+ await this.checkEngineExists(engineId);
130
+ device._source.engineId = engineId;
131
+ const [updatedDevice] = await Promise.all([
132
+ this.impersonatedSdk(user).document.update(this.config.adminIndex, core_1.InternalCollection.DEVICES, device._id, { engineId }, { source: true }),
133
+ this.impersonatedSdk(user).document.create(device._source.engineId, core_1.InternalCollection.DEVICES, device._source, device._id),
134
+ ]);
135
+ if (refresh) {
136
+ await Promise.all([
137
+ this.sdk.collection.refresh(this.config.adminIndex, core_1.InternalCollection.DEVICES),
138
+ this.sdk.collection.refresh(device._source.engineId, core_1.InternalCollection.DEVICES),
139
+ ]);
140
+ }
141
+ return updatedDevice;
142
+ });
143
+ }
144
+ /**
145
+ * Detach a device from its attached engine
146
+ *
147
+ * @param deviceId Device id
148
+ * @param options.refresh Wait for ES indexation
149
+ */
150
+ async detachEngine(user, deviceId, { refresh } = {}) {
151
+ return (0, shared_1.lock)(`device:detachEngine:${deviceId}`, async () => {
152
+ const device = await this.get(this.config.adminIndex, deviceId);
153
+ this.checkAttachedToEngine(device);
154
+ if (device._source.assetId) {
155
+ await this.unlinkAsset(user, deviceId, { refresh });
156
+ }
157
+ await Promise.all([
158
+ this.impersonatedSdk(user).document.update(this.config.adminIndex, core_1.InternalCollection.DEVICES, device._id, { engineId: null }),
159
+ this.sdk.document.delete(device._source.engineId, core_1.InternalCollection.DEVICES, device._id),
160
+ ]);
161
+ if (refresh) {
162
+ await Promise.all([
163
+ this.sdk.collection.refresh(this.config.adminIndex, core_1.InternalCollection.DEVICES),
164
+ this.sdk.collection.refresh(device._source.engineId, core_1.InternalCollection.DEVICES),
165
+ ]);
166
+ }
167
+ return device;
168
+ });
169
+ }
170
+ /**
171
+ * Link a device to an asset.
172
+ */
173
+ async linkAsset(user, engineId, deviceId, assetId, measureNames, { refresh } = {}) {
174
+ return (0, shared_1.lock)(`device:linkAsset:${deviceId}`, async () => {
175
+ const device = await this.get(this.config.adminIndex, deviceId);
176
+ this.checkAttachedToEngine(device);
177
+ if (device._source.engineId !== engineId) {
178
+ throw new kuzzle_1.BadRequestError(`Device "${device._id}" is not attached to the specified engine.`);
179
+ }
180
+ if (device._source.assetId) {
181
+ throw new kuzzle_1.BadRequestError(`Device "${device._id}" is already linked to an asset.`);
182
+ }
183
+ const asset = await this.sdk.document.get(device._source.engineId, core_1.InternalCollection.ASSETS, assetId);
184
+ this.checkAssetMeasureNamesAvailability(asset, measureNames);
185
+ device._source.assetId = assetId;
186
+ asset._source.linkedDevices.push({
187
+ _id: deviceId,
188
+ measureNames,
189
+ });
190
+ const [updatedDevice, , updatedAsset] = await Promise.all([
191
+ this.impersonatedSdk(user).document.update(this.config.adminIndex, core_1.InternalCollection.DEVICES, device._id, { assetId }, { source: true }),
192
+ this.impersonatedSdk(user).document.update(device._source.engineId, core_1.InternalCollection.DEVICES, device._id, { assetId }),
193
+ this.impersonatedSdk(user).document.update(device._source.engineId, core_1.InternalCollection.ASSETS, asset._id, { linkedDevices: asset._source.linkedDevices }, { source: true }),
194
+ ]);
195
+ const event = {
196
+ link: {
197
+ deviceId: device._id,
198
+ },
199
+ name: "link",
200
+ };
201
+ await (0, shared_1.ask)("ask:device-manager:asset:history:add", { asset: updatedAsset, engineId, event });
202
+ if (refresh) {
203
+ await Promise.all([
204
+ this.sdk.collection.refresh(this.config.adminIndex, core_1.InternalCollection.DEVICES),
205
+ this.sdk.collection.refresh(device._source.engineId, core_1.InternalCollection.DEVICES),
206
+ this.sdk.collection.refresh(device._source.engineId, core_1.InternalCollection.ASSETS),
207
+ ]);
208
+ }
209
+ return { asset: updatedAsset, device: updatedDevice };
210
+ });
211
+ }
212
+ /**
213
+ * Checks if the asset does not already have a linked device using one of the
214
+ * requested measure names.
215
+ */
216
+ checkAssetMeasureNamesAvailability(asset, measureNames) {
217
+ const requestedMeasuresNames = measureNames.map((m) => m.asset);
218
+ for (const link of asset._source.linkedDevices) {
219
+ const existingMeasureNames = link.measureNames.map((m) => m.asset);
220
+ for (const requestedMeasuresName of requestedMeasuresNames) {
221
+ if (existingMeasureNames.includes(requestedMeasuresName)) {
222
+ throw new kuzzle_1.BadRequestError(`Measure name "${requestedMeasuresName}" is already used by another device on this asset.`);
223
+ }
224
+ }
225
+ }
226
+ }
227
+ /**
228
+ * Unlink a device of an asset
229
+ *
230
+ * @param deviceId Id of the device
231
+ * @param options.refresh Wait for ES indexation
232
+ */
233
+ async unlinkAsset(user, deviceId, { refresh } = {}) {
234
+ return (0, shared_1.lock)(`device:unlinkAsset:${deviceId}`, async () => {
235
+ const device = await this.get(this.config.adminIndex, deviceId);
236
+ const engineId = device._source.engineId;
237
+ this.checkAttachedToEngine(device);
238
+ if (!device._source.assetId) {
239
+ throw new kuzzle_1.BadRequestError(`Device "${device._id}" is not linked to an asset.`);
240
+ }
241
+ const asset = await this.sdk.document.get(engineId, core_1.InternalCollection.ASSETS, device._source.assetId);
242
+ const linkedDevices = asset._source.linkedDevices.filter((link) => link._id !== device._id);
243
+ const [updatedDevice, , updatedAsset] = await Promise.all([
244
+ this.impersonatedSdk(user).document.update(this.config.adminIndex, core_1.InternalCollection.DEVICES, device._id, { assetId: null }, { source: true }),
245
+ this.impersonatedSdk(user).document.update(engineId, core_1.InternalCollection.DEVICES, device._id, { assetId: null }),
246
+ this.impersonatedSdk(user).document.update(engineId, core_1.InternalCollection.ASSETS, asset._id, { linkedDevices }, { source: true }),
247
+ ]);
248
+ const event = {
249
+ name: "unlink",
250
+ unlink: {
251
+ deviceId,
252
+ },
253
+ };
254
+ await (0, shared_1.ask)("ask:device-manager:asset:history:add", { asset: updatedAsset, engineId, event });
255
+ if (refresh) {
256
+ await Promise.all([
257
+ this.sdk.collection.refresh(this.config.adminIndex, core_1.InternalCollection.DEVICES),
258
+ this.sdk.collection.refresh(engineId, core_1.InternalCollection.DEVICES),
259
+ this.sdk.collection.refresh(engineId, core_1.InternalCollection.ASSETS),
260
+ ]);
261
+ }
262
+ return { asset: updatedAsset, device: updatedDevice };
263
+ });
264
+ }
265
+ async checkEngineExists(engineId) {
266
+ const { result: { exists }, } = await this.sdk.query({
267
+ action: "exists",
268
+ controller: "device-manager/engine",
269
+ index: engineId,
270
+ });
271
+ if (!exists) {
272
+ throw new kuzzle_1.BadRequestError(`Engine "${engineId}" does not exists.`);
273
+ }
274
+ }
275
+ checkAttachedToEngine(device) {
276
+ if (!device._source.engineId) {
277
+ throw new kuzzle_1.BadRequestError(`Device "${device._id}" is not attached to an engine.`);
278
+ }
279
+ }
280
+ }
281
+ exports.DeviceService = DeviceService;
282
+ //# sourceMappingURL=DeviceService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceService.js","sourceRoot":"","sources":["../../../../lib/modules/device/DeviceService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { ControllerDefinition, KuzzleRequest } from "kuzzle";
2
+ import { DeviceService } from "./DeviceService";
3
+ import { ApiDeviceAttachEngineResult, ApiDeviceCreateResult, ApiDeviceDeleteResult, ApiDeviceDetachEngineResult, ApiDeviceGetResult, ApiDeviceLinkAssetResult, ApiDeviceSearchResult, ApiDeviceUnlinkAssetResult, ApiDeviceUpdateResult } from "./types/DeviceApi";
4
+ export declare class DevicesController {
5
+ definition: ControllerDefinition;
6
+ private deviceService;
7
+ constructor(deviceService: DeviceService);
8
+ get(request: KuzzleRequest): Promise<ApiDeviceGetResult>;
9
+ update(request: KuzzleRequest): Promise<ApiDeviceUpdateResult>;
10
+ delete(request: KuzzleRequest): Promise<ApiDeviceDeleteResult>;
11
+ search(request: KuzzleRequest): Promise<ApiDeviceSearchResult>;
12
+ /**
13
+ * Create and provision a new device
14
+ */
15
+ create(request: KuzzleRequest): Promise<ApiDeviceCreateResult>;
16
+ /**
17
+ * Attach a device to a tenant
18
+ */
19
+ attachEngine(request: KuzzleRequest): Promise<ApiDeviceAttachEngineResult>;
20
+ /**
21
+ * Detach a device from it's tenant
22
+ */
23
+ detachEngine(request: KuzzleRequest): Promise<ApiDeviceDetachEngineResult>;
24
+ /**
25
+ * Link a device to an asset.
26
+ */
27
+ linkAsset(request: KuzzleRequest): Promise<ApiDeviceLinkAssetResult>;
28
+ /**
29
+ * Unlink a device from an asset.
30
+ */
31
+ unlinkAsset(request: KuzzleRequest): Promise<ApiDeviceUnlinkAssetResult>;
32
+ }
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DevicesController = void 0;
4
+ const AssetSerializer_1 = require("../asset/model/AssetSerializer");
5
+ const DeviceSerializer_1 = require("./model/DeviceSerializer");
6
+ class DevicesController {
7
+ constructor(deviceService) {
8
+ this.deviceService = deviceService;
9
+ /* eslint-disable sort-keys */
10
+ this.definition = {
11
+ actions: {
12
+ create: {
13
+ handler: this.create.bind(this),
14
+ http: [{ path: "device-manager/:engineId/devices", verb: "post" }],
15
+ },
16
+ get: {
17
+ handler: this.get.bind(this),
18
+ http: [
19
+ { path: "device-manager/:engineId/devices/:_id", verb: "get" },
20
+ ],
21
+ },
22
+ update: {
23
+ handler: this.update.bind(this),
24
+ http: [
25
+ { path: "device-manager/:engineId/device/:deviceId", verb: "post" },
26
+ ],
27
+ },
28
+ search: {
29
+ handler: this.search.bind(this),
30
+ http: [
31
+ { path: "device-manager/:engineId/devices/_search", verb: "post" },
32
+ ],
33
+ },
34
+ delete: {
35
+ handler: this.delete.bind(this),
36
+ http: [
37
+ {
38
+ path: "device-manager/:engineId/device/:deviceId",
39
+ verb: "delete",
40
+ },
41
+ ],
42
+ },
43
+ attachEngine: {
44
+ handler: this.attachEngine.bind(this),
45
+ http: [
46
+ {
47
+ path: "device-manager/:engineId/devices/:_id/_attach",
48
+ verb: "put",
49
+ },
50
+ ],
51
+ },
52
+ detachEngine: {
53
+ handler: this.detachEngine.bind(this),
54
+ http: [
55
+ { path: "device-manager/devices/:_id/_detach", verb: "delete" },
56
+ ],
57
+ },
58
+ linkAsset: {
59
+ handler: this.linkAsset.bind(this),
60
+ http: [
61
+ {
62
+ path: "device-manager/:engineId/devices/:_id/_link/:assetId",
63
+ verb: "put",
64
+ },
65
+ ],
66
+ },
67
+ unlinkAsset: {
68
+ handler: this.unlinkAsset.bind(this),
69
+ http: [
70
+ {
71
+ path: "device-manager/:engineId/devices/:_id/_unlink",
72
+ verb: "delete",
73
+ },
74
+ ],
75
+ },
76
+ },
77
+ };
78
+ /* eslint-enable sort-keys */
79
+ }
80
+ async get(request) {
81
+ const deviceId = request.getId();
82
+ const engineId = request.getString("engineId");
83
+ const device = await this.deviceService.get(engineId, deviceId);
84
+ return DeviceSerializer_1.DeviceSerializer.serialize(device);
85
+ }
86
+ async update(request) {
87
+ const deviceId = request.getId();
88
+ const engineId = request.getString("engineId");
89
+ const metadata = request.getBody();
90
+ const refresh = request.getRefresh();
91
+ const updatedDevice = await this.deviceService.update(request.getUser(), engineId, deviceId, metadata, {
92
+ refresh,
93
+ });
94
+ return DeviceSerializer_1.DeviceSerializer.serialize(updatedDevice);
95
+ }
96
+ async delete(request) {
97
+ const engineId = request.getString("engineId");
98
+ const deviceId = request.getId();
99
+ const refresh = request.getRefresh();
100
+ await this.deviceService.delete(request.getUser(), engineId, deviceId, {
101
+ refresh,
102
+ });
103
+ }
104
+ async search(request) {
105
+ const engineId = request.getString("engineId");
106
+ const { searchBody, from, size, scrollTTL: scroll, } = request.getSearchParams();
107
+ const lang = request.getLangParam();
108
+ const result = await this.deviceService.search(engineId, searchBody, {
109
+ from,
110
+ lang,
111
+ scroll,
112
+ size,
113
+ });
114
+ return result;
115
+ }
116
+ /**
117
+ * Create and provision a new device
118
+ */
119
+ async create(request) {
120
+ const engineId = request.getString("engineId");
121
+ const model = request.getBodyString("model");
122
+ const reference = request.getBodyString("reference");
123
+ const metadata = request.getBodyObject("metadata", {});
124
+ const refresh = request.getRefresh();
125
+ const device = await this.deviceService.create(request.getUser(), model, reference, metadata, {
126
+ engineId,
127
+ refresh,
128
+ });
129
+ return DeviceSerializer_1.DeviceSerializer.serialize(device);
130
+ }
131
+ /**
132
+ * Attach a device to a tenant
133
+ */
134
+ async attachEngine(request) {
135
+ const engineId = request.getString("engineId");
136
+ const deviceId = request.getId();
137
+ const refresh = request.getRefresh();
138
+ await this.deviceService.attachEngine(request.getUser(), engineId, deviceId, {
139
+ refresh,
140
+ });
141
+ }
142
+ /**
143
+ * Detach a device from it's tenant
144
+ */
145
+ async detachEngine(request) {
146
+ const deviceId = request.getId();
147
+ const refresh = request.getRefresh();
148
+ await this.deviceService.detachEngine(request.getUser(), deviceId, {
149
+ refresh,
150
+ });
151
+ }
152
+ /**
153
+ * Link a device to an asset.
154
+ */
155
+ async linkAsset(request) {
156
+ const deviceId = request.getId();
157
+ const engineId = request.getString("engineId");
158
+ const assetId = request.getString("assetId");
159
+ const measureNames = request.getBodyArray("measureNames");
160
+ const refresh = request.getRefresh();
161
+ const { asset, device } = await this.deviceService.linkAsset(request.getUser(), engineId, deviceId, assetId, measureNames, { refresh });
162
+ return {
163
+ asset: AssetSerializer_1.AssetSerializer.serialize(asset),
164
+ device: DeviceSerializer_1.DeviceSerializer.serialize(device),
165
+ };
166
+ }
167
+ /**
168
+ * Unlink a device from an asset.
169
+ */
170
+ async unlinkAsset(request) {
171
+ const deviceId = request.getId();
172
+ const refresh = request.getRefresh();
173
+ const { asset, device } = await this.deviceService.unlinkAsset(request.getUser(), deviceId, {
174
+ refresh,
175
+ });
176
+ return {
177
+ asset: AssetSerializer_1.AssetSerializer.serialize(asset),
178
+ device: DeviceSerializer_1.DeviceSerializer.serialize(device),
179
+ };
180
+ }
181
+ }
182
+ exports.DevicesController = DevicesController;
183
+ //# sourceMappingURL=DevicesController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevicesController.js","sourceRoot":"","sources":["../../../../lib/modules/device/DevicesController.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,43 @@
1
1
  export declare const devicesMappings: {
2
2
  dynamic: string;
3
3
  properties: {
4
- assetId: {
4
+ model: {
5
+ type: string;
5
6
  fields: {
6
7
  text: {
7
8
  type: string;
8
9
  };
9
10
  };
10
- type: string;
11
11
  };
12
- engineId: {
12
+ reference: {
13
+ type: string;
13
14
  fields: {
14
15
  text: {
15
16
  type: string;
16
17
  };
17
18
  };
18
- type: string;
19
- };
20
- measures: {
21
- properties: {};
22
- };
23
- metadata: {
24
- dynamic: string;
25
- properties: {};
26
19
  };
27
- model: {
20
+ assetId: {
21
+ type: string;
28
22
  fields: {
29
23
  text: {
30
24
  type: string;
31
25
  };
32
26
  };
33
- type: string;
34
27
  };
35
- reference: {
28
+ engineId: {
29
+ type: string;
36
30
  fields: {
37
31
  text: {
38
32
  type: string;
39
33
  };
40
34
  };
41
- type: string;
35
+ };
36
+ metadata: {
37
+ properties: {};
38
+ };
39
+ measures: {
40
+ properties: {};
42
41
  };
43
42
  };
44
43
  };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.devicesMappings = void 0;
4
+ exports.devicesMappings = {
5
+ dynamic: "strict",
6
+ properties: {
7
+ model: {
8
+ type: "keyword",
9
+ fields: { text: { type: "text" } },
10
+ },
11
+ reference: {
12
+ type: "keyword",
13
+ fields: { text: { type: "text" } },
14
+ },
15
+ assetId: {
16
+ type: "keyword",
17
+ fields: { text: { type: "text" } },
18
+ },
19
+ engineId: {
20
+ type: "keyword",
21
+ fields: { text: { type: "text" } },
22
+ },
23
+ metadata: {
24
+ properties: {
25
+ // populated with device models
26
+ },
27
+ },
28
+ measures: {
29
+ properties: {
30
+ // populated with measure models
31
+ },
32
+ },
33
+ },
34
+ };
35
+ //# sourceMappingURL=deviceMappings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/device/collections/deviceMappings.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SACnC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SACnC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SACnC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SACnC;QACD,QAAQ,EAAE;YACR,UAAU,EAAE;YACV,+BAA+B;aAChC;SACF;QACD,QAAQ,EAAE;YACR,UAAU,EAAE;YACV,gCAAgC;aACjC;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./types/DeviceContent";
2
+ export * from "./types/DeviceApi";
3
+ export * from "./types/DeviceEvents";
4
+ export * from "./roles/RoleDevicesAdmin";
5
+ export * from "./roles/RoleDevicesPlatformAdmin";
6
+ export * from "./roles/RoleDevicesReader";
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types/DeviceContent"), exports);
18
+ __exportStar(require("./types/DeviceApi"), exports);
19
+ __exportStar(require("./types/DeviceEvents"), exports);
20
+ __exportStar(require("./roles/RoleDevicesAdmin"), exports);
21
+ __exportStar(require("./roles/RoleDevicesPlatformAdmin"), exports);
22
+ __exportStar(require("./roles/RoleDevicesReader"), exports);
23
+ //# sourceMappingURL=exports.js.map