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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +15 -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 +301 -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 +32 -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 +14 -9
  133. package/dist/lib/modules/model/types/ModelContent.d.ts +34 -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
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deviceSourceToOriginDevice = exports.toDeviceSource = exports.apiSourceToOriginApi = void 0;
3
+ exports.deviceSourceToOriginDevice = exports.apiSourceToOriginApi = void 0;
4
4
  function apiSourceToOriginApi(source, payloadUuids) {
5
5
  return {
6
6
  _id: source.id,
@@ -10,24 +10,14 @@ function apiSourceToOriginApi(source, payloadUuids) {
10
10
  };
11
11
  }
12
12
  exports.apiSourceToOriginApi = apiSourceToOriginApi;
13
- function toDeviceSource(dataSourceId, reference, model, metadata, lastMeasuredAt) {
14
- return {
15
- id: dataSourceId,
16
- lastMeasuredAt,
17
- metadata,
18
- model,
19
- reference,
20
- type: "device" /* DATA_SOURCE_METADATA_TYPE.DEVICE */,
21
- };
22
- }
23
- exports.toDeviceSource = toDeviceSource;
24
- function deviceSourceToOriginDevice(source, measureName, payloadUuids) {
25
- const { id: dataSourceId, model, reference } = source;
13
+ function deviceSourceToOriginDevice(source, measureName, payloadUuids, deviceMetadata) {
14
+ const { id: dataSourceId, model, reference, groups } = source;
26
15
  return {
27
16
  _id: dataSourceId,
17
+ deviceMetadata,
28
18
  deviceModel: model,
19
+ groups,
29
20
  measureName,
30
- metadata: source.metadata,
31
21
  payloadUuids,
32
22
  reference: reference,
33
23
  type: "device" /* DATA_SOURCE_METADATA_TYPE.DEVICE */,
@@ -1 +1 @@
1
- {"version":3,"file":"MeasureSourcesBuilder.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureSourcesBuilder.ts"],"names":[],"mappings":";;;AASA,SAAgB,oBAAoB,CAClC,MAAwB,EACxB,YAAsB;IAEtB,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC,QAAQ;QAC5B,YAAY,EAAE,YAAY;QAC1B,IAAI,2CAA+B;KACpC,CAAC;AACJ,CAAC;AAVD,oDAUC;AAED,SAAgB,cAAc,CAC5B,YAAoB,EACpB,SAAiB,EACjB,KAAa,EACb,QAAmB,EACnB,cAAuB;IAEvB,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,cAAc;QACd,QAAQ;QACR,KAAK;QACL,SAAS;QACT,IAAI,iDAAkC;KACvC,CAAC;AACJ,CAAC;AAfD,wCAeC;AAED,SAAgB,0BAA0B,CACxC,MAA2B,EAC3B,WAAmB,EACnB,YAAsB;IAEtB,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACtD,OAAO;QACL,GAAG,EAAE,YAAY;QACjB,WAAW,EAAE,KAAK;QAClB,WAAW;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY;QACZ,SAAS,EAAE,SAAS;QACpB,IAAI,iDAAkC;KACvC,CAAC;AACJ,CAAC;AAfD,gEAeC"}
1
+ {"version":3,"file":"MeasureSourcesBuilder.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureSourcesBuilder.ts"],"names":[],"mappings":";;;AASA,SAAgB,oBAAoB,CAClC,MAAwB,EACxB,YAAsB;IAEtB,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC,QAAQ;QAC5B,YAAY,EAAE,YAAY;QAC1B,IAAI,2CAA+B;KACpC,CAAC;AACJ,CAAC;AAVD,oDAUC;AAED,SAAgB,0BAA0B,CACxC,MAA2B,EAC3B,WAAmB,EACnB,YAAsB,EACtB,cAAwB;IAExB,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC9D,OAAO;QACL,GAAG,EAAE,YAAY;QACjB,cAAc;QACd,WAAW,EAAE,KAAK;QAClB,MAAM;QACN,WAAW;QACX,YAAY;QACZ,SAAS,EAAE,SAAS;QACpB,IAAI,iDAAkC;KACvC,CAAC;AACJ,CAAC;AAjBD,gEAiBC"}
@@ -1,3 +1,3 @@
1
1
  import { ApiMeasureTarget, DeviceMeasureTarget } from "./types/MeasureTarget";
2
- export declare function toApiTarget(indexId: string, assetId: string, engineGroup?: string): ApiMeasureTarget;
2
+ export declare function toApiTarget(indexId: string, assetId: string, engineGroups?: string[]): ApiMeasureTarget;
3
3
  export declare function toDeviceTarget(indexId: string, assetId?: string): DeviceMeasureTarget;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toDeviceTarget = exports.toApiTarget = void 0;
4
- function toApiTarget(indexId, assetId, engineGroup) {
4
+ function toApiTarget(indexId, assetId, engineGroups) {
5
5
  return {
6
6
  assetId,
7
- engineGroup,
7
+ engineGroups,
8
8
  indexId,
9
9
  type: "api",
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MeasureTargetBuilder.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureTargetBuilder.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CACzB,OAAe,EACf,OAAe,EACf,WAAoB;IAEpB,OAAO;QACL,OAAO;QACP,WAAW;QACX,OAAO;QACP,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC;AAXD,kCAWC;AAED,SAAgB,cAAc,CAC5B,OAAe,EACf,OAAgB;IAEhB,OAAO;QACL,OAAO;QACP,OAAO;QACP,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AATD,wCASC"}
1
+ {"version":3,"file":"MeasureTargetBuilder.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureTargetBuilder.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CACzB,OAAe,EACf,OAAe,EACf,YAAuB;IAEvB,OAAO;QACL,OAAO;QACP,YAAY;QACZ,OAAO;QACP,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC;AAXD,kCAWC;AAED,SAAgB,cAAc,CAC5B,OAAe,EACf,OAAgB;IAEhB,OAAO;QACL,OAAO;QACP,OAAO;QACP,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AATD,wCASC"}
@@ -1,96 +1,7 @@
1
+ import { CollectionMappings } from "kuzzle-sdk";
1
2
  /**
2
3
  * Base mappings for the "measures" collection.
3
4
  *
4
5
  * Those mappings does not contains the `values` mappings and `asset.metadata` mappings.
5
6
  */
6
- export declare const measuresMappings: {
7
- dynamic: string;
8
- properties: {
9
- type: {
10
- type: string;
11
- };
12
- values: {
13
- properties: {};
14
- };
15
- /**
16
- * Micro Timestamp of the measurement time.
17
- */
18
- measuredAt: {
19
- type: string;
20
- };
21
- asset: {
22
- properties: {
23
- _id: {
24
- type: string;
25
- };
26
- model: {
27
- type: string;
28
- };
29
- reference: {
30
- type: string;
31
- };
32
- measureName: {
33
- type: string;
34
- };
35
- metadata: {
36
- properties: {};
37
- };
38
- groups: {
39
- properties: {
40
- id: {
41
- type: string;
42
- fields: {
43
- text: {
44
- type: string;
45
- };
46
- };
47
- };
48
- date: {
49
- type: string;
50
- };
51
- };
52
- };
53
- softTenant: {
54
- type: string;
55
- fields: {
56
- text: {
57
- type: string;
58
- };
59
- };
60
- };
61
- };
62
- };
63
- /**
64
- * Define the origin of the measure.
65
- */
66
- origin: {
67
- properties: {
68
- type: {
69
- type: string;
70
- };
71
- measureName: {
72
- type: string;
73
- };
74
- deviceMetadata: {
75
- properties: {};
76
- };
77
- apiMetadata: {
78
- dynamic: string;
79
- properties: {};
80
- };
81
- payloadUuids: {
82
- type: string;
83
- };
84
- deviceModel: {
85
- type: string;
86
- };
87
- reference: {
88
- type: string;
89
- };
90
- _id: {
91
- type: string;
92
- };
93
- };
94
- };
95
- };
96
- };
7
+ export declare const measuresMappings: CollectionMappings;
@@ -32,17 +32,10 @@ exports.measuresMappings = {
32
32
  },
33
33
  groups: {
34
34
  properties: {
35
- id: {
36
- type: "keyword",
37
- fields: { text: { type: "text" } },
38
- },
35
+ path: { type: "keyword", fields: { text: { type: "text" } } },
39
36
  date: { type: "date" },
40
37
  },
41
38
  },
42
- softTenant: {
43
- type: "keyword",
44
- fields: { text: { type: "text" } },
45
- },
46
39
  },
47
40
  },
48
41
  /**
@@ -57,10 +50,13 @@ exports.measuresMappings = {
57
50
  // populated with device models metadata mappings
58
51
  },
59
52
  },
60
- apiMetadata: {
61
- dynamic: "false",
62
- properties: {},
53
+ groups: {
54
+ properties: {
55
+ path: { type: "keyword", fields: { text: { type: "text" } } },
56
+ date: { type: "date" },
57
+ },
63
58
  },
59
+ apiMetadata: { dynamic: "false", properties: {} },
64
60
  payloadUuids: { type: "keyword" },
65
61
  deviceModel: { type: "keyword" },
66
62
  reference: { type: "keyword" },
@@ -1 +1 @@
1
- {"version":3,"file":"measuresMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/measure/collections/measuresMappings.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAEzB,MAAM,EAAE;YACN,UAAU,EAAE;YACV,yCAAyC;aAC1C;SACF;QAED;;WAEG;QACH,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAE5B,KAAK,EAAE;YACL,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,QAAQ,EAAE;oBACR,UAAU,EAAE;oBACV,gDAAgD;qBACjD;iBACF;gBACD,MAAM,EAAE;oBACN,UAAU,EAAE;wBACV,EAAE,EAAE;4BACF,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;yBACnC;wBACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBACvB;iBACF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;iBACnC;aACF;SACF;QAED;;WAEG;QACH,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEzB,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEhC,cAAc,EAAE;oBACd,UAAU,EAAE;oBACV,iDAAiD;qBAClD;iBACF;gBAED,WAAW,EAAE;oBACX,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBAED,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEjC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEhC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAE9B,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACzB;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"measuresMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/measure/collections/measuresMappings.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,gBAAgB,GAAuB;IAClD,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAEzB,MAAM,EAAE;YACN,UAAU,EAAE;YACV,yCAAyC;aAC1C;SACF;QAED;;WAEG;QACH,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAE5B,KAAK,EAAE;YACL,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,QAAQ,EAAE;oBACR,UAAU,EAAE;oBACV,gDAAgD;qBACjD;iBACF;gBACD,MAAM,EAAE;oBACN,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;wBAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBACvB;iBACF;aACF;SACF;QAED;;WAEG;QACH,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEzB,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEhC,cAAc,EAAE;oBACd,UAAU,EAAE;oBACV,iDAAiD;qBAClD;iBACF;gBACD,MAAM,EAAE;oBACN,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;wBAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBACvB;iBACF;gBACD,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;gBAEjD,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEjC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEhC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAE9B,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACzB;SACF;KACF;CACF,CAAC"}
@@ -1,7 +1,6 @@
1
1
  export * from "./types/MeasureEvents";
2
2
  export * from "./types/MeasureContent";
3
3
  export * from "./types/MeasureDefinition";
4
- export * from "./measures";
5
4
  export * from "./roles/RoleMeasuresAdmin";
6
5
  export * from "./roles/RoleMeasuresReader";
7
6
  export * from "./collections/measuresMappings";
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./types/MeasureEvents"), exports);
18
18
  __exportStar(require("./types/MeasureContent"), exports);
19
19
  __exportStar(require("./types/MeasureDefinition"), exports);
20
- __exportStar(require("./measures"), exports);
21
20
  __exportStar(require("./roles/RoleMeasuresAdmin"), exports);
22
21
  __exportStar(require("./roles/RoleMeasuresReader"), exports);
23
22
  __exportStar(require("./collections/measuresMappings"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../lib/modules/measure/exports.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,yDAAuC;AACvC,4DAA0C;AAC1C,6CAA2B;AAC3B,4DAA0C;AAC1C,6DAA2C;AAC3C,iEAA+C"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../lib/modules/measure/exports.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,yDAAuC;AACvC,4DAA0C;AAC1C,4DAA0C;AAC1C,6DAA2C;AAC3C,iEAA+C"}
@@ -2,7 +2,6 @@ export * from "./collections/measuresMappings";
2
2
  export * from "./types/MeasureEvents";
3
3
  export * from "./types/MeasureContent";
4
4
  export * from "./types/MeasureDefinition";
5
- export * from "./measures";
6
5
  export * from "./MeasureModule";
7
6
  export * from "./roles/RoleMeasuresAdmin";
8
7
  export * from "./roles/RoleMeasuresReader";
@@ -18,7 +18,6 @@ __exportStar(require("./collections/measuresMappings"), exports);
18
18
  __exportStar(require("./types/MeasureEvents"), exports);
19
19
  __exportStar(require("./types/MeasureContent"), exports);
20
20
  __exportStar(require("./types/MeasureDefinition"), exports);
21
- __exportStar(require("./measures"), exports);
22
21
  __exportStar(require("./MeasureModule"), exports);
23
22
  __exportStar(require("./roles/RoleMeasuresAdmin"), exports);
24
23
  __exportStar(require("./roles/RoleMeasuresReader"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/measure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,wDAAsC;AACtC,yDAAuC;AACvC,4DAA0C;AAC1C,6CAA2B;AAC3B,kDAAgC;AAChC,4DAA0C;AAC1C,6DAA2C;AAC3C,2EAAyD;AACzD,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/measure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,wDAAsC;AACtC,yDAAuC;AACvC,4DAA0C;AAC1C,kDAAgC;AAChC,4DAA0C;AAC1C,6DAA2C;AAC3C,2EAAyD;AACzD,oDAAkC"}
@@ -1,6 +1,6 @@
1
1
  import { JSONObject, KDocumentContent } from "kuzzle-sdk";
2
- import { Metadata } from "../../../modules/shared";
3
- import { AssetMeasureContext } from "../../../modules/asset";
2
+ import { Metadata } from "../../shared";
3
+ import { AssetMeasureContext } from "../../asset";
4
4
  interface AbstractMeasureOrigin {
5
5
  /**
6
6
  * Origin of the measure
@@ -35,6 +35,13 @@ export interface MeasureOriginDevice extends AbstractMeasureOrigin {
35
35
  * Origin device metadata
36
36
  */
37
37
  deviceMetadata?: Metadata;
38
+ /**
39
+ * Origin device groups
40
+ */
41
+ groups: Array<{
42
+ path: string;
43
+ date: number;
44
+ }>;
38
45
  /**
39
46
  * Device ID
40
47
  */
@@ -1,25 +1,8 @@
1
- import { JSONObject, KDocument } from "kuzzle-sdk";
2
- import { DeviceContent } from "../../../modules/device";
3
- import { AssetContent } from "../../../modules/asset";
4
- import { Metadata } from "../../../modules/shared";
1
+ import { JSONObject } from "kuzzle-sdk";
2
+ import { AssetContent } from "../../asset";
5
3
  import { DecodedMeasurement, MeasureContent } from "./MeasureContent";
6
4
  import { MeasureSource } from "./MeasureSources";
7
5
  import { MeasureTarget } from "./MeasureTarget";
8
- /**
9
- * @internal
10
- *
11
- * @deprecated Replaced by new Ask implementing data sources
12
- */
13
- export type AskMeasureIngest = {
14
- name: "device-manager:measures:ingest";
15
- payload: {
16
- device: KDocument<DeviceContent>;
17
- measurements: DecodedMeasurement<JSONObject>[];
18
- metadata: Metadata;
19
- payloadUuids: string[];
20
- };
21
- result: void;
22
- };
23
6
  /**
24
7
  * @internal
25
8
  */
@@ -34,29 +17,12 @@ export type AskMeasureSourceIngest = {
34
17
  result: void;
35
18
  };
36
19
  /**
37
- * Event before starting to process new measures.
20
+ * Event before starting to process new measures from data source.
38
21
  *
39
22
  * Useful to enrich measures before they are saved.
40
- *
41
- * @deprecated Replaced by new triggers implementing data sources
42
23
  */
43
24
  export type EventMeasureProcessBefore = {
44
25
  name: "device-manager:measures:process:before";
45
- args: [
46
- {
47
- asset: KDocument<AssetContent>;
48
- device: KDocument<DeviceContent>;
49
- measures: MeasureContent[];
50
- }
51
- ];
52
- };
53
- /**
54
- * Event before starting to process new measures from data source.
55
- *
56
- * Useful to enrich measures before they are saved.
57
- */
58
- export type EventMeasureProcessSourceBefore = {
59
- name: "device-manager:measures:process:sourceBefore";
60
26
  args: [
61
27
  {
62
28
  source: MeasureSource;
@@ -67,60 +33,12 @@ export type EventMeasureProcessSourceBefore = {
67
33
  ];
68
34
  };
69
35
  /**
70
- * Tenant event before starting to process new measures.
36
+ * Tenant event before starting to process new measures from data source.
71
37
  *
72
38
  * Useful to enrich measures before they are saved.
73
- *
74
- * @deprecated Replaced by new triggers implementing data sources
75
39
  */
76
40
  export type TenantEventMeasureProcessBefore = {
77
41
  name: `engine:${string}:device-manager:measures:process:before`;
78
- args: [
79
- {
80
- asset: KDocument<AssetContent>;
81
- device: KDocument<DeviceContent>;
82
- measures: MeasureContent[];
83
- }
84
- ];
85
- };
86
- /**
87
- * Tenant event before starting to process new measures from data source.
88
- *
89
- * Useful to enrich measures before they are saved.
90
- */
91
- export type TenantEventMeasureProcessSourceBefore = {
92
- name: `engine:${string}:device-manager:measures:process:sourceBefore`;
93
- args: [
94
- {
95
- source: MeasureSource;
96
- target: MeasureTarget;
97
- asset?: AssetContent;
98
- measures: MeasureContent[];
99
- }
100
- ];
101
- };
102
- /**
103
- * Event triggered after updating device and asset with new measures but
104
- * before persistence in database.
105
- *
106
- * @deprecated Replaced by new triggers implementing data sources
107
- */
108
- export type EventMeasurePersistBefore = {
109
- name: "device-manager:measures:persist:before";
110
- args: [
111
- {
112
- asset: KDocument<AssetContent>;
113
- device: KDocument<DeviceContent>;
114
- measures: MeasureContent[];
115
- }
116
- ];
117
- };
118
- /**
119
- * Event triggered after updating the data source and asset with new measures but
120
- * before persistence in database.
121
- */
122
- export type EventMeasurePersistSourceBefore = {
123
- name: "device-manager:measures:persist:sourceBefore";
124
42
  args: [
125
43
  {
126
44
  source: MeasureSource;
@@ -131,56 +49,10 @@ export type EventMeasurePersistSourceBefore = {
131
49
  ];
132
50
  };
133
51
  /**
134
- * Tenant event triggered after updating device and asset with new measures but
135
- * before persistence in database.
136
- *
137
- * @deprecated Replaced by new triggers implementing data sources
138
- */
139
- export type TenantEventMeasurePersistBefore = {
140
- name: `engine:${string}:device-manager:measures:persist:before`;
141
- args: [
142
- {
143
- asset: KDocument<AssetContent>;
144
- device: KDocument<DeviceContent>;
145
- measures: MeasureContent[];
146
- }
147
- ];
148
- };
149
- /**
150
- * Tenant event triggered after updating the data source and asset with new measures but
151
- * before persistence in database.
152
- */
153
- export type TenantEventMeasurePersistSourceBefore = {
154
- name: `engine:${string}:device-manager:measures:persist:sourceBefore`;
155
- args: [
156
- {
157
- source: MeasureSource;
158
- target: MeasureTarget;
159
- asset?: AssetContent;
160
- measures: MeasureContent[];
161
- }
162
- ];
163
- };
164
- /**
165
- * Event after processing new measures.
166
- *
167
- * @deprecated Replaced by new triggers implementing data sources
52
+ * Event after processing new measures from data source.
168
53
  */
169
54
  export type EventMeasureProcessAfter = {
170
55
  name: "device-manager:measures:process:after";
171
- args: [
172
- {
173
- asset: KDocument<AssetContent>;
174
- device: KDocument<DeviceContent>;
175
- measures: MeasureContent[];
176
- }
177
- ];
178
- };
179
- /**
180
- * Event after processing new measures from data source.
181
- */
182
- export type EventMeasureProcessSourceAfter = {
183
- name: "device-manager:measures:process:sourceAfter";
184
56
  args: [
185
57
  {
186
58
  source: MeasureSource;
@@ -191,26 +63,11 @@ export type EventMeasureProcessSourceAfter = {
191
63
  ];
192
64
  };
193
65
  /**
194
- * Tenant event after processing new measures.
66
+ * Tenant event after processing new measures from data source.
195
67
  *
196
- * @deprecated Replaced by new triggers implementing data sources
197
68
  */
198
69
  export type TenantEventMeasureProcessAfter = {
199
70
  name: `engine:${string}:device-manager:measures:process:after`;
200
- args: [
201
- {
202
- asset: KDocument<AssetContent>;
203
- device: KDocument<DeviceContent>;
204
- measures: MeasureContent[];
205
- }
206
- ];
207
- };
208
- /**
209
- * Tenant event after processing new measures from data source.
210
- *
211
- */
212
- export type TenantEventMeasureProcessSourceAfter = {
213
- name: `engine:${string}:device-manager:measures:process:sourceAfter`;
214
71
  args: [
215
72
  {
216
73
  source: MeasureSource;
@@ -7,8 +7,13 @@ interface AbstractMeasureSource {
7
7
  export interface DeviceMeasureSource extends AbstractMeasureSource {
8
8
  type: "device";
9
9
  reference: string;
10
+ deviceMetadata: Metadata;
10
11
  model: string;
11
12
  lastMeasuredAt?: number;
13
+ groups: Array<{
14
+ path: string;
15
+ date: number;
16
+ }>;
12
17
  }
13
18
  export interface ApiMeasureSource extends AbstractMeasureSource {
14
19
  type: "api";
@@ -1 +1 @@
1
- {"version":3,"file":"MeasureSources.js","sourceRoot":"","sources":["../../../../../lib/modules/measure/types/MeasureSources.ts"],"names":[],"mappings":";;;AAmBA,SAAgB,QAAQ,CAAC,MAAW;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAVD,4BAUC;AAED,SAAgB,cAAc,CAAC,MAAW;IACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,MAAM,CAAC,cAAc,KAAK,SAAS;QACnC,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CACzE,CAAC;AACJ,CAAC;AAfD,wCAeC;AAED,SAAgB,WAAW,CAAC,MAAW;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;AACnD,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"MeasureSources.js","sourceRoot":"","sources":["../../../../../lib/modules/measure/types/MeasureSources.ts"],"names":[],"mappings":";;;AAwBA,SAAgB,QAAQ,CAAC,MAAW;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAVD,4BAUC;AAED,SAAgB,cAAc,CAAC,MAAW;IACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,MAAM,CAAC,cAAc,KAAK,SAAS;QACnC,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CACzE,CAAC;AACJ,CAAC;AAfD,wCAeC;AAED,SAAgB,WAAW,CAAC,MAAW;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;AACnD,CAAC;AAFD,kCAEC"}
@@ -9,7 +9,7 @@ export interface DeviceMeasureTarget extends AbstractMeasureTarget {
9
9
  export interface ApiMeasureTarget extends AbstractMeasureTarget {
10
10
  type: "api";
11
11
  assetId: string;
12
- engineGroup?: string;
12
+ engineGroups?: string[];
13
13
  }
14
14
  export declare function isTarget(target: any): target is AbstractMeasureTarget;
15
15
  export declare function isTargetDevice(target: any): target is DeviceMeasureTarget;
@@ -19,7 +19,7 @@ function isTargetApi(target) {
19
19
  if (!isTarget(target) && target.type !== "api") {
20
20
  return false;
21
21
  }
22
- if (target.engineGroup && typeof target.engineGroup !== "string") {
22
+ if (target.engineGroups && !Array.isArray(target.engineGroups)) {
23
23
  return false;
24
24
  }
25
25
  return typeof target.assetId === "string";
@@ -1 +1 @@
1
- {"version":3,"file":"MeasureTarget.js","sourceRoot":"","sources":["../../../../../lib/modules/measure/types/MeasureTarget.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,QAAQ,CAAC,MAAW;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAVD,4BAUC;AAED,SAAgB,cAAc,CAAC,MAAW;IACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;AACtD,CAAC;AAFD,wCAEC;AAED,SAAgB,WAAW,CAAC,MAAW;IACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC5C,CAAC;AAVD,kCAUC"}
1
+ {"version":3,"file":"MeasureTarget.js","sourceRoot":"","sources":["../../../../../lib/modules/measure/types/MeasureTarget.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,QAAQ,CAAC,MAAW;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAVD,4BAUC;AAED,SAAgB,cAAc,CAAC,MAAW;IACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;AACtD,CAAC;AAFD,wCAEC;AAED,SAAgB,WAAW,CAAC,MAAW;IACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC5C,CAAC;AAVD,kCAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelModule.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelModule.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAE1C,yDAAsD;AACtD,iDAA8C;AAG9C,MAAa,WAAY,SAAQ,eAAM;IAKrC,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;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;IAC7E,CAAC;CACF;AAhBD,kCAgBC"}
1
+ {"version":3,"file":"ModelModule.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelModule.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAE1C,yDAAsD;AACtD,iDAA8C;AAE9C,MAAa,WAAY,SAAQ,eAAM;IAIrC,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;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;IAC7E,CAAC;CACF;AAfD,kCAeC"}
@@ -5,6 +5,16 @@ const kuzzle_1 = require("kuzzle");
5
5
  class ModelSerializer {
6
6
  static id(type, model) {
7
7
  if (type === "asset") {
8
+ const assetModel = model;
9
+ if (assetModel.engineIds?.length) {
10
+ const sortedEngines = [...assetModel.engineIds].sort().join("+");
11
+ const sortedGroups = [...assetModel.engineGroups].sort().join("+");
12
+ return `model-asset-${sortedGroups}-${sortedEngines}-${ModelSerializer.title(type, model)}`;
13
+ }
14
+ if (assetModel.engineGroups.length > 1) {
15
+ const sortedGroups = [...assetModel.engineGroups].sort().join("+");
16
+ return `model-asset-${sortedGroups}-${ModelSerializer.title(type, model)}`;
17
+ }
8
18
  return `model-asset-${ModelSerializer.title(type, model)}`;
9
19
  }
10
20
  else if (type === "device") {
@@ -14,6 +24,11 @@ class ModelSerializer {
14
24
  return `model-group-${ModelSerializer.title(type, model)}`;
15
25
  }
16
26
  else if (type === "measure") {
27
+ const measureModel = model;
28
+ if (measureModel.engineIds?.length) {
29
+ const sortedEngines = [...measureModel.engineIds].sort().join("+");
30
+ return `model-measure-${sortedEngines}-${ModelSerializer.title(type, model)}`;
31
+ }
17
32
  return `model-measure-${ModelSerializer.title(type, model)}`;
18
33
  }
19
34
  throw new kuzzle_1.BadRequestError(`Unknown model type "${type}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSerializer.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelSerializer.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AASzC,MAAa,eAAe;IAC1B,MAAM,CAAC,EAAE,CAAyB,IAAY,EAAE,KAAQ;QACtD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,eAAe,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,gBAAgB,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9D,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,eAAe,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,iBAAiB,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,wBAAe,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,KAAK,CAAyB,IAAY,EAAE,KAAQ;QACzD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAQ,KAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAQ,KAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAQ,KAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAQ,KAA6B,CAAC,OAAO,CAAC,IAAI,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,wBAAe,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF;AA5BD,0CA4BC"}
1
+ {"version":3,"file":"ModelSerializer.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelSerializer.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AASzC,MAAa,eAAe;IAC1B,MAAM,CAAC,EAAE,CAAyB,IAAY,EAAE,KAAQ;QACtD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,KAA0B,CAAC;YAC9C,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBACjC,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjE,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnE,OAAO,eAAe,YAAY,IAAI,aAAa,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9F,CAAC;YACD,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnE,OAAO,eAAe,YAAY,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7E,CAAC;YACD,OAAO,eAAe,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,gBAAgB,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9D,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,eAAe,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,KAA4B,CAAC;YAClD,IAAI,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBACnC,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnE,OAAO,iBAAiB,aAAa,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAChF,CAAC;YACD,OAAO,iBAAiB,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,wBAAe,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,KAAK,CAAyB,IAAY,EAAE,KAAQ;QACzD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAQ,KAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAQ,KAA4B,CAAC,MAAM,CAAC,KAAK,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAQ,KAA2B,CAAC,KAAK,CAAC,KAAK,CAAC;QAClD,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAQ,KAA6B,CAAC,OAAO,CAAC,IAAI,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,wBAAe,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF;AA3CD,0CA2CC"}
@@ -12,37 +12,43 @@ export declare class ModelService extends BaseService {
12
12
  constructor(plugin: DeviceManagerPlugin, logger: KuzzleLogger);
13
13
  registerAskEvents(): void;
14
14
  private checkModelsConflicts;
15
- writeAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures, tooltipModels: TooltipModels, locales: {
16
- [valueName: string]: LocaleDetails;
17
- }): Promise<KDocument<AssetModelContent>>;
18
15
  private checkDefaultValues;
16
+ private checkGroupAffinity;
17
+ writeAsset(engineGroups: string[], model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures, tooltipModels: TooltipModels, locales: {
18
+ [valueName: string]: LocaleDetails;
19
+ }, engineIds?: string[]): Promise<KDocument<AssetModelContent>>;
19
20
  writeDevice(model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures): Promise<KDocument<DeviceModelContent>>;
20
- writeGroup(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups): Promise<KDocument<GroupModelContent>>;
21
+ writeGroup(engineGroups: string[], model: string, affinity: JSONObject, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups): Promise<KDocument<GroupModelContent>>;
21
22
  writeMeasure(type: string, valuesMappings: JSONObject, validationSchema?: SchemaObject, valuesDetails?: MeasureValuesDetails, locales?: {
22
23
  [valueName: string]: LocaleDetails;
23
- }): Promise<KDocument<MeasureModelContent>>;
24
+ }, engineIds?: string[]): Promise<KDocument<MeasureModelContent>>;
24
25
  deleteAsset(_id: string): Promise<void>;
25
26
  deleteDevice(_id: string): Promise<void>;
26
27
  deleteGroup(_id: string): Promise<void>;
27
28
  deleteMeasure(_id: string): Promise<void>;
28
- listAsset(engineGroup: string): Promise<KDocument<AssetModelContent>[]>;
29
+ listAsset(engineGroups: string[], engineId?: string): Promise<KDocument<AssetModelContent>[]>;
29
30
  listDevices(): Promise<KDocument<DeviceModelContent>[]>;
30
- listGroups(engineGroup: string): Promise<KDocument<GroupModelContent>[]>;
31
- listMeasures(): Promise<KDocument<MeasureModelContent>[]>;
32
- searchAssets(engineGroup: string, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<AssetModelContent>>>;
31
+ listGroups(engineGroups: string[]): Promise<KDocument<GroupModelContent>[]>;
32
+ listMeasures(engineId?: string): Promise<KDocument<MeasureModelContent>[]>;
33
+ searchAssets(engineGroups: string[], engineId: string | undefined, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<AssetModelContent>>>;
33
34
  searchDevices(searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<DeviceModelContent>>>;
34
- searchGroups(engineGroup: string, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<GroupModelContent>>>;
35
- searchMeasures(searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<MeasureModelContent>>>;
35
+ searchGroups(engineGroups: string[], searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<GroupModelContent>>>;
36
+ searchMeasures(engineId: string | undefined, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<MeasureModelContent>>>;
36
37
  assetExists(model: string): Promise<boolean>;
37
38
  deviceExists(model: string): Promise<boolean>;
38
- getAsset(engineGroup: string, model: string): Promise<KDocument<AssetModelContent>>;
39
+ getAsset(engineGroups: string[], engineId: string | undefined, model: string): Promise<KDocument<AssetModelContent>>;
39
40
  getDevice(model: string): Promise<KDocument<DeviceModelContent>>;
40
41
  getGroup(model: string): Promise<KDocument<GroupModelContent>>;
41
- getMeasure(type: string): Promise<KDocument<MeasureModelContent>>;
42
+ getMeasure(type: string, engineId?: string): Promise<KDocument<MeasureModelContent>>;
43
+ /**
44
+ * Checks that creating/updating a measure model does not shadow an existing
45
+ * one at a different scope (global vs tenant-scoped).
46
+ */
47
+ private checkMeasureShadowing;
42
48
  /**
43
49
  * Update an asset model
44
50
  */
45
- updateAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: AssetModelContent["asset"]["measures"], tooltipModels: TooltipModels, locales: {
51
+ updateAsset(engineGroups: string[], model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: AssetModelContent["asset"]["measures"], tooltipModels: TooltipModels, locales: {
46
52
  [valueName: string]: LocaleDetails;
47
53
  }, request: KuzzleRequest): Promise<KDocument<AssetModelContent>>;
48
54
  }