kuzzle-device-manager 3.0.0-3-dev.19 → 3.0.0-3-dev.21

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 (118) hide show
  1. package/dist/bin/migration/migrate-tenant-classes.d.ts +2 -0
  2. package/dist/bin/migration/migrate-tenant-classes.js +133 -0
  3. package/dist/bin/migration/migrate-tenant-classes.js.map +1 -0
  4. package/dist/lib/modules/asset/AssetHistoryService.d.ts +1 -1
  5. package/dist/lib/modules/asset/AssetHistoryService.js +3 -3
  6. package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
  7. package/dist/lib/modules/asset/AssetService.d.ts +18 -12
  8. package/dist/lib/modules/asset/AssetService.js +115 -115
  9. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  10. package/dist/lib/modules/asset/AssetsController.d.ts +1 -1
  11. package/dist/lib/modules/asset/AssetsController.js +72 -74
  12. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  13. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.d.ts +1 -0
  14. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +2 -0
  15. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
  16. package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +1 -0
  17. package/dist/lib/modules/asset/roles/RoleAssetsReader.js +2 -0
  18. package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
  19. package/dist/lib/modules/asset/types/AssetApi.d.ts +6 -6
  20. package/dist/lib/modules/asset/types/AssetEvents.d.ts +1 -1
  21. package/dist/lib/modules/decoder/PayloadService.js +16 -16
  22. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  23. package/dist/lib/modules/device/DeviceService.d.ts +11 -11
  24. package/dist/lib/modules/device/DeviceService.js +86 -86
  25. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  26. package/dist/lib/modules/device/DevicesController.js +60 -64
  27. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  28. package/dist/lib/modules/device/collections/deviceMappings.js +2 -2
  29. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  30. package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +1 -0
  31. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +2 -0
  32. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -1
  33. package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +1 -0
  34. package/dist/lib/modules/device/roles/RoleDevicesReader.js +2 -0
  35. package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
  36. package/dist/lib/modules/device/types/DeviceApi.d.ts +2 -2
  37. package/dist/lib/modules/device/types/DeviceContent.d.ts +2 -2
  38. package/dist/lib/modules/device/types/DeviceEvents.d.ts +1 -1
  39. package/dist/lib/modules/group/GroupsController.d.ts +3 -3
  40. package/dist/lib/modules/group/GroupsController.js +66 -66
  41. package/dist/lib/modules/group/GroupsController.js.map +1 -1
  42. package/dist/lib/modules/group/GroupsService.d.ts +19 -14
  43. package/dist/lib/modules/group/GroupsService.js +103 -64
  44. package/dist/lib/modules/group/GroupsService.js.map +1 -1
  45. package/dist/lib/modules/group/index.d.ts +1 -0
  46. package/dist/lib/modules/group/index.js +1 -0
  47. package/dist/lib/modules/group/index.js.map +1 -1
  48. package/dist/lib/modules/group/roles/RoleGroupsAdmin.d.ts +1 -0
  49. package/dist/lib/modules/group/roles/RoleGroupsAdmin.js +2 -0
  50. package/dist/lib/modules/group/roles/RoleGroupsAdmin.js.map +1 -1
  51. package/dist/lib/modules/group/roles/RoleGroupsReader.d.ts +1 -0
  52. package/dist/lib/modules/group/roles/RoleGroupsReader.js +2 -0
  53. package/dist/lib/modules/group/roles/RoleGroupsReader.js.map +1 -1
  54. package/dist/lib/modules/group/types/GroupEvents.d.ts +8 -0
  55. package/dist/lib/modules/group/types/GroupEvents.js +3 -0
  56. package/dist/lib/modules/group/types/GroupEvents.js.map +1 -0
  57. package/dist/lib/modules/group/types/GroupsApi.d.ts +1 -1
  58. package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -5
  59. package/dist/lib/modules/measure/MeasureExporter.js +20 -20
  60. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
  61. package/dist/lib/modules/measure/MeasureService.d.ts +2 -2
  62. package/dist/lib/modules/measure/MeasureService.js +5 -5
  63. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  64. package/dist/lib/modules/measure/MeasureTargetBuilder.d.ts +1 -1
  65. package/dist/lib/modules/measure/MeasureTargetBuilder.js +2 -2
  66. package/dist/lib/modules/measure/MeasureTargetBuilder.js.map +1 -1
  67. package/dist/lib/modules/measure/types/MeasureTarget.d.ts +1 -1
  68. package/dist/lib/modules/measure/types/MeasureTarget.js +1 -1
  69. package/dist/lib/modules/measure/types/MeasureTarget.js.map +1 -1
  70. package/dist/lib/modules/model/MetadataReferential.d.ts +119 -0
  71. package/dist/lib/modules/model/MetadataReferential.js +342 -0
  72. package/dist/lib/modules/model/MetadataReferential.js.map +1 -0
  73. package/dist/lib/modules/model/ModelSerializer.js +13 -13
  74. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  75. package/dist/lib/modules/model/ModelService.d.ts +120 -22
  76. package/dist/lib/modules/model/ModelService.js +548 -263
  77. package/dist/lib/modules/model/ModelService.js.map +1 -1
  78. package/dist/lib/modules/model/ModelsConflicts.d.ts +23 -0
  79. package/dist/lib/modules/model/ModelsConflicts.js +54 -4
  80. package/dist/lib/modules/model/ModelsConflicts.js.map +1 -1
  81. package/dist/lib/modules/model/ModelsController.d.ts +11 -2
  82. package/dist/lib/modules/model/ModelsController.js +151 -54
  83. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  84. package/dist/lib/modules/model/ModelsRegister.d.ts +37 -5
  85. package/dist/lib/modules/model/ModelsRegister.js +107 -9
  86. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  87. package/dist/lib/modules/model/collections/modelsMappings.js +15 -1
  88. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  89. package/dist/lib/modules/model/types/ModelApi.d.ts +105 -14
  90. package/dist/lib/modules/model/types/ModelContent.d.ts +73 -7
  91. package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
  92. package/dist/lib/modules/model/types/ModelDefinition.d.ts +6 -3
  93. package/dist/lib/modules/model/types/ModelEvents.d.ts +9 -4
  94. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +58 -25
  95. package/dist/lib/modules/plugin/DeviceManagerEngine.js +184 -88
  96. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  97. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +46 -4
  98. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +72 -9
  99. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  100. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +11 -0
  101. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +8 -8
  102. package/dist/lib/modules/shared/services/AbstractExporter.js +9 -9
  103. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  104. package/dist/lib/modules/shared/services/BaseService.d.ts +7 -7
  105. package/dist/lib/modules/shared/services/BaseService.js +20 -17
  106. package/dist/lib/modules/shared/services/BaseService.js.map +1 -1
  107. package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +3 -3
  108. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +18 -18
  109. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  110. package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +8 -8
  111. package/dist/lib/modules/shared/services/DigitalTwinService.js +39 -39
  112. package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -1
  113. package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +1 -1
  114. package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +2 -2
  115. package/dist/lib/modules/shared/utils/lock.d.ts +7 -1
  116. package/dist/lib/modules/shared/utils/lock.js +2 -2
  117. package/dist/lib/modules/shared/utils/lock.js.map +1 -1
  118. package/package.json +3 -2
@@ -11,8 +11,14 @@ const asset_1 = require("../asset");
11
11
  const measure_1 = require("../measure");
12
12
  const InternalCollection_1 = require("./types/InternalCollection");
13
13
  const ModelsConflicts_1 = require("../model/ModelsConflicts");
14
+ const MetadataReferential_1 = require("../model/MetadataReferential");
14
15
  const AJValidator_1 = require("../shared/utils/AJValidator");
15
16
  const device_1 = require("../device");
17
+ const METADATA_COLLECTIONS = {
18
+ asset: InternalCollection_1.InternalCollection.ASSETS,
19
+ device: InternalCollection_1.InternalCollection.DEVICES,
20
+ group: InternalCollection_1.InternalCollection.GROUPS,
21
+ };
16
22
  class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
17
23
  get app() {
18
24
  return global.app;
@@ -20,7 +26,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
20
26
  constructor(plugin, platformConfigManager, engineConfigManager) {
21
27
  super("device-manager", plugin, plugin.config.platformIndex, platformConfigManager, engineConfigManager);
22
28
  this.context = plugin.context;
23
- (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:list", async ({ group }) => this.list(group));
29
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:list", async ({ tenantClass }) => this.list(tenantClass));
24
30
  (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:updateAll", async () => {
25
31
  await this.updateEngines();
26
32
  await this.updateMeasuresSchema();
@@ -36,17 +42,21 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
36
42
  return [];
37
43
  }
38
44
  const measureModels = await this.getModels(this.config.platformIndex, "measure");
45
+ // ? Models mark the metadata of the referential, conflicts are checked on the actual mappings
46
+ const referential = await (0, MetadataReferential_1.fetchMetadataReferential)(this.sdk, this.config.platformIndex);
47
+ const resolve = (models) => models.map((model) => (0, MetadataReferential_1.resolveModelMappings)(referential, model));
48
+ const newTwinModels = resolve(payload.twin?.models ?? []);
39
49
  const results = await this.getEngines();
40
- const engineGroups = results.map((elt) => elt.engine.group);
41
- const groups = [undefined, ...new Set(engineGroups)];
42
- for (const group of groups) {
50
+ const tenantClasses = results.map((elt) => elt.engine.group);
51
+ const classesInUse = [undefined, ...new Set(tenantClasses)];
52
+ for (const tenantClass of classesInUse) {
43
53
  if (payload.twin) {
44
- if (group === undefined) {
45
- // Platform-level check (no group filter)
46
- const twinModels = await this.getModels(this.config.platformIndex, payload.twin.type);
54
+ if (tenantClass === undefined) {
55
+ // Platform-level check (no tenant class filter)
56
+ const twinModels = resolve(await this.getModels(this.config.platformIndex, payload.twin.type));
47
57
  // 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);
58
+ const globalMeasures = measureModels.filter((m) => !m.indexes?.length);
59
+ const conflicts = await this.doesTwinUpdateConflicts(payload.twin.type, twinModels, newTwinModels, globalMeasures);
50
60
  if (conflicts.length > 0) {
51
61
  return conflicts;
52
62
  }
@@ -54,30 +64,35 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
54
64
  else {
55
65
  // Per-engine check: each engine has its own ES index,
56
66
  // 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);
67
+ const enginesInClass = results.filter((e) => e.engine.group === tenantClass);
68
+ for (const engineDoc of enginesInClass) {
69
+ const twinModels = resolve(await this.getModels(this.config.platformIndex, payload.twin.type, tenantClass, engineDoc.engine.index));
60
70
  // Only check new models that will be applied to this engine
61
- const applicableNewModels = payload.twin.models.filter((model) => {
71
+ const applicableNewModels = newTwinModels.filter((model) => {
62
72
  const assetModel = model;
63
- if (assetModel.engineIds?.length) {
64
- return assetModel.engineIds.includes(engineDoc.engine.index);
73
+ if (assetModel.indexes?.length) {
74
+ return assetModel.indexes.includes(engineDoc.engine.index);
65
75
  }
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"));
76
+ // Class-scoped or commons: applicable to all engines of the class
77
+ return (!assetModel.tenantClasses?.length ||
78
+ assetModel.tenantClasses?.includes(tenantClass) ||
79
+ assetModel.tenantClasses?.includes("commons"));
70
80
  });
71
81
  if (applicableNewModels.length === 0) {
72
82
  continue;
73
83
  }
74
84
  // 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));
85
+ const engineMeasures = measureModels.filter((m) => !m.indexes?.length ||
86
+ m.indexes.includes(engineDoc.engine.index));
77
87
  const conflicts = await this.doesTwinUpdateConflicts(payload.twin.type, twinModels, applicableNewModels, engineMeasures);
78
88
  if (conflicts.length > 0) {
79
89
  return conflicts;
80
90
  }
91
+ // ? Mappings of deleted models or removed metadata are still in the collection
92
+ const esConflicts = await this.getModelsMetadataConflicts(engineDoc.engine.index, payload.twin.type, applicableNewModels);
93
+ if (esConflicts.length > 0) {
94
+ return esConflicts;
95
+ }
81
96
  }
82
97
  }
83
98
  }
@@ -86,11 +101,92 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
86
101
  return this.doesMeasuresUpdateConflicts(measureModels, payload.measuresModels);
87
102
  }
88
103
  if (payload.groupModels) {
89
- const groupModels = await this.getModels(this.config.platformIndex, "group");
90
- return this.doesGroupsUpdateConflicts(groupModels, payload.groupModels);
104
+ const groupModels = resolve(await this.getModels(this.config.platformIndex, "group"));
105
+ const newGroupModels = resolve(payload.groupModels);
106
+ const conflicts = await this.doesGroupsUpdateConflicts(groupModels, newGroupModels);
107
+ if (conflicts.length > 0) {
108
+ return conflicts;
109
+ }
110
+ // ? Every engine groups collection has the mappings of every group model
111
+ for (const { engine } of results) {
112
+ const esConflicts = await this.getModelsMetadataConflicts(engine.index, "group", newGroupModels);
113
+ if (esConflicts.length > 0) {
114
+ return esConflicts;
115
+ }
116
+ }
91
117
  }
92
118
  return [];
93
119
  });
120
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:doesMetadataConflict", async ({ metadataMappings }) => {
121
+ const conflicts = [];
122
+ for (const { engine } of await this.getEngines()) {
123
+ for (const collection of Object.values(METADATA_COLLECTIONS)) {
124
+ const esConflicts = (0, ModelsConflicts_1.findMappingsConflicts)(await this.getCollectionMetadataMappings(engine.index, collection), metadataMappings, `${collection}.metadata`);
125
+ if (esConflicts.length > 0) {
126
+ conflicts.push({
127
+ conflicts: esConflicts,
128
+ modelType: "metadata",
129
+ newModel: "metadata-referential",
130
+ sourceModel: `${engine.index}/${collection}`,
131
+ });
132
+ }
133
+ }
134
+ }
135
+ return conflicts;
136
+ });
137
+ }
138
+ /**
139
+ * Returns the actual metadata mappings of an engine collection
140
+ *
141
+ * @returns The mappings of the metadata properties, empty if the collection does not exist
142
+ */
143
+ async getCollectionMetadataMappings(engineIndex, collection) {
144
+ try {
145
+ const mappings = await this.sdk.collection.getMapping(engineIndex, collection);
146
+ return mappings.properties?.metadata?.properties ?? {};
147
+ }
148
+ catch (error) {
149
+ if (error.status === 404) {
150
+ return {};
151
+ }
152
+ throw error;
153
+ }
154
+ }
155
+ /**
156
+ * Return conflicts between the metadata mappings of models and the actual mappings
157
+ * of their collection in an engine
158
+ *
159
+ * @param engineIndex The target engine
160
+ * @param modelType The models type
161
+ * @param models The new or updated models, with their referential metadata resolved
162
+ * @returns An array of ConflictChunk
163
+ */
164
+ async getModelsMetadataConflicts(engineIndex, modelType, models) {
165
+ const collection = METADATA_COLLECTIONS[modelType];
166
+ const metadataMappings = await this.getCollectionMetadataMappings(engineIndex, collection);
167
+ const chunks = [];
168
+ for (const model of models) {
169
+ const conflicts = (0, ModelsConflicts_1.findMappingsConflicts)(metadataMappings, model[modelType].metadataMappings, `${modelType}.metadataMappings`);
170
+ if (conflicts.length > 0) {
171
+ chunks.push({
172
+ conflicts,
173
+ modelType,
174
+ newModel: model[modelType].model,
175
+ sourceModel: `${engineIndex}/${collection}`,
176
+ });
177
+ }
178
+ }
179
+ return chunks;
180
+ }
181
+ /**
182
+ * Merges the mappings of the metadata referential and of models into metadata mappings.
183
+ * Every referential metadata is merged, used by a model or not.
184
+ */
185
+ mergeMetadataMappings(metadataProperties, referential, modelsMappings) {
186
+ lodash_1.default.merge(metadataProperties, lodash_1.default.mapValues(referential, (entry) => lodash_1.default.cloneDeep(entry.mappings)));
187
+ for (const metadataMappings of modelsMappings) {
188
+ lodash_1.default.merge(metadataProperties, (0, MetadataReferential_1.resolveMetadataMappings)(referential, metadataMappings));
189
+ }
94
190
  }
95
191
  /**
96
192
  * Return conflicts between the new and already present twin models
@@ -181,25 +277,25 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
181
277
  }
182
278
  }
183
279
  }
184
- async onCreate(index, group = "commons") {
280
+ async onCreate(index, tenantClass = "commons") {
185
281
  const promises = [];
186
- promises.push(this.createAssetsCollection(index, group));
187
- promises.push(this.createAssetsHistoryCollection(index, group));
282
+ promises.push(this.createAssetsCollection(index, tenantClass));
283
+ promises.push(this.createAssetsHistoryCollection(index, tenantClass));
188
284
  promises.push(this.createGroupsCollection(index));
189
285
  promises.push(this.createDevicesCollection(index));
190
- promises.push(this.createMeasuresCollection(index, group));
286
+ promises.push(this.createMeasuresCollection(index, tenantClass));
191
287
  const collections = await Promise.all(promises);
192
288
  return {
193
289
  collections: [this.engineConfigManager.collection, ...collections],
194
290
  };
195
291
  }
196
- async onUpdate(index, group = "commons") {
292
+ async onUpdate(index, tenantClass = "commons") {
197
293
  const promises = [];
198
- promises.push(this.createAssetsCollection(index, group));
199
- promises.push(this.createAssetsHistoryCollection(index, group));
294
+ promises.push(this.createAssetsCollection(index, tenantClass));
295
+ promises.push(this.createAssetsHistoryCollection(index, tenantClass));
200
296
  promises.push(this.createGroupsCollection(index));
201
297
  promises.push(this.createDevicesCollection(index));
202
- promises.push(this.createMeasuresCollection(index, group));
298
+ promises.push(this.createMeasuresCollection(index, tenantClass));
203
299
  const collections = await Promise.all(promises);
204
300
  return { collections };
205
301
  }
@@ -224,15 +320,15 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
224
320
  /**
225
321
  * Generate assets mappings and create the assets collection in the engine
226
322
  *
227
- * @param engineId The target engine Id
228
- * @param engineGroup The engine group
323
+ * @param index The target engine Id
324
+ * @param tenantClass The tenant class
229
325
  *
230
326
  * @throws If it failed during the assets collection creation
231
327
  */
232
- async createAssetsCollection(engineId, engineGroup) {
233
- const mappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup, engineId);
328
+ async createAssetsCollection(index, tenantClass) {
329
+ const mappings = await this.getDigitalTwinMappingsFromDB("asset", tenantClass, index);
234
330
  const settings = this.config.engineCollections.assets.settings;
235
- await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.ASSETS, {
331
+ await this.tryCreateCollection(index, InternalCollection_1.InternalCollection.ASSETS, {
236
332
  mappings,
237
333
  settings,
238
334
  });
@@ -241,17 +337,17 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
241
337
  /**
242
338
  * Generate assets mappings and create the assets history collection in the engine
243
339
  *
244
- * @param engineId The target engine Id
245
- * @param engineGroup The engine group
340
+ * @param index The target engine Id
341
+ * @param tenantClass The tenant class
246
342
  *
247
343
  * @throws If it failed during the assets history collection creation
248
344
  */
249
- async createAssetsHistoryCollection(engineId, engineGroup) {
250
- const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup, engineId);
345
+ async createAssetsHistoryCollection(index, tenantClass) {
346
+ const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", tenantClass, index);
251
347
  const mappings = JSON.parse(JSON.stringify(asset_1.assetsHistoryMappings));
252
348
  lodash_1.default.merge(mappings.properties.asset, assetsMappings);
253
349
  const settings = this.config.engineCollections.assetHistory.settings;
254
- await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.ASSETS_HISTORY, {
350
+ await this.tryCreateCollection(index, InternalCollection_1.InternalCollection.ASSETS_HISTORY, {
255
351
  mappings,
256
352
  settings,
257
353
  });
@@ -260,15 +356,15 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
260
356
  /**
261
357
  * Create the groups collection with the groups mappings in the engine
262
358
  *
263
- * @param engineId The target engine Id
264
- * @param engineGroup The engine group
359
+ * @param index The target engine Id
360
+ * @param tenantClass The tenant class
265
361
  *
266
362
  * @throws If it failed during the groups collection creation
267
363
  */
268
- async createGroupsCollection(engineId) {
364
+ async createGroupsCollection(index) {
269
365
  const settings = this.config.engineCollections.groups.settings;
270
366
  const mappings = await this.getAssetGroupsMappingFromDB();
271
- await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.GROUPS, {
367
+ await this.tryCreateCollection(index, InternalCollection_1.InternalCollection.GROUPS, {
272
368
  mappings: mappings,
273
369
  settings,
274
370
  });
@@ -277,15 +373,15 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
277
373
  /**
278
374
  * Generate devices mappings and create the devices collection in the engine
279
375
  *
280
- * @param engineId The target engine Id
281
- * @param engineGroup The engine group
376
+ * @param index The target engine Id
377
+ * @param tenantClass The tenant class
282
378
  *
283
379
  * @throws If it failed during the devices collection creation
284
380
  */
285
- async createDevicesCollection(engineId) {
381
+ async createDevicesCollection(index) {
286
382
  const mappings = await this.getDigitalTwinMappingsFromDB("device");
287
383
  const settings = this.config.engineCollections.devices.settings;
288
- await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.DEVICES, {
384
+ await this.tryCreateCollection(index, InternalCollection_1.InternalCollection.DEVICES, {
289
385
  mappings,
290
386
  settings,
291
387
  });
@@ -294,8 +390,8 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
294
390
  /**
295
391
  * Generate devices mappings and create the devices collection in the engine
296
392
  *
297
- * @param engineId The target engine Id
298
- * @param engineGroup The engine group
393
+ * @param index The target engine Id
394
+ * @param tenantClass The tenant class
299
395
  *
300
396
  * @throws If it failed during the devices collection creation
301
397
  */
@@ -314,15 +410,15 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
314
410
  /**
315
411
  * Generate measures mappings and create the measures collection in the engine
316
412
  *
317
- * @param engineId The target engine Id
318
- * @param engineGroup The engine group
413
+ * @param index The target engine Id
414
+ * @param tenantClass The tenant class
319
415
  *
320
416
  * @throws If it failed during the measures collection creation
321
417
  */
322
- async createMeasuresCollection(engineId, engineGroup) {
323
- const mappings = await this.getMeasuresMappingsFromDB(engineGroup, engineId);
418
+ async createMeasuresCollection(index, tenantClass) {
419
+ const mappings = await this.getMeasuresMappingsFromDB(tenantClass, index);
324
420
  const settings = this.config.engineCollections.measures.settings;
325
- await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.MEASURES, {
421
+ await this.tryCreateCollection(index, InternalCollection_1.InternalCollection.MEASURES, {
326
422
  mappings,
327
423
  settings,
328
424
  });
@@ -349,11 +445,11 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
349
445
  * Generate ES mappings from twin models and theirs associated measures, all fetched from the database
350
446
  *
351
447
  * @param digitalTwinType The target twin type
352
- * @param engineGroup The twin engine group
448
+ * @param tenantClass The twin tenant class
353
449
  * @returns The complete ES mappings produces by merging all the target type twins
354
450
  */
355
- async getDigitalTwinMappingsFromDB(digitalTwinType, engineGroup, targetEngineId) {
356
- const models = await this.getModels(this.config.platformIndex, digitalTwinType, engineGroup, targetEngineId);
451
+ async getDigitalTwinMappingsFromDB(digitalTwinType, tenantClass, targetIndex) {
452
+ const models = await this.getModels(this.config.platformIndex, digitalTwinType, tenantClass, targetIndex);
357
453
  const measureModels = await this.getModels(this.config.platformIndex, "measure");
358
454
  return this.getDigitalTwinMappings(digitalTwinType, models, measureModels);
359
455
  }
@@ -375,8 +471,8 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
375
471
  throw new kuzzle_1.InternalError(`Cannot find mapping for "${digitalTwinType}"`);
376
472
  }
377
473
  const mappings = JSON.parse(JSON.stringify(this.config.engineCollections[digitalTwinCollection].mappings));
474
+ this.mergeMetadataMappings(mappings.properties.metadata.properties, await (0, MetadataReferential_1.fetchMetadataReferential)(this.sdk, this.config.platformIndex), models.map((model) => model[digitalTwinType].metadataMappings));
378
475
  for (const model of models) {
379
- lodash_1.default.merge(mappings.properties.metadata.properties, model[digitalTwinType].metadataMappings);
380
476
  for (const { type: measureType } of model[digitalTwinType]
381
477
  .measures) {
382
478
  const measureModel = measureModels.find((m) => m.measure.type === measureType);
@@ -392,12 +488,12 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
392
488
  /**
393
489
  * Generate ES mappings from measures and theirs associated assets, all fetched via the database
394
490
  *
395
- * @param engineGroup The target engine group
491
+ * @param tenantClass The target tenant class
396
492
  * @returns The complete ES mappings produced by merging models mappings
397
493
  */
398
- async getMeasuresMappingsFromDB(engineGroup, targetEngineId) {
494
+ async getMeasuresMappingsFromDB(tenantClass, targetIndex) {
399
495
  const models = await this.getModels(this.config.platformIndex, "measure");
400
- const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup, targetEngineId);
496
+ const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", tenantClass, targetIndex);
401
497
  const deviceMappings = await this.getDigitalTwinMappingsFromDB("device");
402
498
  return this.getMeasuresMappings(models, assetsMappings, deviceMappings);
403
499
  }
@@ -422,84 +518,84 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
422
518
  async getAssetGroupsMappingFromDB() {
423
519
  const models = await this.getModels(this.config.platformIndex, "group");
424
520
  const mappings = JSON.parse(JSON.stringify(this.config.engineCollections.groups.mappings));
425
- for (const model of models) {
426
- lodash_1.default.merge(mappings.properties.metadata.properties, model.group.metadataMappings);
427
- }
521
+ this.mergeMetadataMappings(mappings.properties.metadata.properties, await (0, MetadataReferential_1.fetchMetadataReferential)(this.sdk, this.config.platformIndex), models.map((model) => model.group.metadataMappings));
428
522
  return mappings;
429
523
  }
430
524
  /**
431
525
  * Retrieve a certain type of models associated to an engine
432
526
  *
433
- * @param engineId The target engine Id
527
+ * @param index The target engine Id
434
528
  * @param type The desired model type
435
- * @param engineGroup The target engine group
529
+ * @param tenantClass The target tenant class
436
530
  * @returns An array of the generic type provided
437
531
  */
438
- async getModels(engineId, type, engineGroup, targetEngineId) {
532
+ async getModels(index, type, tenantClass, targetIndex) {
439
533
  const query = {
440
534
  and: [{ equals: { type } }],
441
535
  };
442
- if (engineGroup) {
443
- if (targetEngineId) {
536
+ if (tenantClass) {
537
+ if (targetIndex) {
444
538
  // Tenant-aware: return models applicable to this specific engine
445
- // 3-level: tenant-scoped for this engine + group-scoped (no engineIds) + commons (no engineIds)
539
+ // 3-level: tenant-scoped for this engine + class-scoped (no indexes) + commons (no indexes)
446
540
  query.and.push({
447
541
  or: [
448
542
  {
449
543
  and: [
450
- { equals: { engineIds: targetEngineId } },
544
+ { equals: { indexes: targetIndex } },
451
545
  {
546
+ // ? Tenant-scoped asset models have no tenantClasses (exclusive with indexes)
452
547
  or: [
453
- { equals: { engineGroups: engineGroup } },
454
- { equals: { engineGroups: "commons" } },
548
+ { not: { exists: "tenantClasses" } },
549
+ { equals: { tenantClasses: tenantClass } },
550
+ { equals: { tenantClasses: "commons" } },
455
551
  ],
456
552
  },
457
553
  ],
458
554
  },
459
555
  {
460
556
  and: [
461
- { not: { exists: "engineIds" } },
462
- { equals: { engineGroups: engineGroup } },
557
+ { not: { exists: "indexes" } },
558
+ { equals: { tenantClasses: tenantClass } },
463
559
  ],
464
560
  },
465
561
  {
466
562
  and: [
467
- { not: { exists: "engineIds" } },
468
- { equals: { engineGroups: "commons" } },
563
+ { not: { exists: "indexes" } },
564
+ { equals: { tenantClasses: "commons" } },
469
565
  ],
470
566
  },
471
567
  ],
472
568
  });
473
569
  }
474
570
  else {
475
- // No target engine: return only group-scoped (no engineIds) + commons (no engineIds)
571
+ // No target engine: return only class-scoped (no indexes) + commons (no indexes)
476
572
  query.and.push({
477
573
  and: [
478
- { not: { exists: "engineIds" } },
574
+ { not: { exists: "indexes" } },
479
575
  {
480
576
  or: [
481
- { equals: { engineGroups: engineGroup } },
482
- { equals: { engineGroups: "commons" } },
577
+ { equals: { tenantClasses: tenantClass } },
578
+ { equals: { tenantClasses: "commons" } },
483
579
  ],
484
580
  },
485
581
  ],
486
582
  });
487
583
  }
488
584
  }
489
- const result = await this.sdk.document.search(engineId, InternalCollection_1.InternalCollection.MODELS, { query }, { lang: "koncorde", size: 5000 });
585
+ const result = await this.sdk.document.search(index, InternalCollection_1.InternalCollection.MODELS, { query }, { lang: "koncorde", size: 5000 });
490
586
  return result.hits.map((elt) => elt._source);
491
587
  }
492
588
  /**
493
589
  * Detach all devices of an index in the platform index
494
590
  *
495
- * @param engineId The target engine Id
591
+ * @param index The target engine Id
496
592
  * @returns {any}
497
593
  */
498
- async detachDevicesFromPlatformIndex(engineId) {
594
+ async detachDevicesFromPlatformIndex(index) {
499
595
  const devices = [];
500
596
  let result = await this.sdk.document.search(this.config.platformIndex, "devices", {
501
597
  _source: false,
502
- query: { bool: { must: { term: { engineId } } } },
598
+ query: { bool: { must: { term: { index } } } },
503
599
  }, {
504
600
  scroll: "2s",
505
601
  size: 100,
@@ -510,7 +606,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
510
606
  }
511
607
  if (devices.length > 0) {
512
608
  void this.sdk.document.mUpdate(this.config.platformIndex, "devices", devices.map((device) => {
513
- return { _id: device._id, body: { engineId: null } };
609
+ return { _id: device._id, body: { index: null } };
514
610
  }));
515
611
  }
516
612
  }
@@ -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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"}