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,8 +1,9 @@
1
1
  import { JSONObject, KDocumentContent } from "kuzzle-sdk";
2
- import { NamedMeasures } from "../../../modules/decoder";
2
+ import { NamedMeasures } from "../../decoder";
3
3
  import { MeasureDefinition } from "../../measure";
4
4
  export interface MeasureModelContent extends KDocumentContent {
5
5
  type: "measure";
6
+ engineIds?: string[];
6
7
  measure: MeasureDefinition & {
7
8
  type: string;
8
9
  locales?: {
@@ -23,6 +24,23 @@ export interface MetadataObject {
23
24
  export interface MetadataMappings {
24
25
  [key: string]: MetadataProperty | MetadataObject;
25
26
  }
27
+ export interface GroupAffinity {
28
+ /**
29
+ * Type of elements accepted in the group
30
+ */
31
+ type: Array<"assets" | "devices">;
32
+ /**
33
+ * Models accepted in the group
34
+ */
35
+ models: {
36
+ assets?: string[];
37
+ devices?: string[];
38
+ };
39
+ /**
40
+ * Weather the affinities are a strict restriction or not
41
+ */
42
+ strict: boolean;
43
+ }
26
44
  export interface LocaleDetails {
27
45
  friendlyName: string;
28
46
  description: string;
@@ -136,7 +154,13 @@ export interface TooltipModels {
136
154
  }
137
155
  export interface AssetModelContent extends KDocumentContent {
138
156
  type: "asset";
139
- engineGroup: string;
157
+ engineGroups: string[];
158
+ /**
159
+ * Optional list of engine IDs (tenant IDs) this model is scoped to.
160
+ * When set, the model is only available to the specified tenants.
161
+ * When absent, the model is available to all tenants in the engineGroups.
162
+ */
163
+ engineIds?: string[];
140
164
  asset: {
141
165
  /**
142
166
  * Name of the model
@@ -268,6 +292,9 @@ export interface AssetModelContent extends KDocumentContent {
268
292
  * ]
269
293
  */
270
294
  tooltipModels?: TooltipModels;
295
+ /**
296
+ * Translations specific to the model
297
+ */
271
298
  locales?: {
272
299
  [locale: string]: LocaleDetails;
273
300
  };
@@ -364,12 +391,16 @@ export interface DeviceModelContent extends KDocumentContent {
364
391
  }
365
392
  export interface GroupModelContent extends KDocumentContent {
366
393
  type: "group";
367
- engineGroup: string;
394
+ engineGroups: string[];
368
395
  group: {
369
396
  /**
370
397
  * Name of the model
371
398
  */
372
399
  model: string;
400
+ /**
401
+ * Group types and model affinities
402
+ */
403
+ affinity: GroupAffinity;
373
404
  /**
374
405
  * Metadata mappings.
375
406
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ModelContent.js","sourceRoot":"","sources":["../../../../../lib/modules/model/types/ModelContent.ts"],"names":[],"mappings":";;;AA0CA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,oDAAkC,CAAA;IAClC,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAgGD,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,2CAAe,CAAA;IACf,yCAAa,CAAA;IACb,2CAAe,CAAA;IACf,mDAAuB,CAAA;AACzB,CAAC,EANW,wBAAwB,wCAAxB,wBAAwB,QAMnC"}
1
+ {"version":3,"file":"ModelContent.js","sourceRoot":"","sources":["../../../../../lib/modules/model/types/ModelContent.ts"],"names":[],"mappings":";;;AA6DA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,oDAAkC,CAAA;IAClC,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAgGD,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,2CAAe,CAAA;IACf,yCAAa,CAAA;IACb,2CAAe,CAAA;IACf,mDAAuB,CAAA;AACzB,CAAC,EANW,wBAAwB,wCAAxB,wBAAwB,QAMnC"}
@@ -1,6 +1,6 @@
1
1
  import { JSONObject } from "kuzzle-sdk";
2
- import { Decoder, NamedMeasures } from "../../../modules/decoder";
3
- import { LocaleDetails, MetadataDetails, MetadataGroups, MetadataMappings, TooltipModels } from "./ModelContent";
2
+ import { Decoder, NamedMeasures } from "../../decoder";
3
+ import { GroupAffinity, LocaleDetails, MetadataDetails, MetadataGroups, MetadataMappings, TooltipModels } from "./ModelContent";
4
4
  /**
5
5
  * Define an asset model
6
6
  *
@@ -279,6 +279,10 @@ export type DeviceModelDefinition = {
279
279
  *
280
280
  */
281
281
  export type GroupModelDefinition = {
282
+ /**
283
+ * Metadata mappings definition
284
+ */
285
+ affinity: GroupAffinity;
282
286
  /**
283
287
  * Metadata mappings definition
284
288
  */
@@ -2,7 +2,8 @@ import { AssetModelContent, DeviceModelContent, GroupModelContent, MeasureModelC
2
2
  export type AskModelAssetGet = {
3
3
  name: "ask:device-manager:model:asset:get";
4
4
  payload: {
5
- engineGroup: string;
5
+ engineGroups: string[];
6
+ engineId?: string;
6
7
  model: string;
7
8
  };
8
9
  result: AssetModelContent;
@@ -18,6 +19,7 @@ export type AskModelMeasureGet = {
18
19
  name: "ask:device-manager:model:measure:get";
19
20
  payload: {
20
21
  type: string;
22
+ engineId?: string;
21
23
  };
22
24
  result: MeasureModelContent;
23
25
  };
@@ -42,7 +42,7 @@ export type AskEngineUpdateConflict = {
42
42
  export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlugin> {
43
43
  config: DeviceManagerConfiguration;
44
44
  get app(): Backend;
45
- constructor(plugin: Plugin, adminConfigManager: ConfigManager, engineConfigManager: ConfigManager);
45
+ constructor(plugin: Plugin, platformConfigManager: ConfigManager, engineConfigManager: ConfigManager);
46
46
  /**
47
47
  * Return conflicts between the new and already present twin models
48
48
  *
@@ -107,14 +107,14 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
107
107
  */
108
108
  createAssetsHistoryCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
109
109
  /**
110
- * Create the assets groups collection with the assets groups mappings in the engine
110
+ * Create the groups collection with the groups mappings in the engine
111
111
  *
112
112
  * @param engineId The target engine Id
113
113
  * @param engineGroup The engine group
114
114
  *
115
- * @throws If it failed during the assets groups collection creation
115
+ * @throws If it failed during the groups collection creation
116
116
  */
117
- createAssetsGroupsCollection(engineId: string): Promise<InternalCollection>;
117
+ createGroupsCollection(engineId: string): Promise<InternalCollection>;
118
118
  /**
119
119
  * Generate devices mappings and create the devices collection in the engine
120
120
  *
@@ -124,6 +124,15 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
124
124
  * @throws If it failed during the devices collection creation
125
125
  */
126
126
  createDevicesCollection(engineId: string): Promise<InternalCollection>;
127
+ /**
128
+ * Generate devices mappings and create the devices collection in the engine
129
+ *
130
+ * @param engineId The target engine Id
131
+ * @param engineGroup The engine group
132
+ *
133
+ * @throws If it failed during the devices collection creation
134
+ */
135
+ createPlatformDevicesCollection(): Promise<InternalCollection>;
127
136
  /**
128
137
  * Generate measures mappings and create the measures collection in the engine
129
138
  *
@@ -186,10 +195,10 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
186
195
  */
187
196
  private getModels;
188
197
  /**
189
- * Detach all devices of an index in the admin index
198
+ * Detach all devices of an index in the platform index
190
199
  *
191
200
  * @param engineId The target engine Id
192
201
  * @returns {any}
193
202
  */
194
- private detachDevicesFromAdminIndex;
203
+ private detachDevicesFromPlatformIndex;
195
204
  }
@@ -12,18 +12,19 @@ const measure_1 = require("../measure");
12
12
  const InternalCollection_1 = require("./types/InternalCollection");
13
13
  const ModelsConflicts_1 = require("../model/ModelsConflicts");
14
14
  const AJValidator_1 = require("../shared/utils/AJValidator");
15
+ const device_1 = require("../device");
15
16
  class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
16
17
  get app() {
17
18
  return global.app;
18
19
  }
19
- constructor(plugin, adminConfigManager, engineConfigManager) {
20
- super("device-manager", plugin, plugin.config.adminIndex, adminConfigManager, engineConfigManager);
20
+ constructor(plugin, platformConfigManager, engineConfigManager) {
21
+ super("device-manager", plugin, plugin.config.platformIndex, platformConfigManager, engineConfigManager);
21
22
  this.context = plugin.context;
22
23
  (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:list", async ({ group }) => this.list(group));
23
24
  (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:updateAll", async () => {
24
25
  await this.updateEngines();
25
26
  await this.updateMeasuresSchema();
26
- await this.createDevicesCollection(this.config.adminIndex);
27
+ await this.createPlatformDevicesCollection();
27
28
  });
28
29
  (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:doesUpdateConflict", async (payload) => {
29
30
  if (!payload) {
@@ -34,16 +35,50 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
34
35
  payload.groupModels === undefined) {
35
36
  return [];
36
37
  }
37
- const measureModels = await this.getModels(this.config.adminIndex, "measure");
38
+ const measureModels = await this.getModels(this.config.platformIndex, "measure");
38
39
  const results = await this.getEngines();
39
40
  const engineGroups = results.map((elt) => elt.engine.group);
40
- const groups = [undefined, ...engineGroups];
41
+ const groups = [undefined, ...new Set(engineGroups)];
41
42
  for (const group of groups) {
42
43
  if (payload.twin) {
43
- const twinModels = await this.getModels(this.config.adminIndex, payload.twin.type, group);
44
- const conflicts = await this.doesTwinUpdateConflicts(payload.twin.type, twinModels, payload.twin.models, measureModels);
45
- if (conflicts.length > 0) {
46
- return conflicts;
44
+ if (group === undefined) {
45
+ // Platform-level check (no group filter)
46
+ const twinModels = await this.getModels(this.config.platformIndex, payload.twin.type);
47
+ // Platform-level twins can only reference global measures
48
+ const globalMeasures = measureModels.filter((m) => !m.engineIds?.length);
49
+ const conflicts = await this.doesTwinUpdateConflicts(payload.twin.type, twinModels, payload.twin.models, globalMeasures);
50
+ if (conflicts.length > 0) {
51
+ return conflicts;
52
+ }
53
+ }
54
+ else {
55
+ // Per-engine check: each engine has its own ES index,
56
+ // so conflicts are only relevant within the same engine's model set
57
+ const enginesInGroup = results.filter((e) => e.engine.group === group);
58
+ for (const engineDoc of enginesInGroup) {
59
+ const twinModels = await this.getModels(this.config.platformIndex, payload.twin.type, group, engineDoc.engine.index);
60
+ // Only check new models that will be applied to this engine
61
+ const applicableNewModels = payload.twin.models.filter((model) => {
62
+ const assetModel = model;
63
+ if (assetModel.engineIds?.length) {
64
+ return assetModel.engineIds.includes(engineDoc.engine.index);
65
+ }
66
+ // Group-scoped or commons: applicable to all engines in group
67
+ return (!assetModel.engineGroups?.length ||
68
+ assetModel.engineGroups?.includes(group) ||
69
+ assetModel.engineGroups?.includes("commons"));
70
+ });
71
+ if (applicableNewModels.length === 0) {
72
+ continue;
73
+ }
74
+ // Per-engine: global measures + tenant-scoped for this engine
75
+ const engineMeasures = measureModels.filter((m) => !m.engineIds?.length ||
76
+ m.engineIds.includes(engineDoc.engine.index));
77
+ const conflicts = await this.doesTwinUpdateConflicts(payload.twin.type, twinModels, applicableNewModels, engineMeasures);
78
+ if (conflicts.length > 0) {
79
+ return conflicts;
80
+ }
81
+ }
47
82
  }
48
83
  }
49
84
  }
@@ -51,7 +86,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
51
86
  return this.doesMeasuresUpdateConflicts(measureModels, payload.measuresModels);
52
87
  }
53
88
  if (payload.groupModels) {
54
- const groupModels = await this.getModels(this.config.adminIndex, "group");
89
+ const groupModels = await this.getModels(this.config.platformIndex, "group");
55
90
  return this.doesGroupsUpdateConflicts(groupModels, payload.groupModels);
56
91
  }
57
92
  return [];
@@ -125,7 +160,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
125
160
  * @returns An array of the available engines
126
161
  */
127
162
  async getEngines() {
128
- const result = await this.sdk.document.search(this.config.adminIndex, InternalCollection_1.InternalCollection.CONFIG, {
163
+ const result = await this.sdk.document.search(this.config.platformIndex, InternalCollection_1.InternalCollection.CONFIG, {
129
164
  query: {
130
165
  equals: { type: "engine-device-manager" },
131
166
  },
@@ -133,7 +168,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
133
168
  return result.hits.map((elt) => elt._source);
134
169
  }
135
170
  async updateMeasuresSchema() {
136
- const models = await this.getModels(this.adminIndex, "measure");
171
+ const models = await this.getModels(this.config.platformIndex, "measure");
137
172
  for (const measure of models) {
138
173
  const { validationSchema } = measure.measure;
139
174
  if (validationSchema) {
@@ -150,7 +185,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
150
185
  const promises = [];
151
186
  promises.push(this.createAssetsCollection(index, group));
152
187
  promises.push(this.createAssetsHistoryCollection(index, group));
153
- promises.push(this.createAssetsGroupsCollection(index));
188
+ promises.push(this.createGroupsCollection(index));
154
189
  promises.push(this.createDevicesCollection(index));
155
190
  promises.push(this.createMeasuresCollection(index, group));
156
191
  const collections = await Promise.all(promises);
@@ -162,7 +197,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
162
197
  const promises = [];
163
198
  promises.push(this.createAssetsCollection(index, group));
164
199
  promises.push(this.createAssetsHistoryCollection(index, group));
165
- promises.push(this.createAssetsGroupsCollection(index));
200
+ promises.push(this.createGroupsCollection(index));
166
201
  promises.push(this.createDevicesCollection(index));
167
202
  promises.push(this.createMeasuresCollection(index, group));
168
203
  const collections = await Promise.all(promises);
@@ -172,7 +207,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
172
207
  const collections = [
173
208
  InternalCollection_1.InternalCollection.ASSETS,
174
209
  InternalCollection_1.InternalCollection.ASSETS_HISTORY,
175
- InternalCollection_1.InternalCollection.ASSETS_GROUPS,
210
+ InternalCollection_1.InternalCollection.GROUPS,
176
211
  InternalCollection_1.InternalCollection.DEVICES,
177
212
  InternalCollection_1.InternalCollection.MEASURES,
178
213
  ];
@@ -181,7 +216,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
181
216
  await this.sdk.collection.delete(index, collection);
182
217
  }
183
218
  }));
184
- await this.detachDevicesFromAdminIndex(index);
219
+ await this.detachDevicesFromPlatformIndex(index);
185
220
  return {
186
221
  collections,
187
222
  };
@@ -195,8 +230,8 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
195
230
  * @throws If it failed during the assets collection creation
196
231
  */
197
232
  async createAssetsCollection(engineId, engineGroup) {
198
- const mappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup);
199
- const settings = this.config.engineCollections.asset.settings;
233
+ const mappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup, engineId);
234
+ const settings = this.config.engineCollections.assets.settings;
200
235
  await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.ASSETS, {
201
236
  mappings,
202
237
  settings,
@@ -212,7 +247,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
212
247
  * @throws If it failed during the assets history collection creation
213
248
  */
214
249
  async createAssetsHistoryCollection(engineId, engineGroup) {
215
- const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup);
250
+ const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup, engineId);
216
251
  const mappings = JSON.parse(JSON.stringify(asset_1.assetsHistoryMappings));
217
252
  lodash_1.default.merge(mappings.properties.asset, assetsMappings);
218
253
  const settings = this.config.engineCollections.assetHistory.settings;
@@ -223,21 +258,21 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
223
258
  return InternalCollection_1.InternalCollection.ASSETS_HISTORY;
224
259
  }
225
260
  /**
226
- * Create the assets groups collection with the assets groups mappings in the engine
261
+ * Create the groups collection with the groups mappings in the engine
227
262
  *
228
263
  * @param engineId The target engine Id
229
264
  * @param engineGroup The engine group
230
265
  *
231
- * @throws If it failed during the assets groups collection creation
266
+ * @throws If it failed during the groups collection creation
232
267
  */
233
- async createAssetsGroupsCollection(engineId) {
234
- const settings = this.config.engineCollections.assetGroups.settings;
268
+ async createGroupsCollection(engineId) {
269
+ const settings = this.config.engineCollections.groups.settings;
235
270
  const mappings = await this.getAssetGroupsMappingFromDB();
236
- await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.ASSETS_GROUPS, {
237
- mappings,
271
+ await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.GROUPS, {
272
+ mappings: mappings,
238
273
  settings,
239
274
  });
240
- return InternalCollection_1.InternalCollection.ASSETS_GROUPS;
275
+ return InternalCollection_1.InternalCollection.GROUPS;
241
276
  }
242
277
  /**
243
278
  * Generate devices mappings and create the devices collection in the engine
@@ -249,13 +284,33 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
249
284
  */
250
285
  async createDevicesCollection(engineId) {
251
286
  const mappings = await this.getDigitalTwinMappingsFromDB("device");
252
- const settings = this.config.engineCollections.device.settings;
287
+ const settings = this.config.engineCollections.devices.settings;
253
288
  await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.DEVICES, {
254
289
  mappings,
255
290
  settings,
256
291
  });
257
292
  return InternalCollection_1.InternalCollection.DEVICES;
258
293
  }
294
+ /**
295
+ * Generate devices mappings and create the devices collection in the engine
296
+ *
297
+ * @param engineId The target engine Id
298
+ * @param engineGroup The engine group
299
+ *
300
+ * @throws If it failed during the devices collection creation
301
+ */
302
+ async createPlatformDevicesCollection() {
303
+ const settings = this.config.engineCollections.devices.settings;
304
+ const enrichedMappings = { ...device_1.devicesPlatformMappings };
305
+ const enrichedMeasureMappings = await this.getMeasuresMappingsFromDB(this.config.platformIndex);
306
+ enrichedMappings.properties.lastMeasures.properties.values.properties =
307
+ enrichedMeasureMappings.properties.values.properties;
308
+ await this.tryCreateCollection(this.config.platformIndex, InternalCollection_1.InternalCollection.DEVICES, {
309
+ mappings: device_1.devicesPlatformMappings,
310
+ settings,
311
+ });
312
+ return InternalCollection_1.InternalCollection.DEVICES;
313
+ }
259
314
  /**
260
315
  * Generate measures mappings and create the measures collection in the engine
261
316
  *
@@ -265,7 +320,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
265
320
  * @throws If it failed during the measures collection creation
266
321
  */
267
322
  async createMeasuresCollection(engineId, engineGroup) {
268
- const mappings = await this.getMeasuresMappingsFromDB(engineGroup);
323
+ const mappings = await this.getMeasuresMappingsFromDB(engineGroup, engineId);
269
324
  const settings = this.config.engineCollections.measures.settings;
270
325
  await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.MEASURES, {
271
326
  mappings,
@@ -297,9 +352,9 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
297
352
  * @param engineGroup The twin engine group
298
353
  * @returns The complete ES mappings produces by merging all the target type twins
299
354
  */
300
- async getDigitalTwinMappingsFromDB(digitalTwinType, engineGroup) {
301
- const models = await this.getModels(this.config.adminIndex, digitalTwinType, engineGroup);
302
- const measureModels = await this.getModels(this.config.adminIndex, "measure");
355
+ async getDigitalTwinMappingsFromDB(digitalTwinType, engineGroup, targetEngineId) {
356
+ const models = await this.getModels(this.config.platformIndex, digitalTwinType, engineGroup, targetEngineId);
357
+ const measureModels = await this.getModels(this.config.platformIndex, "measure");
303
358
  return this.getDigitalTwinMappings(digitalTwinType, models, measureModels);
304
359
  }
305
360
  /**
@@ -311,22 +366,25 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
311
366
  * @returns The complete ES mappings produces by merging all the target type twins
312
367
  */
313
368
  async getDigitalTwinMappings(digitalTwinType, models, measureModels) {
314
- if (this.config.engineCollections[digitalTwinType] === undefined ||
315
- this.config.engineCollections[digitalTwinType].mappings === undefined) {
369
+ const digitalTwinCollection = digitalTwinType === "asset"
370
+ ? InternalCollection_1.InternalCollection.ASSETS
371
+ : InternalCollection_1.InternalCollection.DEVICES;
372
+ if (this.config.engineCollections[digitalTwinCollection] === undefined ||
373
+ this.config.engineCollections[digitalTwinCollection].mappings ===
374
+ undefined) {
316
375
  throw new kuzzle_1.InternalError(`Cannot find mapping for "${digitalTwinType}"`);
317
376
  }
318
- const mappings = JSON.parse(JSON.stringify(this.config.engineCollections[digitalTwinType].mappings));
377
+ const mappings = JSON.parse(JSON.stringify(this.config.engineCollections[digitalTwinCollection].mappings));
319
378
  for (const model of models) {
320
379
  lodash_1.default.merge(mappings.properties.metadata.properties, model[digitalTwinType].metadataMappings);
321
- for (const { name: measureName, type: measureType } of model[digitalTwinType].measures) {
380
+ for (const { type: measureType } of model[digitalTwinType]
381
+ .measures) {
322
382
  const measureModel = measureModels.find((m) => m.measure.type === measureType);
323
383
  if (!measureModel) {
324
384
  throw new kuzzle_1.InternalError(`Cannot find measure "${measureType}" declared in ${[
325
385
  digitalTwinType,
326
386
  ]} "${model[digitalTwinType].model}"`);
327
387
  }
328
- mappings.properties.measures.properties[measureName] =
329
- (0, measure_1.getEmbeddedMeasureMappings)(measureModel.measure.valuesMappings);
330
388
  }
331
389
  }
332
390
  return mappings;
@@ -337,9 +395,9 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
337
395
  * @param engineGroup The target engine group
338
396
  * @returns The complete ES mappings produced by merging models mappings
339
397
  */
340
- async getMeasuresMappingsFromDB(engineGroup) {
341
- const models = await this.getModels(this.config.adminIndex, "measure");
342
- const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup);
398
+ async getMeasuresMappingsFromDB(engineGroup, targetEngineId) {
399
+ const models = await this.getModels(this.config.platformIndex, "measure");
400
+ const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup, targetEngineId);
343
401
  const deviceMappings = await this.getDigitalTwinMappingsFromDB("device");
344
402
  return this.getMeasuresMappings(models, assetsMappings, deviceMappings);
345
403
  }
@@ -362,8 +420,8 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
362
420
  return mappings;
363
421
  }
364
422
  async getAssetGroupsMappingFromDB() {
365
- const models = await this.getModels(this.config.adminIndex, "group");
366
- const mappings = JSON.parse(JSON.stringify(this.config.engineCollections.assetGroups.mappings));
423
+ const models = await this.getModels(this.config.platformIndex, "group");
424
+ const mappings = JSON.parse(JSON.stringify(this.config.engineCollections.groups.mappings));
367
425
  for (const model of models) {
368
426
  lodash_1.default.merge(mappings.properties.metadata.properties, model.group.metadataMappings);
369
427
  }
@@ -377,30 +435,69 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
377
435
  * @param engineGroup The target engine group
378
436
  * @returns An array of the generic type provided
379
437
  */
380
- async getModels(engineId, type, engineGroup) {
438
+ async getModels(engineId, type, engineGroup, targetEngineId) {
381
439
  const query = {
382
440
  and: [{ equals: { type } }],
383
441
  };
384
442
  if (engineGroup) {
385
- query.and.push({
386
- or: [
387
- { equals: { engineGroup } },
388
- { equals: { engineGroup: "commons" } },
389
- ],
390
- });
443
+ if (targetEngineId) {
444
+ // Tenant-aware: return models applicable to this specific engine
445
+ // 3-level: tenant-scoped for this engine + group-scoped (no engineIds) + commons (no engineIds)
446
+ query.and.push({
447
+ or: [
448
+ {
449
+ and: [
450
+ { equals: { engineIds: targetEngineId } },
451
+ {
452
+ or: [
453
+ { equals: { engineGroups: engineGroup } },
454
+ { equals: { engineGroups: "commons" } },
455
+ ],
456
+ },
457
+ ],
458
+ },
459
+ {
460
+ and: [
461
+ { not: { exists: "engineIds" } },
462
+ { equals: { engineGroups: engineGroup } },
463
+ ],
464
+ },
465
+ {
466
+ and: [
467
+ { not: { exists: "engineIds" } },
468
+ { equals: { engineGroups: "commons" } },
469
+ ],
470
+ },
471
+ ],
472
+ });
473
+ }
474
+ else {
475
+ // No target engine: return only group-scoped (no engineIds) + commons (no engineIds)
476
+ query.and.push({
477
+ and: [
478
+ { not: { exists: "engineIds" } },
479
+ {
480
+ or: [
481
+ { equals: { engineGroups: engineGroup } },
482
+ { equals: { engineGroups: "commons" } },
483
+ ],
484
+ },
485
+ ],
486
+ });
487
+ }
391
488
  }
392
489
  const result = await this.sdk.document.search(engineId, InternalCollection_1.InternalCollection.MODELS, { query }, { lang: "koncorde", size: 5000 });
393
490
  return result.hits.map((elt) => elt._source);
394
491
  }
395
492
  /**
396
- * Detach all devices of an index in the admin index
493
+ * Detach all devices of an index in the platform index
397
494
  *
398
495
  * @param engineId The target engine Id
399
496
  * @returns {any}
400
497
  */
401
- async detachDevicesFromAdminIndex(engineId) {
498
+ async detachDevicesFromPlatformIndex(engineId) {
402
499
  const devices = [];
403
- let result = await this.sdk.document.search(this.adminIndex, "devices", {
500
+ let result = await this.sdk.document.search(this.config.platformIndex, "devices", {
404
501
  _source: false,
405
502
  query: { bool: { must: { term: { engineId } } } },
406
503
  }, {
@@ -412,8 +509,8 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
412
509
  result = await result.next();
413
510
  }
414
511
  if (devices.length > 0) {
415
- void this.sdk.document.mUpdate(this.adminIndex, "devices", devices.map((device) => {
416
- return { _id: device._id, body: { assetId: null, engineId: null } };
512
+ void this.sdk.document.mUpdate(this.config.platformIndex, "devices", devices.map((device) => {
513
+ return { _id: device._id, body: { engineId: null } };
417
514
  }));
418
515
  }
419
516
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceManagerEngine.js","sourceRoot":"","sources":["../../../../lib/modules/plugin/DeviceManagerEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceManagerEngine.js","sourceRoot":"","sources":["../../../../lib/modules/plugin/DeviceManagerEngine.ts"],"names":[],"mappings":"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"}