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.
- package/dist/bin/migration/migrate-tenant-classes.d.ts +2 -0
- package/dist/bin/migration/migrate-tenant-classes.js +133 -0
- package/dist/bin/migration/migrate-tenant-classes.js.map +1 -0
- package/dist/lib/modules/asset/AssetHistoryService.d.ts +1 -1
- package/dist/lib/modules/asset/AssetHistoryService.js +3 -3
- package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
- package/dist/lib/modules/asset/AssetService.d.ts +18 -12
- package/dist/lib/modules/asset/AssetService.js +115 -115
- package/dist/lib/modules/asset/AssetService.js.map +1 -1
- package/dist/lib/modules/asset/AssetsController.d.ts +1 -1
- package/dist/lib/modules/asset/AssetsController.js +72 -74
- package/dist/lib/modules/asset/AssetsController.js.map +1 -1
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.d.ts +1 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +2 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
- package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +1 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js +2 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
- package/dist/lib/modules/asset/types/AssetApi.d.ts +6 -6
- package/dist/lib/modules/asset/types/AssetEvents.d.ts +1 -1
- package/dist/lib/modules/decoder/PayloadService.js +16 -16
- package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
- package/dist/lib/modules/device/DeviceService.d.ts +11 -11
- package/dist/lib/modules/device/DeviceService.js +86 -86
- package/dist/lib/modules/device/DeviceService.js.map +1 -1
- package/dist/lib/modules/device/DevicesController.js +60 -64
- package/dist/lib/modules/device/DevicesController.js.map +1 -1
- package/dist/lib/modules/device/collections/deviceMappings.js +2 -2
- package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +1 -0
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +2 -0
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -1
- package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +1 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js +2 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
- package/dist/lib/modules/device/types/DeviceApi.d.ts +2 -2
- package/dist/lib/modules/device/types/DeviceContent.d.ts +2 -2
- package/dist/lib/modules/device/types/DeviceEvents.d.ts +1 -1
- package/dist/lib/modules/group/GroupsController.d.ts +3 -3
- package/dist/lib/modules/group/GroupsController.js +66 -66
- package/dist/lib/modules/group/GroupsController.js.map +1 -1
- package/dist/lib/modules/group/GroupsService.d.ts +19 -14
- package/dist/lib/modules/group/GroupsService.js +103 -64
- package/dist/lib/modules/group/GroupsService.js.map +1 -1
- package/dist/lib/modules/group/index.d.ts +1 -0
- package/dist/lib/modules/group/index.js +1 -0
- package/dist/lib/modules/group/index.js.map +1 -1
- package/dist/lib/modules/group/roles/RoleGroupsAdmin.d.ts +1 -0
- package/dist/lib/modules/group/roles/RoleGroupsAdmin.js +2 -0
- package/dist/lib/modules/group/roles/RoleGroupsAdmin.js.map +1 -1
- package/dist/lib/modules/group/roles/RoleGroupsReader.d.ts +1 -0
- package/dist/lib/modules/group/roles/RoleGroupsReader.js +2 -0
- package/dist/lib/modules/group/roles/RoleGroupsReader.js.map +1 -1
- package/dist/lib/modules/group/types/GroupEvents.d.ts +8 -0
- package/dist/lib/modules/group/types/GroupEvents.js +3 -0
- package/dist/lib/modules/group/types/GroupEvents.js.map +1 -0
- package/dist/lib/modules/group/types/GroupsApi.d.ts +1 -1
- package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -5
- package/dist/lib/modules/measure/MeasureExporter.js +20 -20
- package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
- package/dist/lib/modules/measure/MeasureService.d.ts +2 -2
- package/dist/lib/modules/measure/MeasureService.js +5 -5
- package/dist/lib/modules/measure/MeasureService.js.map +1 -1
- package/dist/lib/modules/measure/MeasureTargetBuilder.d.ts +1 -1
- package/dist/lib/modules/measure/MeasureTargetBuilder.js +2 -2
- package/dist/lib/modules/measure/MeasureTargetBuilder.js.map +1 -1
- package/dist/lib/modules/measure/types/MeasureTarget.d.ts +1 -1
- package/dist/lib/modules/measure/types/MeasureTarget.js +1 -1
- package/dist/lib/modules/measure/types/MeasureTarget.js.map +1 -1
- package/dist/lib/modules/model/MetadataReferential.d.ts +119 -0
- package/dist/lib/modules/model/MetadataReferential.js +342 -0
- package/dist/lib/modules/model/MetadataReferential.js.map +1 -0
- package/dist/lib/modules/model/ModelSerializer.js +13 -13
- package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
- package/dist/lib/modules/model/ModelService.d.ts +120 -22
- package/dist/lib/modules/model/ModelService.js +548 -263
- package/dist/lib/modules/model/ModelService.js.map +1 -1
- package/dist/lib/modules/model/ModelsConflicts.d.ts +23 -0
- package/dist/lib/modules/model/ModelsConflicts.js +54 -4
- package/dist/lib/modules/model/ModelsConflicts.js.map +1 -1
- package/dist/lib/modules/model/ModelsController.d.ts +11 -2
- package/dist/lib/modules/model/ModelsController.js +151 -54
- package/dist/lib/modules/model/ModelsController.js.map +1 -1
- package/dist/lib/modules/model/ModelsRegister.d.ts +37 -5
- package/dist/lib/modules/model/ModelsRegister.js +107 -9
- package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
- package/dist/lib/modules/model/collections/modelsMappings.js +15 -1
- package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
- package/dist/lib/modules/model/types/ModelApi.d.ts +105 -14
- package/dist/lib/modules/model/types/ModelContent.d.ts +73 -7
- package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
- package/dist/lib/modules/model/types/ModelDefinition.d.ts +6 -3
- package/dist/lib/modules/model/types/ModelEvents.d.ts +9 -4
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +58 -25
- package/dist/lib/modules/plugin/DeviceManagerEngine.js +184 -88
- package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +46 -4
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js +72 -9
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
- package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +11 -0
- package/dist/lib/modules/shared/services/AbstractExporter.d.ts +8 -8
- package/dist/lib/modules/shared/services/AbstractExporter.js +9 -9
- package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
- package/dist/lib/modules/shared/services/BaseService.d.ts +7 -7
- package/dist/lib/modules/shared/services/BaseService.js +20 -17
- package/dist/lib/modules/shared/services/BaseService.js.map +1 -1
- package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +3 -3
- package/dist/lib/modules/shared/services/DigitalTwinExporter.js +18 -18
- package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
- package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +8 -8
- package/dist/lib/modules/shared/services/DigitalTwinService.js +39 -39
- package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -1
- package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +1 -1
- package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +2 -2
- package/dist/lib/modules/shared/utils/lock.d.ts +7 -1
- package/dist/lib/modules/shared/utils/lock.js +2 -2
- package/dist/lib/modules/shared/utils/lock.js.map +1 -1
- 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 ({
|
|
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
|
|
41
|
-
const
|
|
42
|
-
for (const
|
|
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 (
|
|
45
|
-
// Platform-level check (no
|
|
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.
|
|
49
|
-
const conflicts = await this.doesTwinUpdateConflicts(payload.twin.type, twinModels,
|
|
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
|
|
58
|
-
for (const engineDoc of
|
|
59
|
-
const twinModels = await this.getModels(this.config.platformIndex, payload.twin.type,
|
|
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 =
|
|
71
|
+
const applicableNewModels = newTwinModels.filter((model) => {
|
|
62
72
|
const assetModel = model;
|
|
63
|
-
if (assetModel.
|
|
64
|
-
return assetModel.
|
|
73
|
+
if (assetModel.indexes?.length) {
|
|
74
|
+
return assetModel.indexes.includes(engineDoc.engine.index);
|
|
65
75
|
}
|
|
66
|
-
//
|
|
67
|
-
return (!assetModel.
|
|
68
|
-
assetModel.
|
|
69
|
-
assetModel.
|
|
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.
|
|
76
|
-
m.
|
|
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
|
-
|
|
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,
|
|
280
|
+
async onCreate(index, tenantClass = "commons") {
|
|
185
281
|
const promises = [];
|
|
186
|
-
promises.push(this.createAssetsCollection(index,
|
|
187
|
-
promises.push(this.createAssetsHistoryCollection(index,
|
|
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,
|
|
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,
|
|
292
|
+
async onUpdate(index, tenantClass = "commons") {
|
|
197
293
|
const promises = [];
|
|
198
|
-
promises.push(this.createAssetsCollection(index,
|
|
199
|
-
promises.push(this.createAssetsHistoryCollection(index,
|
|
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,
|
|
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
|
|
228
|
-
* @param
|
|
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(
|
|
233
|
-
const mappings = await this.getDigitalTwinMappingsFromDB("asset",
|
|
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(
|
|
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
|
|
245
|
-
* @param
|
|
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(
|
|
250
|
-
const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset",
|
|
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(
|
|
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
|
|
264
|
-
* @param
|
|
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(
|
|
364
|
+
async createGroupsCollection(index) {
|
|
269
365
|
const settings = this.config.engineCollections.groups.settings;
|
|
270
366
|
const mappings = await this.getAssetGroupsMappingFromDB();
|
|
271
|
-
await this.tryCreateCollection(
|
|
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
|
|
281
|
-
* @param
|
|
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(
|
|
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(
|
|
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
|
|
298
|
-
* @param
|
|
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
|
|
318
|
-
* @param
|
|
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(
|
|
323
|
-
const mappings = await this.getMeasuresMappingsFromDB(
|
|
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(
|
|
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
|
|
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,
|
|
356
|
-
const models = await this.getModels(this.config.platformIndex, digitalTwinType,
|
|
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
|
|
491
|
+
* @param tenantClass The target tenant class
|
|
396
492
|
* @returns The complete ES mappings produced by merging models mappings
|
|
397
493
|
*/
|
|
398
|
-
async getMeasuresMappingsFromDB(
|
|
494
|
+
async getMeasuresMappingsFromDB(tenantClass, targetIndex) {
|
|
399
495
|
const models = await this.getModels(this.config.platformIndex, "measure");
|
|
400
|
-
const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset",
|
|
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
|
-
|
|
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
|
|
527
|
+
* @param index The target engine Id
|
|
434
528
|
* @param type The desired model type
|
|
435
|
-
* @param
|
|
529
|
+
* @param tenantClass The target tenant class
|
|
436
530
|
* @returns An array of the generic type provided
|
|
437
531
|
*/
|
|
438
|
-
async getModels(
|
|
532
|
+
async getModels(index, type, tenantClass, targetIndex) {
|
|
439
533
|
const query = {
|
|
440
534
|
and: [{ equals: { type } }],
|
|
441
535
|
};
|
|
442
|
-
if (
|
|
443
|
-
if (
|
|
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 +
|
|
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: {
|
|
544
|
+
{ equals: { indexes: targetIndex } },
|
|
451
545
|
{
|
|
546
|
+
// ? Tenant-scoped asset models have no tenantClasses (exclusive with indexes)
|
|
452
547
|
or: [
|
|
453
|
-
{
|
|
454
|
-
{ equals: {
|
|
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: "
|
|
462
|
-
{ equals: {
|
|
557
|
+
{ not: { exists: "indexes" } },
|
|
558
|
+
{ equals: { tenantClasses: tenantClass } },
|
|
463
559
|
],
|
|
464
560
|
},
|
|
465
561
|
{
|
|
466
562
|
and: [
|
|
467
|
-
{ not: { exists: "
|
|
468
|
-
{ equals: {
|
|
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
|
|
571
|
+
// No target engine: return only class-scoped (no indexes) + commons (no indexes)
|
|
476
572
|
query.and.push({
|
|
477
573
|
and: [
|
|
478
|
-
{ not: { exists: "
|
|
574
|
+
{ not: { exists: "indexes" } },
|
|
479
575
|
{
|
|
480
576
|
or: [
|
|
481
|
-
{ equals: {
|
|
482
|
-
{ equals: {
|
|
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(
|
|
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
|
|
591
|
+
* @param index The target engine Id
|
|
496
592
|
* @returns {any}
|
|
497
593
|
*/
|
|
498
|
-
async detachDevicesFromPlatformIndex(
|
|
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: {
|
|
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: {
|
|
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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"}
|