kuzzle-device-manager 3.0.0-next.2 → 3.0.0-next.22

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 (225) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/modules/asset/AssetModule.d.ts +0 -1
  5. package/dist/lib/modules/asset/AssetModule.js +0 -10
  6. package/dist/lib/modules/asset/AssetModule.js.map +1 -1
  7. package/dist/lib/modules/asset/AssetService.d.ts +14 -4
  8. package/dist/lib/modules/asset/AssetService.js +238 -99
  9. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  10. package/dist/lib/modules/asset/AssetsController.d.ts +31 -7
  11. package/dist/lib/modules/asset/AssetsController.js +150 -21
  12. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  13. package/dist/lib/modules/asset/collections/assetsMappings.js +31 -11
  14. package/dist/lib/modules/asset/collections/assetsMappings.js.map +1 -1
  15. package/dist/lib/modules/asset/exports.d.ts +0 -4
  16. package/dist/lib/modules/asset/exports.js +0 -4
  17. package/dist/lib/modules/asset/exports.js.map +1 -1
  18. package/dist/lib/modules/asset/index.d.ts +1 -3
  19. package/dist/lib/modules/asset/index.js +1 -3
  20. package/dist/lib/modules/asset/index.js.map +1 -1
  21. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +1 -1
  22. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
  23. package/dist/lib/modules/asset/types/AssetApi.d.ts +128 -7
  24. package/dist/lib/modules/asset/types/AssetContent.d.ts +9 -11
  25. package/dist/lib/modules/asset/types/AssetHistoryContent.d.ts +4 -11
  26. package/dist/lib/modules/decoder/DecodedPayload.d.ts +2 -0
  27. package/dist/lib/modules/decoder/DecodedPayload.js +13 -2
  28. package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -1
  29. package/dist/lib/modules/decoder/DecodersController.d.ts +6 -0
  30. package/dist/lib/modules/decoder/DecodersController.js +31 -0
  31. package/dist/lib/modules/decoder/DecodersController.js.map +1 -1
  32. package/dist/lib/modules/decoder/DecodersRegister.js +6 -1
  33. package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -1
  34. package/dist/lib/modules/decoder/PayloadService.d.ts +1 -0
  35. package/dist/lib/modules/decoder/PayloadService.js +137 -27
  36. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  37. package/dist/lib/modules/decoder/roles/RolePayloadsAll.js +5 -0
  38. package/dist/lib/modules/decoder/roles/RolePayloadsAll.js.map +1 -1
  39. package/dist/lib/modules/decoder/types/DecoderApi.d.ts +0 -1
  40. package/dist/lib/modules/device/DeviceService.d.ts +14 -40
  41. package/dist/lib/modules/device/DeviceService.js +196 -344
  42. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  43. package/dist/lib/modules/device/DevicesController.d.ts +5 -5
  44. package/dist/lib/modules/device/DevicesController.js +36 -26
  45. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  46. package/dist/lib/modules/device/collections/deviceMappings.d.ts +6 -0
  47. package/dist/lib/modules/device/collections/deviceMappings.js +70 -6
  48. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  49. package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +2 -2
  50. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +9 -5
  51. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -1
  52. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js +4 -1
  53. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js.map +1 -1
  54. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.js +2 -1
  55. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.js.map +1 -1
  56. package/dist/lib/modules/device/types/DeviceApi.d.ts +69 -42
  57. package/dist/lib/modules/device/types/DeviceContent.d.ts +55 -4
  58. package/dist/lib/modules/device/types/DeviceEvents.d.ts +2 -25
  59. package/dist/lib/modules/group/GroupsController.d.ts +35 -0
  60. package/dist/lib/modules/group/GroupsController.js +471 -0
  61. package/dist/lib/modules/group/GroupsController.js.map +1 -0
  62. package/dist/lib/modules/group/GroupsModule.d.ts +6 -0
  63. package/dist/lib/modules/group/GroupsModule.js +21 -0
  64. package/dist/lib/modules/group/GroupsModule.js.map +1 -0
  65. package/dist/lib/modules/group/GroupsService.d.ts +116 -0
  66. package/dist/lib/modules/group/GroupsService.js +517 -0
  67. package/dist/lib/modules/group/GroupsService.js.map +1 -0
  68. package/dist/lib/modules/group/collections/groupsMappings.d.ts +2 -0
  69. package/dist/lib/modules/{asset/collections/assetsGroupsMapping.js → group/collections/groupsMappings.js} +11 -6
  70. package/dist/lib/modules/group/collections/groupsMappings.js.map +1 -0
  71. package/dist/lib/modules/group/exports.d.ts +5 -0
  72. package/dist/lib/modules/group/exports.js +22 -0
  73. package/dist/lib/modules/group/exports.js.map +1 -0
  74. package/dist/lib/modules/group/index.d.ts +4 -0
  75. package/dist/lib/modules/{measure/measures → group}/index.js +4 -5
  76. package/dist/lib/modules/group/index.js.map +1 -0
  77. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsAdmin.d.ts → group/roles/RoleGroupsAdmin.d.ts} +3 -3
  78. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsAdmin.js → group/roles/RoleGroupsAdmin.js} +13 -7
  79. package/dist/lib/modules/group/roles/RoleGroupsAdmin.js.map +1 -0
  80. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsReader.d.ts → group/roles/RoleGroupsReader.d.ts} +3 -3
  81. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsReader.js → group/roles/RoleGroupsReader.js} +13 -7
  82. package/dist/lib/modules/group/roles/RoleGroupsReader.js.map +1 -0
  83. package/dist/lib/modules/group/types/GroupContent.d.ts +10 -0
  84. package/dist/lib/modules/{asset/types/AssetGroupsApi.js → group/types/GroupContent.js} +1 -1
  85. package/dist/lib/modules/group/types/GroupContent.js.map +1 -0
  86. package/dist/lib/modules/group/types/GroupsApi.d.ts +141 -0
  87. package/dist/lib/modules/{asset/types/AssetGroupContent.js → group/types/GroupsApi.js} +1 -1
  88. package/dist/lib/modules/group/types/GroupsApi.js.map +1 -0
  89. package/dist/lib/modules/measure/MeasureExporter.d.ts +2 -0
  90. package/dist/lib/modules/measure/MeasureService.d.ts +11 -38
  91. package/dist/lib/modules/measure/MeasureService.js +81 -330
  92. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  93. package/dist/lib/modules/measure/MeasureSourcesBuilder.d.ts +1 -2
  94. package/dist/lib/modules/measure/MeasureSourcesBuilder.js +7 -16
  95. package/dist/lib/modules/measure/MeasureSourcesBuilder.js.map +1 -1
  96. package/dist/lib/modules/measure/MeasureTargetBuilder.js +3 -2
  97. package/dist/lib/modules/measure/MeasureTargetBuilder.js.map +1 -1
  98. package/dist/lib/modules/measure/collections/measuresMappings.d.ts +2 -83
  99. package/dist/lib/modules/measure/collections/measuresMappings.js +7 -7
  100. package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
  101. package/dist/lib/modules/measure/exports.d.ts +0 -1
  102. package/dist/lib/modules/measure/exports.js +0 -1
  103. package/dist/lib/modules/measure/exports.js.map +1 -1
  104. package/dist/lib/modules/measure/index.d.ts +0 -1
  105. package/dist/lib/modules/measure/index.js +0 -1
  106. package/dist/lib/modules/measure/index.js.map +1 -1
  107. package/dist/lib/modules/measure/types/MeasureContent.d.ts +9 -2
  108. package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +4 -0
  109. package/dist/lib/modules/measure/types/MeasureEvents.d.ts +6 -149
  110. package/dist/lib/modules/measure/types/MeasureSources.d.ts +5 -0
  111. package/dist/lib/modules/measure/types/MeasureSources.js +4 -3
  112. package/dist/lib/modules/measure/types/MeasureSources.js.map +1 -1
  113. package/dist/lib/modules/measure/types/MeasureTarget.js +4 -3
  114. package/dist/lib/modules/measure/types/MeasureTarget.js.map +1 -1
  115. package/dist/lib/modules/model/MeasuresDuplicates.js +2 -1
  116. package/dist/lib/modules/model/MeasuresDuplicates.js.map +1 -1
  117. package/dist/lib/modules/model/ModelSerializer.js +6 -0
  118. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  119. package/dist/lib/modules/model/ModelService.d.ts +16 -4
  120. package/dist/lib/modules/model/ModelService.js +177 -54
  121. package/dist/lib/modules/model/ModelService.js.map +1 -1
  122. package/dist/lib/modules/model/ModelsConflicts.d.ts +9 -1
  123. package/dist/lib/modules/model/ModelsConflicts.js +17 -2
  124. package/dist/lib/modules/model/ModelsConflicts.js.map +1 -1
  125. package/dist/lib/modules/model/ModelsController.d.ts +6 -1
  126. package/dist/lib/modules/model/ModelsController.js +63 -3
  127. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  128. package/dist/lib/modules/model/ModelsRegister.d.ts +19 -2
  129. package/dist/lib/modules/model/ModelsRegister.js +39 -4
  130. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  131. package/dist/lib/modules/model/collections/modelsMappings.js +54 -0
  132. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  133. package/dist/lib/modules/model/types/ModelApi.d.ts +50 -1
  134. package/dist/lib/modules/model/types/ModelContent.d.ts +158 -3
  135. package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
  136. package/dist/lib/modules/model/types/ModelDefinition.d.ts +111 -3
  137. package/dist/lib/modules/model/types/ModelEvents.d.ts +8 -1
  138. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +32 -6
  139. package/dist/lib/modules/plugin/DeviceManagerEngine.js +107 -29
  140. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  141. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +60 -5
  142. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +92 -38
  143. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  144. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +9 -7
  145. package/dist/lib/modules/plugin/types/InternalCollection.d.ts +1 -1
  146. package/dist/lib/modules/plugin/types/InternalCollection.js +1 -1
  147. package/dist/lib/modules/plugin/types/InternalCollection.js.map +1 -1
  148. package/dist/lib/modules/plugin/types/exports.d.ts +2 -0
  149. package/dist/lib/modules/plugin/types/exports.js +2 -0
  150. package/dist/lib/modules/plugin/types/exports.js.map +1 -1
  151. package/dist/lib/modules/shared/errors/index.d.ts +1 -0
  152. package/dist/lib/modules/shared/errors/index.js +18 -0
  153. package/dist/lib/modules/shared/errors/index.js.map +1 -0
  154. package/dist/lib/modules/shared/exports.d.ts +1 -5
  155. package/dist/lib/modules/shared/exports.js +1 -5
  156. package/dist/lib/modules/shared/exports.js.map +1 -1
  157. package/dist/lib/modules/shared/index.d.ts +3 -11
  158. package/dist/lib/modules/shared/index.js +3 -11
  159. package/dist/lib/modules/shared/index.js.map +1 -1
  160. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +2 -0
  161. package/dist/lib/modules/shared/services/AbstractExporter.js +1 -1
  162. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  163. package/dist/lib/modules/shared/services/BaseService.js.map +1 -1
  164. package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +2 -0
  165. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +2 -2
  166. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  167. package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +71 -1
  168. package/dist/lib/modules/shared/services/DigitalTwinService.js +311 -0
  169. package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -1
  170. package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +6 -5
  171. package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +30 -0
  172. package/dist/lib/modules/shared/types/Models.d.ts +18 -0
  173. package/dist/lib/modules/shared/types/Models.js +3 -0
  174. package/dist/lib/modules/shared/types/Models.js.map +1 -0
  175. package/dist/lib/modules/shared/types/exports.d.ts +6 -0
  176. package/dist/lib/modules/shared/types/exports.js +23 -0
  177. package/dist/lib/modules/shared/types/exports.js.map +1 -0
  178. package/dist/lib/modules/shared/types/index.d.ts +9 -0
  179. package/dist/lib/modules/shared/types/index.js +26 -0
  180. package/dist/lib/modules/shared/types/index.js.map +1 -0
  181. package/dist/lib/modules/shared/utils/AJValidator.js +4 -3
  182. package/dist/lib/modules/shared/utils/AJValidator.js.map +1 -1
  183. package/dist/lib/modules/shared/utils/flattenObject.js +2 -1
  184. package/dist/lib/modules/shared/utils/flattenObject.js.map +1 -1
  185. package/dist/lib/modules/shared/utils/index.d.ts +5 -0
  186. package/dist/lib/modules/shared/utils/index.js +22 -0
  187. package/dist/lib/modules/shared/utils/index.js.map +1 -0
  188. package/dist/lib/modules/shared/utils/keepStack.js +2 -1
  189. package/dist/lib/modules/shared/utils/keepStack.js.map +1 -1
  190. package/dist/lib/modules/shared/utils/lock.js +2 -1
  191. package/dist/lib/modules/shared/utils/lock.js.map +1 -1
  192. package/dist/lib/modules/shared/utils/objectDiff.js +2 -1
  193. package/dist/lib/modules/shared/utils/objectDiff.js.map +1 -1
  194. package/package.json +34 -34
  195. package/LICENSE.md +0 -191
  196. package/README.md +0 -17
  197. package/dist/lib/modules/asset/AssetsGroupsController.d.ts +0 -20
  198. package/dist/lib/modules/asset/AssetsGroupsController.js +0 -302
  199. package/dist/lib/modules/asset/AssetsGroupsController.js.map +0 -1
  200. package/dist/lib/modules/asset/collections/assetsGroupsMapping.d.ts +0 -2
  201. package/dist/lib/modules/asset/collections/assetsGroupsMapping.js.map +0 -1
  202. package/dist/lib/modules/asset/roles/RoleAssetsGroupsAdmin.js.map +0 -1
  203. package/dist/lib/modules/asset/roles/RoleAssetsGroupsReader.js.map +0 -1
  204. package/dist/lib/modules/asset/types/AssetGroupContent.d.ts +0 -8
  205. package/dist/lib/modules/asset/types/AssetGroupContent.js.map +0 -1
  206. package/dist/lib/modules/asset/types/AssetGroupsApi.d.ts +0 -59
  207. package/dist/lib/modules/asset/types/AssetGroupsApi.js.map +0 -1
  208. package/dist/lib/modules/measure/measures/BatteryMeasure.d.ts +0 -5
  209. package/dist/lib/modules/measure/measures/BatteryMeasure.js +0 -19
  210. package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +0 -1
  211. package/dist/lib/modules/measure/measures/HumidityMeasure.d.ts +0 -5
  212. package/dist/lib/modules/measure/measures/HumidityMeasure.js +0 -19
  213. package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +0 -1
  214. package/dist/lib/modules/measure/measures/MovementMeasure.d.ts +0 -5
  215. package/dist/lib/modules/measure/measures/MovementMeasure.js +0 -17
  216. package/dist/lib/modules/measure/measures/MovementMeasure.js.map +0 -1
  217. package/dist/lib/modules/measure/measures/PositionMeasure.d.ts +0 -10
  218. package/dist/lib/modules/measure/measures/PositionMeasure.js +0 -33
  219. package/dist/lib/modules/measure/measures/PositionMeasure.js.map +0 -1
  220. package/dist/lib/modules/measure/measures/TemperatureMeasure.d.ts +0 -5
  221. package/dist/lib/modules/measure/measures/TemperatureMeasure.js +0 -19
  222. package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +0 -1
  223. package/dist/lib/modules/measure/measures/index.d.ts +0 -5
  224. package/dist/lib/modules/measure/measures/index.js.map +0 -1
  225. package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export * from "./lib/modules/measure/exports";
5
5
  export * from "./lib/modules/decoder/exports";
6
6
  export * from "./lib/modules/shared/exports";
7
7
  export * from "./lib/modules/model/exports";
8
+ export * from "./lib/modules/group/exports";
package/dist/index.js CHANGED
@@ -21,4 +21,5 @@ __exportStar(require("./lib/modules/measure/exports"), exports);
21
21
  __exportStar(require("./lib/modules/decoder/exports"), exports);
22
22
  __exportStar(require("./lib/modules/shared/exports"), exports);
23
23
  __exportStar(require("./lib/modules/model/exports"), exports);
24
+ __exportStar(require("./lib/modules/group/exports"), exports);
24
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAE7C,8DAA4C;AAE5C,+DAA6C;AAE7C,gEAA8C;AAE9C,gEAA8C;AAE9C,+DAA6C;AAE7C,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAE7C,8DAA4C;AAE5C,+DAA6C;AAE7C,gEAA8C;AAE9C,gEAA8C;AAE9C,+DAA6C;AAE7C,8DAA4C;AAE5C,8DAA4C"}
@@ -3,6 +3,5 @@ export declare class AssetModule extends Module {
3
3
  private assetService;
4
4
  private assetHistoryService;
5
5
  private assetController;
6
- private assetGroupsController;
7
6
  init(): Promise<void>;
8
7
  }
@@ -28,20 +28,14 @@ const Module_1 = require("../shared/Module");
28
28
  const AssetHistoryService_1 = require("./AssetHistoryService");
29
29
  const AssetsController_1 = require("./AssetsController");
30
30
  const AssetService_1 = require("./AssetService");
31
- const AssetsGroupsController_1 = require("./AssetsGroupsController");
32
31
  const RoleAssetsAdmin_1 = require("./roles/RoleAssetsAdmin");
33
32
  const RoleAssetsReader_1 = require("./roles/RoleAssetsReader");
34
- const RoleAssetsGroupsAdmin_1 = require("./roles/RoleAssetsGroupsAdmin");
35
- const RoleAssetsGroupsReader_1 = require("./roles/RoleAssetsGroupsReader");
36
33
  const specificRoles = __importStar(require("./roles/specificRoles"));
37
34
  class AssetModule extends Module_1.Module {
38
35
  async init() {
39
36
  this.assetHistoryService = new AssetHistoryService_1.AssetHistoryService(this.plugin);
40
37
  this.assetService = new AssetService_1.AssetService(this.plugin, this.assetHistoryService);
41
38
  this.assetController = new AssetsController_1.AssetsController(this.plugin, this.assetService);
42
- this.assetGroupsController = new AssetsGroupsController_1.AssetsGroupsController(this.plugin);
43
- this.plugin.api["device-manager/assetsGroup"] =
44
- this.assetGroupsController.definition;
45
39
  this.plugin.api["device-manager/assets"] = this.assetController.definition;
46
40
  this.plugin.imports.roles[RoleAssetsAdmin_1.RoleAssetsAdmin.name] =
47
41
  RoleAssetsAdmin_1.RoleAssetsAdmin.definition;
@@ -53,10 +47,6 @@ class AssetModule extends Module_1.Module {
53
47
  specificRoles[role].definition;
54
48
  }
55
49
  }
56
- this.plugin.imports.roles[RoleAssetsGroupsAdmin_1.RoleAssetsGroupsAdmin.name] =
57
- RoleAssetsGroupsAdmin_1.RoleAssetsGroupsAdmin.definition;
58
- this.plugin.imports.roles[RoleAssetsGroupsReader_1.RoleAssetsGroupsReader.name] =
59
- RoleAssetsGroupsReader_1.RoleAssetsGroupsReader.definition;
60
50
  }
61
51
  }
62
52
  exports.AssetModule = AssetModule;
@@ -1 +1 @@
1
- {"version":3,"file":"AssetModule.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA0C;AAE1C,+DAA4D;AAC5D,yDAAsD;AACtD,iDAA8C;AAC9C,qEAAkE;AAClE,6DAA0D;AAC1D,+DAA4D;AAC5D,yEAAsE;AACtE,2EAAwE;AACxE,qEAAuD;AAEvD,MAAa,WAAY,SAAQ,eAAM;IAM9B,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,CAAC,qBAAqB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC;YAC3C,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAE3E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAe,CAAC,IAAI,CAAC;YAC7C,iCAAe,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,mCAAgB,CAAC,IAAI,CAAC;YAC9C,mCAAgB,CAAC,UAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;oBACjD,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,6CAAqB,CAAC,IAAI,CAAC;YACnD,6CAAqB,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,+CAAsB,CAAC,IAAI,CAAC;YACpD,+CAAsB,CAAC,UAAU,CAAC;IACtC,CAAC;CACF;AAhCD,kCAgCC"}
1
+ {"version":3,"file":"AssetModule.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA0C;AAE1C,+DAA4D;AAC5D,yDAAsD;AACtD,iDAA8C;AAC9C,6DAA0D;AAC1D,+DAA4D;AAC5D,qEAAuD;AAEvD,MAAa,WAAY,SAAQ,eAAM;IAK9B,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAE3E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAe,CAAC,IAAI,CAAC;YAC7C,iCAAe,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,mCAAgB,CAAC,IAAI,CAAC;YAC9C,mCAAgB,CAAC,UAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;oBACjD,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvBD,kCAuBC"}
@@ -3,10 +3,10 @@ import { JSONObject, KDocument, KHit, SearchResult, mReplaceResponse } from "kuz
3
3
  import { DeviceManagerPlugin } from "../plugin";
4
4
  import { DigitalTwinService, Metadata, SearchParams } from "../shared";
5
5
  import { AssetHistoryService } from "./AssetHistoryService";
6
- import { ApiAssetMigrateTenantResult } from "./types/AssetApi";
6
+ import { ApiAssetMigrateTenantResult, ApiAssetUnlinkDevicesResult, ApiAssetUpdateModelLocales } from "./types/AssetApi";
7
7
  import { AssetContent } from "./types/AssetContent";
8
8
  export declare class AssetService extends DigitalTwinService {
9
- private assetHistoryService;
9
+ readonly assetHistoryService: AssetHistoryService;
10
10
  constructor(plugin: DeviceManagerPlugin, assetHistoryService: AssetHistoryService);
11
11
  registerAskEvents(): void;
12
12
  get(engineId: string, assetId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
@@ -22,6 +22,7 @@ export declare class AssetService extends DigitalTwinService {
22
22
  * Update or Create an asset metadata
23
23
  */
24
24
  upsert(engineId: string, model: string, reference: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
25
+ private _create;
25
26
  /**
26
27
  * Create an asset metadata
27
28
  */
@@ -31,13 +32,22 @@ export declare class AssetService extends DigitalTwinService {
31
32
  */
32
33
  delete(engineId: string, assetId: string, request: KuzzleRequest): Promise<void>;
33
34
  search(engineId: string, searchParams: SearchParams, request: KuzzleRequest): Promise<SearchResult<KHit<AssetContent>>>;
34
- migrateTenant(user: User, assetsList: string[], engineId: string, newEngineId: string): Promise<ApiAssetMigrateTenantResult>;
35
+ unlinkDevices(assetId: string, allMeasures: boolean, deviceIds: string[], measureSlots: string[], request: KuzzleRequest): Promise<ApiAssetUnlinkDevicesResult>;
36
+ migrateTenant(user: User, assetsList: string[], engineId: string, newEngineId: string, includeDevices: boolean, request: KuzzleRequest): Promise<ApiAssetMigrateTenantResult>;
35
37
  /**
36
38
  * Replace an asset metadata
37
39
  */
38
40
  mReplaceAndHistorize(engineId: string, assets: KDocument<AssetContent>[], removedMetadata: string[], { refresh }: {
39
41
  refresh: any;
40
42
  }): Promise<mReplaceResponse>;
41
- private getEngine;
43
+ /**
44
+ * Retrieve locales with the specified model and search all assets related to the model to update the locales.
45
+ * The operation is historized.
46
+ * @param request
47
+ * @param model
48
+ */
49
+ updateModelLocales(request: KuzzleRequest, model: string): Promise<ApiAssetUpdateModelLocales[]>;
50
+ addMeasureSlot(assetId: string, measureSlot: AssetContent["measureSlots"][0], engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
51
+ removeMeasureSlot(assetId: string, measureSlotName: string, engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
42
52
  private refreshModel;
43
53
  }
@@ -7,6 +7,7 @@ exports.AssetService = void 0;
7
7
  const kuzzle_1 = require("kuzzle");
8
8
  const kuzzle_plugin_commons_1 = require("kuzzle-plugin-commons");
9
9
  const lodash_1 = __importDefault(require("lodash"));
10
+ const device_1 = require("../device");
10
11
  const plugin_1 = require("../plugin");
11
12
  const shared_1 = require("../shared");
12
13
  const AssetSerializer_1 = require("./model/AssetSerializer");
@@ -63,42 +64,57 @@ class AssetService extends shared_1.DigitalTwinService {
63
64
  * Replace an asset metadata
64
65
  */
65
66
  async replaceMetadata(engineId, assetId, metadata, request) {
66
- const asset = await this.get(engineId, assetId, request);
67
- for (const key in metadata) {
68
- if (key in asset._source.metadata) {
69
- asset._source.metadata[key] = metadata[key];
67
+ return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
68
+ const asset = await this.get(engineId, assetId, request);
69
+ const unknownMetadata = {};
70
+ for (const key in metadata) {
71
+ if (key in asset._source.metadata) {
72
+ asset._source.metadata[key] = metadata[key];
73
+ }
74
+ else {
75
+ unknownMetadata[key] = metadata[key];
76
+ }
70
77
  }
71
- }
72
- const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
73
- const updatedAsset = await this.sdk.document.replace(engineId, plugin_1.InternalCollection.ASSETS, assetId, updatedPayload.asset._source, { triggerEvents: true });
74
- await this.assetHistoryService.add(engineId, [
75
- {
76
- asset: updatedAsset._source,
77
- event: {
78
- metadata: {
79
- names: Object.keys((0, shared_1.flattenObject)(updatedPayload.metadata)),
78
+ // ? If metadata key is unknown on the asset we check that it exists in the assetModel mappings
79
+ if (Object.keys(unknownMetadata).length > 0) {
80
+ const assetModel = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", { engineGroup: engineId.split("-")[1], model: asset._source.model });
81
+ for (const key in unknownMetadata) {
82
+ if (key in assetModel.asset.metadataMappings) {
83
+ asset._source.metadata[key] = unknownMetadata[key];
84
+ }
85
+ }
86
+ }
87
+ const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
88
+ const updatedAsset = await this.sdk.document.replace(engineId, plugin_1.InternalCollection.ASSETS, assetId, updatedPayload.asset._source, { triggerEvents: true });
89
+ await this.assetHistoryService.add(engineId, [
90
+ {
91
+ asset: updatedAsset._source,
92
+ event: {
93
+ metadata: {
94
+ names: Object.keys((0, shared_1.flattenObject)(updatedPayload.metadata)),
95
+ },
96
+ name: "metadata",
80
97
  },
81
- name: "metadata",
98
+ id: updatedAsset._id,
99
+ timestamp: Date.now(),
82
100
  },
83
- id: updatedAsset._id,
84
- timestamp: Date.now(),
85
- },
86
- ]);
87
- await this.app.trigger("device-manager:asset:update:after", {
88
- asset: updatedAsset,
89
- metadata: updatedPayload.metadata,
101
+ ]);
102
+ await this.app.trigger("device-manager:asset:update:after", {
103
+ asset: updatedAsset,
104
+ metadata: updatedPayload.metadata,
105
+ });
106
+ return updatedAsset;
90
107
  });
91
- return updatedAsset;
92
108
  }
93
109
  /**
94
110
  * Update or Create an asset metadata
95
111
  */
96
112
  async upsert(engineId, model, reference, metadata, request) {
97
- const assetId = `${model}-${reference}`;
113
+ const assetId = AssetSerializer_1.AssetSerializer.id(model, reference);
98
114
  return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
99
115
  const asset = await this.get(engineId, assetId, request).catch(() => null);
100
116
  if (!asset) {
101
- return this.create(engineId, model, reference, metadata, request);
117
+ return this._create(assetId, engineId, model, reference, metadata, request);
102
118
  }
103
119
  const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
104
120
  const updatedAsset = await this.updateDocument(request, {
@@ -128,70 +144,65 @@ class AssetService extends shared_1.DigitalTwinService {
128
144
  return updatedAsset;
129
145
  });
130
146
  }
147
+ async _create(assetId, engineId, model, reference, metadata, request) {
148
+ const engine = await this.getEngine(engineId);
149
+ const assetModel = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", { engineGroup: engine.group, model });
150
+ const assetMetadata = {};
151
+ for (const metadataName of Object.keys(assetModel.asset.metadataMappings)) {
152
+ assetMetadata[metadataName] = null;
153
+ }
154
+ for (const [metadataName, metadataValue] of Object.entries(assetModel.asset.defaultMetadata)) {
155
+ lodash_1.default.set(assetMetadata, metadataName, metadataValue);
156
+ }
157
+ const asset = await this.createDocument(request, {
158
+ _id: assetId,
159
+ _source: {
160
+ groups: [],
161
+ linkedMeasures: [],
162
+ measureSlots: assetModel.asset.measures,
163
+ metadata: { ...assetMetadata, ...metadata },
164
+ model,
165
+ modelLocales: assetModel.asset.locales,
166
+ reference,
167
+ },
168
+ }, {
169
+ collection: plugin_1.InternalCollection.ASSETS,
170
+ engineId,
171
+ });
172
+ await this.assetHistoryService.add(engineId, [
173
+ {
174
+ asset: asset._source,
175
+ event: {
176
+ metadata: {
177
+ names: Object.keys((0, shared_1.flattenObject)(asset._source.metadata)),
178
+ },
179
+ name: "metadata",
180
+ },
181
+ id: asset._id,
182
+ timestamp: Date.now(),
183
+ },
184
+ ]);
185
+ return asset;
186
+ }
131
187
  /**
132
188
  * Create an asset metadata
133
189
  */
134
190
  async create(engineId, model, reference, metadata, request) {
135
191
  const assetId = AssetSerializer_1.AssetSerializer.id(model, reference);
136
- return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
137
- const engine = await this.getEngine(engineId);
138
- const assetModel = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", { engineGroup: engine.group, model });
139
- const assetMetadata = {};
140
- for (const metadataName of Object.keys(assetModel.asset.metadataMappings)) {
141
- assetMetadata[metadataName] = null;
142
- }
143
- for (const [metadataName, metadataValue] of Object.entries(assetModel.asset.defaultMetadata)) {
144
- lodash_1.default.set(assetMetadata, metadataName, metadataValue);
145
- }
146
- const measures = {};
147
- for (const { name } of assetModel.asset.measures) {
148
- measures[name] = null;
149
- }
150
- const asset = await this.createDocument(request, {
151
- _id: assetId,
152
- _source: {
153
- groups: [],
154
- lastMeasuredAt: null,
155
- linkedDevices: [],
156
- measureSlots: assetModel.asset.measures,
157
- measures,
158
- metadata: { ...assetMetadata, ...metadata },
159
- model,
160
- reference,
161
- },
162
- }, {
163
- collection: plugin_1.InternalCollection.ASSETS,
164
- engineId,
165
- });
166
- await this.assetHistoryService.add(engineId, [
167
- {
168
- asset: asset._source,
169
- event: {
170
- metadata: {
171
- names: Object.keys((0, shared_1.flattenObject)(asset._source.metadata)),
172
- },
173
- name: "metadata",
174
- },
175
- id: asset._id,
176
- timestamp: Date.now(),
177
- },
178
- ]);
179
- return asset;
180
- });
192
+ return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => this._create(assetId, engineId, model, reference, metadata, request));
181
193
  }
182
194
  /**
183
195
  * Delete an asset metadata
184
196
  */
185
197
  async delete(engineId, assetId, request) {
186
- const user = request.getUser();
187
198
  const strict = request.getBoolean("strict");
188
199
  return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
189
200
  const asset = await this.get(engineId, assetId, request);
190
- if (strict && asset._source.linkedDevices.length !== 0) {
201
+ if (strict && asset._source.linkedMeasures.length !== 0) {
191
202
  throw new kuzzle_1.BadRequestError(`Asset "${assetId}" is still linked to devices.`);
192
203
  }
193
- for (const { _id: deviceId } of asset._source.linkedDevices) {
194
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:unlink-asset", { deviceId, user });
204
+ for (const { deviceId } of asset._source.linkedMeasures) {
205
+ await this.unlinkAssetDevice(deviceId, assetId, [], true, request);
195
206
  }
196
207
  await this.deleteDocument(request, assetId, {
197
208
  collection: plugin_1.InternalCollection.ASSETS,
@@ -205,7 +216,39 @@ class AssetService extends shared_1.DigitalTwinService {
205
216
  engineId,
206
217
  });
207
218
  }
208
- async migrateTenant(user, assetsList, engineId, newEngineId) {
219
+ async unlinkDevices(assetId, allMeasures, deviceIds, measureSlots, request) {
220
+ const engineId = request.getString("engineId");
221
+ let asset = await this.get(engineId, assetId, request);
222
+ const devices = [];
223
+ // CASE ALL MEASURES TO UNLINK
224
+ if (allMeasures) {
225
+ const devicesToUnlink = asset._source.linkedMeasures.map((m) => m.deviceId);
226
+ if (devicesToUnlink.length === 0) {
227
+ throw new kuzzle_1.BadRequestError(`Asset ${assetId} has no measure to be unlinked`);
228
+ }
229
+ for (const device of devicesToUnlink) {
230
+ const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(device, assetId, [], true, request);
231
+ devices.push(device_1.DeviceSerializer.serialize(updatedDevice));
232
+ asset = AssetSerializer_1.AssetSerializer.serialize(updatedAsset);
233
+ }
234
+ return { asset, devices };
235
+ }
236
+ // CASE ALL MEASURES FROM SPECIFIC ASSETS TO UNLINK
237
+ for (const device of deviceIds) {
238
+ const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(device, assetId, [], true, request);
239
+ devices.push(device_1.DeviceSerializer.serialize(updatedDevice));
240
+ asset = AssetSerializer_1.AssetSerializer.serialize(updatedAsset);
241
+ }
242
+ // CASE SPECIFIC DEVICE SLOTS
243
+ // FOR EVERY LINK THAT HAS A SLOT TO UNLINK
244
+ for (const linkedMeasures of asset._source.linkedMeasures.filter((l) => l.measureSlots.some((s) => measureSlots.includes(s.asset)))) {
245
+ const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(linkedMeasures.deviceId, assetId, linkedMeasures.measureSlots.filter((slot) => measureSlots.includes(slot.asset)), false, request);
246
+ devices.push(device_1.DeviceSerializer.serialize(updatedDevice));
247
+ asset = AssetSerializer_1.AssetSerializer.serialize(updatedAsset);
248
+ }
249
+ return { asset, devices };
250
+ }
251
+ async migrateTenant(user, assetsList, engineId, newEngineId, includeDevices, request) {
209
252
  let errors = [];
210
253
  let successes = [];
211
254
  //Sanity check
@@ -244,9 +287,9 @@ class AssetService extends shared_1.DigitalTwinService {
244
287
  body: asset._source,
245
288
  }));
246
289
  //We want to create the new asset with linked devices and groups empty
247
- const assetsContentCopy = lodash_1.default.cloneDeep(assetsContent);
290
+ const assetsContentCopy = structuredClone(assetsContent);
248
291
  for (const asset of assetsContentCopy) {
249
- asset.body.linkedDevices = [];
292
+ asset.body.linkedMeasures = [];
250
293
  asset.body.groups = [];
251
294
  }
252
295
  //Even if they exist in the destination tenant, try creating them all
@@ -264,27 +307,23 @@ class AssetService extends shared_1.DigitalTwinService {
264
307
  //because we reset them when we create the asset
265
308
  const assetOriginal = assets.successes.find((a) => a._id === asset._id);
266
309
  // get linked devices to this asset, if any
267
- const linkedDevices = assetOriginal._source.linkedDevices.map((d) => ({
268
- _id: d._id,
269
- measureNames: d.measureNames,
270
- }));
310
+ const linkedMeasures = assetOriginal._source.linkedMeasures;
271
311
  // ... and iterate over this list
272
- for (const device of linkedDevices) {
273
- // detach linked devices from current tenant (it also unkinks asset)
274
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:detach-engine", { deviceId: device._id, user });
275
- // ... and attach to new tenant
276
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:attach-engine", { deviceId: device._id, engineId: newEngineId, user });
277
- // ... and link this device to the asset in the new tenant
278
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:link-asset", {
279
- assetId: asset._id,
280
- deviceId: device._id,
281
- engineId: newEngineId,
282
- measureNames: device.measureNames,
283
- user,
284
- });
312
+ for (const link of linkedMeasures) {
313
+ if (includeDevices === true) {
314
+ // detach linked devices from current tenant (it also unkinks asset)
315
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:detach-engine", { deviceId: link.deviceId, user });
316
+ // ... and attach to new tenant
317
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:attach-engine", { deviceId: link.deviceId, engineId: newEngineId, user });
318
+ // ... and link this device to the asset in the new tenant
319
+ await this.linkAssetDevice(newEngineId, link.deviceId, asset._id, link.measureSlots, false, request);
320
+ }
321
+ else {
322
+ await this.unlinkAssetDevice(link.deviceId, asset._id, link.measureSlots, false, request);
323
+ }
285
324
  }
286
325
  }
287
- // Finally here, we can delete the newly create assets in the source engine !
326
+ // Finally here, we can delete the successefully migrated assets from the source engine !
288
327
  await this.sdk.document.mDelete(engineId, plugin_1.InternalCollection.ASSETS, assetsCreatedId);
289
328
  //Refresh ES indexes and collections
290
329
  const collectionsToRefresh = [
@@ -306,7 +345,7 @@ class AssetService extends shared_1.DigitalTwinService {
306
345
  },
307
346
  {
308
347
  collection: plugin_1.InternalCollection.DEVICES,
309
- index: this.config.adminIndex,
348
+ index: this.config.platformIndex,
310
349
  },
311
350
  ].map(({ index, collection }) => {
312
351
  return this.sdk.collection.refresh(index, collection);
@@ -334,18 +373,118 @@ class AssetService extends shared_1.DigitalTwinService {
334
373
  await this.assetHistoryService.add(engineId, histories);
335
374
  return replacedAssets;
336
375
  }
337
- async getEngine(engineId) {
338
- const engine = await this.sdk.document.get(this.config.adminIndex, plugin_1.InternalCollection.CONFIG, `engine-device-manager--${engineId}`);
339
- return engine._source.engine;
376
+ /**
377
+ * Retrieve locales with the specified model and search all assets related to the model to update the locales.
378
+ * The operation is historized.
379
+ * @param request
380
+ * @param model
381
+ */
382
+ async updateModelLocales(request, model) {
383
+ const res = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.MODELS, {
384
+ query: {
385
+ bool: {
386
+ must: [
387
+ { term: { type: "asset" } },
388
+ { term: { "asset.model": model } },
389
+ ],
390
+ },
391
+ },
392
+ }, { size: 1 });
393
+ if (res.total === 0) {
394
+ throw new kuzzle_1.NotFoundError(`Unknown Asset model '${model}'.`);
395
+ }
396
+ const modelDocument = res.hits[0];
397
+ const locales = modelDocument._source.asset.locales;
398
+ const engines = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:list", {});
399
+ const results = [];
400
+ for (const engine of engines) {
401
+ const resultUpdateByQuery = await this.sdk.document.updateByQuery(engine.index, "assets", {
402
+ bool: {
403
+ must: [
404
+ {
405
+ term: {
406
+ model: model,
407
+ },
408
+ },
409
+ ],
410
+ },
411
+ }, {
412
+ modelLocales: locales,
413
+ });
414
+ results.push({
415
+ engineIndex: engine.index,
416
+ result: {
417
+ errors: [...resultUpdateByQuery.errors],
418
+ successes: [...resultUpdateByQuery.successes],
419
+ },
420
+ });
421
+ }
422
+ const errorsFiltered = results.filter((re) => re.result.errors.length > 0);
423
+ if (errorsFiltered.length === results.length) {
424
+ throw new kuzzle_1.BadRequestError("All the assets failed to be updated", {}, 400);
425
+ }
426
+ if (errorsFiltered.length < results.length && errorsFiltered.length !== 0) {
427
+ throw new kuzzle_1.PartialError("Some assets failed to be updated", errorsFiltered, {}, 206);
428
+ }
429
+ return results;
430
+ }
431
+ async addMeasureSlot(assetId, measureSlot, engineId, request) {
432
+ const asset = await this.get(engineId, assetId, request);
433
+ if (asset._source.measureSlots.some((slot) => slot.name === measureSlot.name)) {
434
+ throw new kuzzle_1.BadRequestError(`A measure slot with ${measureSlot.name} as a name already exists for ${assetId}`);
435
+ }
436
+ try {
437
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:measure:get", {
438
+ type: measureSlot.type,
439
+ });
440
+ }
441
+ catch {
442
+ throw new kuzzle_1.BadRequestError(`There is no measure of type ${measureSlot.type} registered.`);
443
+ }
444
+ asset._source.measureSlots.push(measureSlot);
445
+ const updatedAsset = await this.updateDocument(request, asset, {
446
+ collection: plugin_1.InternalCollection.ASSETS,
447
+ engineId,
448
+ });
449
+ return updatedAsset;
450
+ }
451
+ async removeMeasureSlot(assetId, measureSlotName, engineId, request) {
452
+ const asset = await this.get(engineId, assetId, request);
453
+ if (!asset._source.measureSlots.some((slot) => slot.name === measureSlotName)) {
454
+ throw new kuzzle_1.BadRequestError(`Asset ${assetId} does not have a measure slot named ${measureSlotName}`);
455
+ }
456
+ const linkedDevice = asset._source.linkedMeasures.find((link) => link.measureSlots.some((slot) => slot.asset === measureSlotName));
457
+ if (linkedDevice) {
458
+ throw new kuzzle_1.BadRequestError(`Measure slot ${measureSlotName} can not be removed as it is currently linked to ${linkedDevice.deviceId}`);
459
+ }
460
+ const engine = await this.getEngine(engineId);
461
+ const assetModel = await this.getAssetModel(engine.group, asset._source.model);
462
+ if (!assetModel) {
463
+ throw new kuzzle_1.NotFoundError(`Model ${asset._source.model} not found`);
464
+ }
465
+ if (assetModel.asset.measures.some((m) => m.name === measureSlotName)) {
466
+ throw new kuzzle_1.BadRequestError(`Measure slot ${measureSlotName} can not be removed as it is set in the ${asset._source.model} model`);
467
+ }
468
+ asset._source.measureSlots = asset._source.measureSlots.filter((slot) => slot.name !== measureSlotName);
469
+ const updatedAsset = await this.updateDocument(request, asset, {
470
+ collection: plugin_1.InternalCollection.ASSETS,
471
+ engineId,
472
+ });
473
+ return updatedAsset;
340
474
  }
341
475
  async refreshModel({ assetModel, }) {
476
+ // For engine group 'commons', fetch all engines
342
477
  const engines = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:list", {
343
- group: assetModel.engineGroup,
478
+ group: assetModel.engineGroup === "commons" ? null : assetModel.engineGroup,
344
479
  });
345
480
  const targets = engines.map((engine) => ({
346
481
  collections: [plugin_1.InternalCollection.ASSETS],
347
482
  index: engine.index,
348
483
  }));
484
+ // Return if no engine found
485
+ if (targets.length === 0) {
486
+ return;
487
+ }
349
488
  const assets = await this.sdk.query({
350
489
  action: "search",
351
490
  body: { query: { equals: { model: assetModel.asset.model } } },
@@ -1 +1 @@
1
- {"version":3,"file":"AssetService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssetService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetService.ts"],"names":[],"mappings":"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"}