kuzzle-device-manager 2.11.0 → 3.0.0-3-dev.2

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 (193) 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 +1 -4
  5. package/dist/lib/modules/asset/AssetModule.js +0 -13
  6. package/dist/lib/modules/asset/AssetModule.js.map +1 -1
  7. package/dist/lib/modules/asset/AssetService.d.ts +7 -4
  8. package/dist/lib/modules/asset/AssetService.js +119 -50
  9. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  10. package/dist/lib/modules/asset/AssetsController.d.ts +25 -7
  11. package/dist/lib/modules/asset/AssetsController.js +123 -36
  12. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  13. package/dist/lib/modules/asset/collections/assetsMappings.js +10 -15
  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/model/AssetSerializer.js +0 -1
  22. package/dist/lib/modules/asset/model/AssetSerializer.js.map +1 -1
  23. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +1 -1
  24. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
  25. package/dist/lib/modules/asset/types/AssetApi.d.ts +124 -9
  26. package/dist/lib/modules/asset/types/AssetContent.d.ts +9 -16
  27. package/dist/lib/modules/asset/types/AssetHistoryContent.d.ts +4 -11
  28. package/dist/lib/modules/decoder/DecodedPayload.d.ts +2 -0
  29. package/dist/lib/modules/decoder/DecodedPayload.js +13 -2
  30. package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -1
  31. package/dist/lib/modules/decoder/Decoder.d.ts +1 -1
  32. package/dist/lib/modules/decoder/Decoder.js.map +1 -1
  33. package/dist/lib/modules/decoder/DecoderModule.js.map +1 -1
  34. package/dist/lib/modules/decoder/DecodersController.d.ts +4 -1
  35. package/dist/lib/modules/decoder/DecodersController.js +3 -0
  36. package/dist/lib/modules/decoder/DecodersController.js.map +1 -1
  37. package/dist/lib/modules/decoder/DecodersRegister.js +4 -1
  38. package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -1
  39. package/dist/lib/modules/decoder/PayloadService.d.ts +1 -0
  40. package/dist/lib/modules/decoder/PayloadService.js +136 -26
  41. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  42. package/dist/lib/modules/decoder/PayloadsController.js +1 -1
  43. package/dist/lib/modules/decoder/PayloadsController.js.map +1 -1
  44. package/dist/lib/modules/device/DeviceService.d.ts +6 -47
  45. package/dist/lib/modules/device/DeviceService.js +157 -291
  46. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  47. package/dist/lib/modules/device/DevicesController.d.ts +5 -5
  48. package/dist/lib/modules/device/DevicesController.js +35 -23
  49. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  50. package/dist/lib/modules/device/collections/deviceMappings.d.ts +6 -0
  51. package/dist/lib/modules/device/collections/deviceMappings.js +76 -6
  52. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  53. package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +2 -2
  54. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +7 -4
  55. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -1
  56. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js +4 -1
  57. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js.map +1 -1
  58. package/dist/lib/modules/device/types/DeviceApi.d.ts +69 -41
  59. package/dist/lib/modules/device/types/DeviceContent.d.ts +56 -5
  60. package/dist/lib/modules/device/types/DeviceEvents.d.ts +9 -24
  61. package/dist/lib/modules/group/GroupsController.d.ts +37 -0
  62. package/dist/lib/modules/group/GroupsController.js +472 -0
  63. package/dist/lib/modules/group/GroupsController.js.map +1 -0
  64. package/dist/lib/modules/group/GroupsModule.d.ts +10 -0
  65. package/dist/lib/modules/group/GroupsModule.js +25 -0
  66. package/dist/lib/modules/group/GroupsModule.js.map +1 -0
  67. package/dist/lib/modules/group/GroupsService.d.ts +118 -0
  68. package/dist/lib/modules/group/GroupsService.js +518 -0
  69. package/dist/lib/modules/group/GroupsService.js.map +1 -0
  70. package/dist/lib/modules/group/collections/groupsMappings.d.ts +2 -0
  71. package/dist/lib/modules/{asset/collections/assetsGroupsMapping.js → group/collections/groupsMappings.js} +4 -12
  72. package/dist/lib/modules/group/collections/groupsMappings.js.map +1 -0
  73. package/dist/lib/modules/group/exports.d.ts +5 -0
  74. package/dist/lib/modules/group/exports.js +22 -0
  75. package/dist/lib/modules/group/exports.js.map +1 -0
  76. package/dist/lib/modules/group/index.d.ts +4 -0
  77. package/dist/lib/modules/{measure/measures → group}/index.js +4 -5
  78. package/dist/lib/modules/group/index.js.map +1 -0
  79. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsAdmin.d.ts → group/roles/RoleGroupsAdmin.d.ts} +3 -3
  80. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsAdmin.js → group/roles/RoleGroupsAdmin.js} +7 -7
  81. package/dist/lib/modules/group/roles/RoleGroupsAdmin.js.map +1 -0
  82. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsReader.d.ts → group/roles/RoleGroupsReader.d.ts} +3 -3
  83. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsReader.js → group/roles/RoleGroupsReader.js} +7 -7
  84. package/dist/lib/modules/group/roles/RoleGroupsReader.js.map +1 -0
  85. package/dist/lib/modules/group/types/GroupContent.d.ts +10 -0
  86. package/dist/lib/modules/{asset/types/AssetGroupsApi.js → group/types/GroupContent.js} +1 -1
  87. package/dist/lib/modules/group/types/GroupContent.js.map +1 -0
  88. package/dist/lib/modules/group/types/GroupsApi.d.ts +141 -0
  89. package/dist/lib/modules/{asset/types/AssetGroupContent.js → group/types/GroupsApi.js} +1 -1
  90. package/dist/lib/modules/group/types/GroupsApi.js.map +1 -0
  91. package/dist/lib/modules/measure/MeasureExporter.js +14 -6
  92. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
  93. package/dist/lib/modules/measure/MeasureService.d.ts +11 -43
  94. package/dist/lib/modules/measure/MeasureService.js +86 -375
  95. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  96. package/dist/lib/modules/measure/MeasureSourcesBuilder.d.ts +1 -2
  97. package/dist/lib/modules/measure/MeasureSourcesBuilder.js +5 -15
  98. package/dist/lib/modules/measure/MeasureSourcesBuilder.js.map +1 -1
  99. package/dist/lib/modules/measure/MeasureTargetBuilder.d.ts +1 -1
  100. package/dist/lib/modules/measure/MeasureTargetBuilder.js +2 -2
  101. package/dist/lib/modules/measure/MeasureTargetBuilder.js.map +1 -1
  102. package/dist/lib/modules/measure/collections/measuresMappings.d.ts +2 -91
  103. package/dist/lib/modules/measure/collections/measuresMappings.js +7 -11
  104. package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
  105. package/dist/lib/modules/measure/exports.d.ts +0 -1
  106. package/dist/lib/modules/measure/exports.js +0 -1
  107. package/dist/lib/modules/measure/exports.js.map +1 -1
  108. package/dist/lib/modules/measure/index.d.ts +0 -1
  109. package/dist/lib/modules/measure/index.js +0 -1
  110. package/dist/lib/modules/measure/index.js.map +1 -1
  111. package/dist/lib/modules/measure/types/MeasureContent.d.ts +9 -2
  112. package/dist/lib/modules/measure/types/MeasureEvents.d.ts +6 -149
  113. package/dist/lib/modules/measure/types/MeasureSources.d.ts +5 -0
  114. package/dist/lib/modules/measure/types/MeasureSources.js.map +1 -1
  115. package/dist/lib/modules/measure/types/MeasureTarget.d.ts +1 -1
  116. package/dist/lib/modules/measure/types/MeasureTarget.js +1 -1
  117. package/dist/lib/modules/measure/types/MeasureTarget.js.map +1 -1
  118. package/dist/lib/modules/model/ModelModule.js.map +1 -1
  119. package/dist/lib/modules/model/ModelSerializer.js +29 -0
  120. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  121. package/dist/lib/modules/model/ModelService.d.ts +20 -14
  122. package/dist/lib/modules/model/ModelService.js +354 -117
  123. package/dist/lib/modules/model/ModelService.js.map +1 -1
  124. package/dist/lib/modules/model/ModelsController.d.ts +1 -1
  125. package/dist/lib/modules/model/ModelsController.js +33 -19
  126. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  127. package/dist/lib/modules/model/ModelsRegister.d.ts +6 -5
  128. package/dist/lib/modules/model/ModelsRegister.js +10 -8
  129. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  130. package/dist/lib/modules/model/collections/modelsMappings.js +20 -1
  131. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  132. package/dist/lib/modules/model/types/ModelApi.d.ts +15 -9
  133. package/dist/lib/modules/model/types/ModelContent.d.ts +35 -3
  134. package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
  135. package/dist/lib/modules/model/types/ModelDefinition.d.ts +6 -2
  136. package/dist/lib/modules/model/types/ModelEvents.d.ts +3 -1
  137. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +15 -6
  138. package/dist/lib/modules/plugin/DeviceManagerEngine.js +151 -54
  139. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  140. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +10 -8
  141. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +41 -44
  142. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  143. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +9 -14
  144. package/dist/lib/modules/plugin/types/InternalCollection.d.ts +1 -1
  145. package/dist/lib/modules/plugin/types/InternalCollection.js +1 -1
  146. package/dist/lib/modules/plugin/types/InternalCollection.js.map +1 -1
  147. package/dist/lib/modules/plugin/types/exports.d.ts +1 -0
  148. package/dist/lib/modules/plugin/types/exports.js +1 -0
  149. package/dist/lib/modules/plugin/types/exports.js.map +1 -1
  150. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +3 -1
  151. package/dist/lib/modules/shared/services/AbstractExporter.js +7 -3
  152. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  153. package/dist/lib/modules/shared/services/BaseService.js.map +1 -1
  154. package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +6 -1
  155. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +49 -7
  156. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  157. package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +70 -2
  158. package/dist/lib/modules/shared/services/DigitalTwinService.js +309 -1
  159. package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -1
  160. package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +4 -5
  161. package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +30 -0
  162. package/package.json +15 -9
  163. package/dist/lib/modules/asset/AssetsGroupsController.d.ts +0 -24
  164. package/dist/lib/modules/asset/AssetsGroupsController.js +0 -239
  165. package/dist/lib/modules/asset/AssetsGroupsController.js.map +0 -1
  166. package/dist/lib/modules/asset/AssetsGroupsService.d.ts +0 -49
  167. package/dist/lib/modules/asset/AssetsGroupsService.js +0 -172
  168. package/dist/lib/modules/asset/AssetsGroupsService.js.map +0 -1
  169. package/dist/lib/modules/asset/collections/assetsGroupsMapping.d.ts +0 -2
  170. package/dist/lib/modules/asset/collections/assetsGroupsMapping.js.map +0 -1
  171. package/dist/lib/modules/asset/roles/RoleAssetsGroupsAdmin.js.map +0 -1
  172. package/dist/lib/modules/asset/roles/RoleAssetsGroupsReader.js.map +0 -1
  173. package/dist/lib/modules/asset/types/AssetGroupContent.d.ts +0 -11
  174. package/dist/lib/modules/asset/types/AssetGroupContent.js.map +0 -1
  175. package/dist/lib/modules/asset/types/AssetGroupsApi.d.ts +0 -59
  176. package/dist/lib/modules/asset/types/AssetGroupsApi.js.map +0 -1
  177. package/dist/lib/modules/measure/measures/BatteryMeasure.d.ts +0 -5
  178. package/dist/lib/modules/measure/measures/BatteryMeasure.js +0 -19
  179. package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +0 -1
  180. package/dist/lib/modules/measure/measures/HumidityMeasure.d.ts +0 -5
  181. package/dist/lib/modules/measure/measures/HumidityMeasure.js +0 -19
  182. package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +0 -1
  183. package/dist/lib/modules/measure/measures/MovementMeasure.d.ts +0 -5
  184. package/dist/lib/modules/measure/measures/MovementMeasure.js +0 -17
  185. package/dist/lib/modules/measure/measures/MovementMeasure.js.map +0 -1
  186. package/dist/lib/modules/measure/measures/PositionMeasure.d.ts +0 -10
  187. package/dist/lib/modules/measure/measures/PositionMeasure.js +0 -43
  188. package/dist/lib/modules/measure/measures/PositionMeasure.js.map +0 -1
  189. package/dist/lib/modules/measure/measures/TemperatureMeasure.d.ts +0 -5
  190. package/dist/lib/modules/measure/measures/TemperatureMeasure.js +0 -19
  191. package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +0 -1
  192. package/dist/lib/modules/measure/measures/index.d.ts +0 -5
  193. package/dist/lib/modules/measure/measures/index.js.map +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"}
@@ -1,13 +1,10 @@
1
- import { Module } from "../shared/Module";
2
1
  import { DeviceManagerPlugin } from "../plugin";
2
+ import { Module } from "../shared/Module";
3
3
  export declare class AssetModule extends Module {
4
4
  private assetService;
5
5
  private assetHistoryService;
6
6
  private assetController;
7
- private assetGroupsController;
8
- private assetsGroupsService;
9
7
  private logger;
10
- private assetsGroupsLogger;
11
8
  constructor(plugin: DeviceManagerPlugin);
12
9
  init(): Promise<void>;
13
10
  }
@@ -28,27 +28,18 @@ 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
- const AssetsGroupsService_1 = require("./AssetsGroupsService");
38
34
  class AssetModule extends Module_1.Module {
39
35
  constructor(plugin) {
40
36
  super(plugin);
41
37
  this.logger = this.plugin.context.logger.child("assets-module");
42
- this.assetsGroupsLogger = this.plugin.context.logger.child("assetsGroups-module");
43
38
  }
44
39
  async init() {
45
40
  this.assetHistoryService = new AssetHistoryService_1.AssetHistoryService(this.plugin, this.logger);
46
41
  this.assetService = new AssetService_1.AssetService(this.plugin, this.assetHistoryService, this.logger);
47
42
  this.assetController = new AssetsController_1.AssetsController(this.plugin, this.assetService, this.logger);
48
- this.assetsGroupsService = new AssetsGroupsService_1.AssetsGroupsService(this.plugin, this.assetsGroupsLogger);
49
- this.assetGroupsController = new AssetsGroupsController_1.AssetsGroupsController(this.plugin, this.assetsGroupsService, this.assetsGroupsLogger);
50
- this.plugin.api["device-manager/assetsGroup"] =
51
- this.assetGroupsController.definition;
52
43
  this.plugin.api["device-manager/assets"] = this.assetController.definition;
53
44
  this.plugin.imports.roles[RoleAssetsAdmin_1.RoleAssetsAdmin.name] =
54
45
  RoleAssetsAdmin_1.RoleAssetsAdmin.definition;
@@ -60,10 +51,6 @@ class AssetModule extends Module_1.Module {
60
51
  specificRoles[role].definition;
61
52
  }
62
53
  }
63
- this.plugin.imports.roles[RoleAssetsGroupsAdmin_1.RoleAssetsGroupsAdmin.name] =
64
- RoleAssetsGroupsAdmin_1.RoleAssetsGroupsAdmin.definition;
65
- this.plugin.imports.roles[RoleAssetsGroupsReader_1.RoleAssetsGroupsReader.name] =
66
- RoleAssetsGroupsReader_1.RoleAssetsGroupsReader.definition;
67
54
  }
68
55
  }
69
56
  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;AACvD,+DAA4D;AAI5D,MAAa,WAAY,SAAQ,eAAM;IAQrC,YAAY,MAA2B;QACrC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxD,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAChD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAgB,CACzC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAChD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,kBAAkB,CACxB,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,+CAAsB,CACrD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,kBAAkB,CACxB,CAAC;QAEF,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;AA7DD,kCA6DC"}
1
+ {"version":3,"file":"AssetModule.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA0C;AAE1C,+DAA4D;AAC5D,yDAAsD;AACtD,iDAA8C;AAC9C,6DAA0D;AAC1D,+DAA4D;AAC5D,qEAAuD;AAEvD,MAAa,WAAY,SAAQ,eAAM;IAMrC,YAAY,MAA2B;QACrC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IACM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAChD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAgB,CACzC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,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;AAtCD,kCAsCC"}
@@ -2,13 +2,13 @@ import { KuzzleRequest, User } from "kuzzle";
2
2
  import { JSONObject, KDocument, KHit, SearchResult, mReplaceResponse } from "kuzzle-sdk";
3
3
  import { DeviceManagerPlugin } from "../plugin";
4
4
  import { DigitalTwinService, Metadata, SearchParams } from "../shared";
5
+ import { KuzzleLogger } from "kuzzle-logger";
5
6
  import { AssetHistoryService } from "./AssetHistoryService";
6
- import { ApiAssetMigrateTenantResult, ApiAssetUpdateModelLocales } from "./types/AssetApi";
7
+ import { ApiAssetMigrateTenantResult, ApiAssetUnlinkDevicesResult, ApiAssetUpdateModelLocales } from "./types/AssetApi";
7
8
  import { AssetContent } from "./types/AssetContent";
8
- import { KuzzleLogger } from "kuzzle-logger";
9
9
  export declare class AssetService extends DigitalTwinService {
10
+ readonly assetHistoryService: AssetHistoryService;
10
11
  readonly logger: KuzzleLogger;
11
- private assetHistoryService;
12
12
  constructor(plugin: DeviceManagerPlugin, assetHistoryService: AssetHistoryService, assetLogger: KuzzleLogger);
13
13
  registerAskEvents(): void;
14
14
  get(engineId: string, assetId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
@@ -34,7 +34,8 @@ export declare class AssetService extends DigitalTwinService {
34
34
  */
35
35
  delete(engineId: string, assetId: string, request: KuzzleRequest): Promise<void>;
36
36
  search(engineId: string, searchParams: SearchParams, request: KuzzleRequest): Promise<SearchResult<KHit<AssetContent>>>;
37
- migrateTenant(user: User, assetsList: string[], engineId: string, newEngineId: string): Promise<ApiAssetMigrateTenantResult>;
37
+ unlinkDevices(assetId: string, allMeasures: boolean, deviceIds: string[], measureSlots: string[], request: KuzzleRequest): Promise<ApiAssetUnlinkDevicesResult>;
38
+ migrateTenant(user: User, assetsList: string[], engineId: string, newEngineId: string, includeDevices: boolean, request: KuzzleRequest): Promise<ApiAssetMigrateTenantResult>;
38
39
  /**
39
40
  * Replace an asset metadata
40
41
  */
@@ -48,5 +49,7 @@ export declare class AssetService extends DigitalTwinService {
48
49
  * @param model
49
50
  */
50
51
  updateModelLocales(request: KuzzleRequest, model: string): Promise<ApiAssetUpdateModelLocales[]>;
52
+ addMeasureSlot(assetId: string, measureSlot: AssetContent["measureSlots"][0], engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
53
+ removeMeasureSlot(assetId: string, measureSlotName: string, engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
51
54
  private refreshModel;
52
55
  }
@@ -7,14 +7,15 @@ 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");
13
14
  class AssetService extends shared_1.DigitalTwinService {
14
15
  constructor(plugin, assetHistoryService, assetLogger) {
15
16
  super(plugin, plugin_1.InternalCollection.ASSETS);
16
- this.logger = assetLogger;
17
17
  this.assetHistoryService = assetHistoryService;
18
+ this.logger = assetLogger;
18
19
  }
19
20
  registerAskEvents() {
20
21
  super.registerAskEvents();
@@ -66,7 +67,6 @@ class AssetService extends shared_1.DigitalTwinService {
66
67
  async replaceMetadata(engineId, assetId, metadata, request) {
67
68
  return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
68
69
  const asset = await this.get(engineId, assetId, request);
69
- const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
70
70
  const unknownMetadata = {};
71
71
  for (const key in metadata) {
72
72
  if (key in asset._source.metadata) {
@@ -79,7 +79,8 @@ class AssetService extends shared_1.DigitalTwinService {
79
79
  // ? If metadata key is unknown on the asset we check that it exists in the assetModel mappings
80
80
  if (Object.keys(unknownMetadata).length > 0) {
81
81
  const assetModel = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", {
82
- engineGroup: engineId.split("-")[1],
82
+ engineGroups: [engineId.split("-")[1]],
83
+ engineId,
83
84
  model: asset._source.model,
84
85
  });
85
86
  for (const key in unknownMetadata) {
@@ -88,6 +89,7 @@ class AssetService extends shared_1.DigitalTwinService {
88
89
  }
89
90
  }
90
91
  }
92
+ const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
91
93
  const updatedAsset = await this.sdk.document.replace(engineId, plugin_1.InternalCollection.ASSETS, assetId, updatedPayload.asset._source, { triggerEvents: true });
92
94
  await this.assetHistoryService.add(engineId, [
93
95
  {
@@ -150,7 +152,8 @@ class AssetService extends shared_1.DigitalTwinService {
150
152
  async _create(assetId, engineId, model, reference, metadata, request) {
151
153
  const engine = await this.getEngine(engineId);
152
154
  const assetModel = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", {
153
- engineGroup: engine.group,
155
+ engineGroups: [engine.group],
156
+ engineId,
154
157
  model,
155
158
  });
156
159
  const assetMetadata = {};
@@ -160,22 +163,16 @@ class AssetService extends shared_1.DigitalTwinService {
160
163
  for (const [metadataName, metadataValue] of Object.entries(assetModel.asset.defaultMetadata)) {
161
164
  lodash_1.default.set(assetMetadata, metadataName, metadataValue);
162
165
  }
163
- const measures = {};
164
- for (const { name } of assetModel.asset.measures) {
165
- measures[name] = null;
166
- }
167
166
  const asset = await this.createDocument(request, {
168
167
  _id: assetId,
169
168
  _source: {
170
169
  groups: [],
171
- lastMeasuredAt: null,
172
- linkedDevices: [],
173
- measures,
170
+ linkedMeasures: [],
171
+ measureSlots: assetModel.asset.measures,
174
172
  metadata: { ...assetMetadata, ...metadata },
175
173
  model,
176
174
  modelLocales: assetModel.asset.locales,
177
175
  reference,
178
- softTenant: [],
179
176
  },
180
177
  }, {
181
178
  collection: plugin_1.InternalCollection.ASSETS,
@@ -207,18 +204,14 @@ class AssetService extends shared_1.DigitalTwinService {
207
204
  * Delete an asset metadata
208
205
  */
209
206
  async delete(engineId, assetId, request) {
210
- const user = request.getUser();
211
207
  const strict = request.getBoolean("strict");
212
208
  return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
213
209
  const asset = await this.get(engineId, assetId, request);
214
- if (strict && asset._source.linkedDevices.length !== 0) {
210
+ if (strict && asset._source.linkedMeasures.length !== 0) {
215
211
  throw new kuzzle_1.BadRequestError(`Asset "${assetId}" is still linked to devices.`);
216
212
  }
217
- for (const { _id: deviceId } of asset._source.linkedDevices) {
218
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:unlink-asset", {
219
- deviceId,
220
- user,
221
- });
213
+ for (const { deviceId } of asset._source.linkedMeasures) {
214
+ await this.unlinkAssetDevice(deviceId, assetId, [], true, request);
222
215
  }
223
216
  await this.deleteDocument(request, assetId, {
224
217
  collection: plugin_1.InternalCollection.ASSETS,
@@ -232,7 +225,39 @@ class AssetService extends shared_1.DigitalTwinService {
232
225
  engineId,
233
226
  });
234
227
  }
235
- async migrateTenant(user, assetsList, engineId, newEngineId) {
228
+ async unlinkDevices(assetId, allMeasures, deviceIds, measureSlots, request) {
229
+ const engineId = request.getString("engineId");
230
+ let asset = await this.get(engineId, assetId, request);
231
+ const devices = [];
232
+ // CASE ALL MEASURES TO UNLINK
233
+ if (allMeasures) {
234
+ const devicesToUnlink = asset._source.linkedMeasures.map((m) => m.deviceId);
235
+ if (devicesToUnlink.length === 0) {
236
+ throw new kuzzle_1.BadRequestError(`Asset ${assetId} has no measure to be unlinked`);
237
+ }
238
+ for (const device of devicesToUnlink) {
239
+ const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(device, assetId, [], true, request);
240
+ devices.push(device_1.DeviceSerializer.serialize(updatedDevice));
241
+ asset = AssetSerializer_1.AssetSerializer.serialize(updatedAsset);
242
+ }
243
+ return { asset, devices };
244
+ }
245
+ // CASE ALL MEASURES FROM SPECIFIC ASSETS TO UNLINK
246
+ for (const device of deviceIds) {
247
+ const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(device, assetId, [], true, request);
248
+ devices.push(device_1.DeviceSerializer.serialize(updatedDevice));
249
+ asset = AssetSerializer_1.AssetSerializer.serialize(updatedAsset);
250
+ }
251
+ // CASE SPECIFIC DEVICE SLOTS
252
+ // FOR EVERY LINK THAT HAS A SLOT TO UNLINK
253
+ for (const linkedMeasures of asset._source.linkedMeasures.filter((l) => l.measureSlots.some((s) => measureSlots.includes(s.asset)))) {
254
+ const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(linkedMeasures.deviceId, assetId, linkedMeasures.measureSlots.filter((slot) => measureSlots.includes(slot.asset)), false, request);
255
+ devices.push(device_1.DeviceSerializer.serialize(updatedDevice));
256
+ asset = AssetSerializer_1.AssetSerializer.serialize(updatedAsset);
257
+ }
258
+ return { asset, devices };
259
+ }
260
+ async migrateTenant(user, assetsList, engineId, newEngineId, includeDevices, request) {
236
261
  let errors = [];
237
262
  let successes = [];
238
263
  //Sanity check
@@ -271,9 +296,9 @@ class AssetService extends shared_1.DigitalTwinService {
271
296
  body: asset._source,
272
297
  }));
273
298
  //We want to create the new asset with linked devices and groups empty
274
- const assetsContentCopy = lodash_1.default.cloneDeep(assetsContent);
299
+ const assetsContentCopy = structuredClone(assetsContent);
275
300
  for (const asset of assetsContentCopy) {
276
- asset.body.linkedDevices = [];
301
+ asset.body.linkedMeasures = [];
277
302
  asset.body.groups = [];
278
303
  }
279
304
  //Even if they exist in the destination tenant, try creating them all
@@ -291,34 +316,30 @@ class AssetService extends shared_1.DigitalTwinService {
291
316
  //because we reset them when we create the asset
292
317
  const assetOriginal = assets.successes.find((a) => a._id === asset._id);
293
318
  // get linked devices to this asset, if any
294
- const linkedDevices = assetOriginal._source.linkedDevices.map((d) => ({
295
- _id: d._id,
296
- measureNames: d.measureNames,
297
- }));
319
+ const linkedMeasures = assetOriginal._source.linkedMeasures;
298
320
  // ... and iterate over this list
299
- for (const device of linkedDevices) {
300
- // detach linked devices from current tenant (it also unkinks asset)
301
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:detach-engine", {
302
- deviceId: device._id,
303
- user,
304
- });
305
- // ... and attach to new tenant
306
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:attach-engine", {
307
- deviceId: device._id,
308
- engineId: newEngineId,
309
- user,
310
- });
311
- // ... and link this device to the asset in the new tenant
312
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:link-asset", {
313
- assetId: asset._id,
314
- deviceId: device._id,
315
- engineId: newEngineId,
316
- measureNames: device.measureNames,
317
- user,
318
- });
321
+ for (const link of linkedMeasures) {
322
+ if (includeDevices === true) {
323
+ // detach linked devices from current tenant (it also unkinks asset)
324
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:detach-engine", {
325
+ deviceId: link.deviceId,
326
+ user,
327
+ });
328
+ // ... and attach to new tenant
329
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:attach-engine", {
330
+ deviceId: link.deviceId,
331
+ engineId: newEngineId,
332
+ user,
333
+ });
334
+ // ... and link this device to the asset in the new tenant
335
+ await this.linkAssetDevice(newEngineId, link.deviceId, asset._id, link.measureSlots, false, request);
336
+ }
337
+ else {
338
+ await this.unlinkAssetDevice(link.deviceId, asset._id, link.measureSlots, false, request);
339
+ }
319
340
  }
320
341
  }
321
- // Finally here, we can delete the newly create assets in the source engine !
342
+ // Finally here, we can delete the successefully migrated assets from the source engine !
322
343
  await this.sdk.document.mDelete(engineId, plugin_1.InternalCollection.ASSETS, assetsCreatedId);
323
344
  //Refresh ES indexes and collections
324
345
  const collectionsToRefresh = [
@@ -340,7 +361,7 @@ class AssetService extends shared_1.DigitalTwinService {
340
361
  },
341
362
  {
342
363
  collection: plugin_1.InternalCollection.DEVICES,
343
- index: this.config.adminIndex,
364
+ index: this.config.platformIndex,
344
365
  },
345
366
  ].map(({ index, collection }) => {
346
367
  return this.sdk.collection.refresh(index, collection);
@@ -375,7 +396,7 @@ class AssetService extends shared_1.DigitalTwinService {
375
396
  * @param model
376
397
  */
377
398
  async updateModelLocales(request, model) {
378
- const res = await this.sdk.document.search(this.config.adminIndex, plugin_1.InternalCollection.MODELS, {
399
+ const res = await this.sdk.document.search(this.config.platformIndex, plugin_1.InternalCollection.MODELS, {
379
400
  query: {
380
401
  bool: {
381
402
  must: [
@@ -423,10 +444,57 @@ class AssetService extends shared_1.DigitalTwinService {
423
444
  }
424
445
  return results;
425
446
  }
447
+ async addMeasureSlot(assetId, measureSlot, engineId, request) {
448
+ const asset = await this.get(engineId, assetId, request);
449
+ if (asset._source.measureSlots.some((slot) => slot.name === measureSlot.name)) {
450
+ throw new kuzzle_1.BadRequestError(`A measure slot with ${measureSlot.name} as a name already exists for ${assetId}`);
451
+ }
452
+ try {
453
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:measure:get", {
454
+ type: measureSlot.type,
455
+ engineId,
456
+ });
457
+ }
458
+ catch {
459
+ throw new kuzzle_1.BadRequestError(`There is no measure of type ${measureSlot.type} registered.`);
460
+ }
461
+ asset._source.measureSlots.push(measureSlot);
462
+ const updatedAsset = await this.updateDocument(request, asset, {
463
+ collection: plugin_1.InternalCollection.ASSETS,
464
+ engineId,
465
+ });
466
+ return updatedAsset;
467
+ }
468
+ async removeMeasureSlot(assetId, measureSlotName, engineId, request) {
469
+ const asset = await this.get(engineId, assetId, request);
470
+ if (!asset._source.measureSlots.some((slot) => slot.name === measureSlotName)) {
471
+ throw new kuzzle_1.BadRequestError(`Asset ${assetId} does not have a measure slot named ${measureSlotName}`);
472
+ }
473
+ const linkedDevice = asset._source.linkedMeasures.find((link) => link.measureSlots.some((slot) => slot.asset === measureSlotName));
474
+ if (linkedDevice) {
475
+ throw new kuzzle_1.BadRequestError(`Measure slot ${measureSlotName} can not be removed as it is currently linked to ${linkedDevice.deviceId}`);
476
+ }
477
+ const engine = await this.getEngine(engineId);
478
+ const assetModel = await this.getAssetModel(engine.group, asset._source.model, engineId);
479
+ if (!assetModel) {
480
+ throw new kuzzle_1.NotFoundError(`Model ${asset._source.model} not found`);
481
+ }
482
+ if (assetModel.asset.measures.some((m) => m.name === measureSlotName)) {
483
+ throw new kuzzle_1.BadRequestError(`Measure slot ${measureSlotName} can not be removed as it is set in the ${asset._source.model} model`);
484
+ }
485
+ asset._source.measureSlots = asset._source.measureSlots.filter((slot) => slot.name !== measureSlotName);
486
+ const updatedAsset = await this.updateDocument(request, asset, {
487
+ collection: plugin_1.InternalCollection.ASSETS,
488
+ engineId,
489
+ });
490
+ return updatedAsset;
491
+ }
426
492
  async refreshModel({ assetModel, }) {
427
493
  // For engine group 'commons', fetch all engines
428
494
  const engines = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:list", {
429
- group: assetModel.engineGroup === "commons" ? null : assetModel.engineGroup,
495
+ group: assetModel.engineGroups?.includes("commons")
496
+ ? null
497
+ : assetModel.engineGroups?.[0],
430
498
  });
431
499
  const targets = engines.map((engine) => ({
432
500
  collections: [plugin_1.InternalCollection.ASSETS],
@@ -461,6 +529,7 @@ class AssetService extends shared_1.DigitalTwinService {
461
529
  ...modelMetadata,
462
530
  ...assetMetadata,
463
531
  };
532
+ asset._source.measureSlots = assetModel.asset.measures;
464
533
  acc[asset.index].push(asset);
465
534
  return acc;
466
535
  }, Object.fromEntries(engines.map((engine) => [
@@ -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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"}
@@ -1,14 +1,16 @@
1
1
  import { ControllerDefinition, KuzzleRequest } from "kuzzle";
2
+ import { MeasureExporter } from "../measure";
2
3
  import { DeviceManagerPlugin } from "../plugin";
4
+ import { DigitalTwinExporter } from "../shared";
3
5
  import { AssetService } from "./AssetService";
4
- import { ApiAssetCreateResult, ApiAssetUpsertResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult, ApiAssetMigrateTenantResult, ApiAssetMetadataReplaceResult, ApiAssetGetLastMeasuresResult, ApiAssetMGetLastMeasuredAtResult, ApiAssetMGetLastMeasuresResult, ApiAssetGetLastMeasuredAtResult, ApiAssetUpdateModelLocales } from "./types/AssetApi";
6
+ import { ApiAssetCreateResult, ApiAssetUpsertResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult, ApiAssetMigrateTenantResult, ApiAssetMetadataReplaceResult, ApiAssetGetLastMeasuresResult, ApiAssetMGetLastMeasuredAtResult, ApiAssetMGetLastMeasuresResult, ApiAssetGetLastMeasuredAtResult, ApiAssetUpdateModelLocales, ApiAssetLinkDevicesResult, ApiAssetUnlinkDevicesResult, ApiAssetAddMeasureSlotResult, ApiAssetRemoveMeasureSlotResult } from "./types/AssetApi";
5
7
  import { KuzzleLogger } from "kuzzle-logger";
6
8
  export declare class AssetsController {
7
- private plugin;
8
- private assetService;
9
+ readonly plugin: DeviceManagerPlugin;
10
+ readonly assetService: AssetService;
9
11
  definition: ControllerDefinition;
10
- private exporter;
11
- private measureExporter;
12
+ readonly exporter: DigitalTwinExporter;
13
+ readonly measureExporter: MeasureExporter;
12
14
  readonly logger: KuzzleLogger;
13
15
  constructor(plugin: DeviceManagerPlugin, assetService: AssetService, assetlogger: KuzzleLogger);
14
16
  get(request: KuzzleRequest): Promise<ApiAssetGetResult>;
@@ -31,8 +33,8 @@ export declare class AssetsController {
31
33
  * @throws If the asset does not exists
32
34
  */
33
35
  private getTypeFromMeasureSlot;
34
- mMeasureIngest(request: KuzzleRequest): Promise<void>;
35
- measureIngest(request: KuzzleRequest): Promise<void>;
36
+ mIngestMeasure(request: KuzzleRequest): Promise<void>;
37
+ ingestMeasure(request: KuzzleRequest): Promise<void>;
36
38
  exportMeasures(request: KuzzleRequest): Promise<any>;
37
39
  export(request: KuzzleRequest): Promise<any>;
38
40
  migrateTenant(request: KuzzleRequest): Promise<ApiAssetMigrateTenantResult>;
@@ -44,4 +46,20 @@ export declare class AssetsController {
44
46
  * @param request
45
47
  */
46
48
  updateModelLocales(request: KuzzleRequest): Promise<ApiAssetUpdateModelLocales[]>;
49
+ /**
50
+ * Link an asset to devices.
51
+ */
52
+ linkDevices(request: KuzzleRequest): Promise<ApiAssetLinkDevicesResult>;
53
+ /**
54
+ * Unlink assets from a device.
55
+ */
56
+ unlinkDevices(request: KuzzleRequest): Promise<ApiAssetUnlinkDevicesResult>;
57
+ /**
58
+ * Remove a measure slot from an asset
59
+ */
60
+ addMeasureSlot(request: KuzzleRequest): Promise<ApiAssetAddMeasureSlotResult>;
61
+ /**
62
+ * Remove a measure slot from an asset
63
+ */
64
+ removeMeasureSlot(request: KuzzleRequest): Promise<ApiAssetRemoveMeasureSlotResult>;
47
65
  }