kuzzle-device-manager 2.4.0-beta.2 → 2.4.0-beta.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/lib/modules/asset/AssetHistoryService.d.ts +2 -4
- package/dist/lib/modules/asset/AssetHistoryService.js +4 -7
- package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
- package/dist/lib/modules/asset/AssetModule.js +30 -0
- package/dist/lib/modules/asset/AssetModule.js.map +1 -1
- package/dist/lib/modules/asset/AssetService.d.ts +25 -26
- package/dist/lib/modules/asset/AssetService.js +236 -43
- package/dist/lib/modules/asset/AssetService.js.map +1 -1
- package/dist/lib/modules/asset/AssetsController.d.ts +8 -1
- package/dist/lib/modules/asset/AssetsController.js +152 -25
- package/dist/lib/modules/asset/AssetsController.js.map +1 -1
- package/dist/lib/modules/asset/AssetsGroupsController.js +1 -1
- package/dist/lib/modules/asset/AssetsGroupsController.js.map +1 -1
- package/dist/lib/modules/asset/model/AssetSerializer.js +1 -0
- package/dist/lib/modules/asset/model/AssetSerializer.js.map +1 -1
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +3 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
- package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +4 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js +8 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.d.ts +8 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.js +20 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.js.map +1 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.d.ts +8 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.js +24 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.js.map +1 -0
- package/dist/lib/modules/asset/roles/specificRoles/index.d.ts +2 -0
- package/dist/lib/modules/asset/roles/specificRoles/index.js +19 -0
- package/dist/lib/modules/asset/roles/specificRoles/index.js.map +1 -0
- package/dist/lib/modules/asset/types/AssetApi.d.ts +43 -2
- package/dist/lib/modules/asset/types/AssetContent.d.ts +1 -1
- package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -1
- package/dist/lib/modules/decoder/Decoder.d.ts +11 -0
- package/dist/lib/modules/decoder/Decoder.js +1 -0
- package/dist/lib/modules/decoder/Decoder.js.map +1 -1
- package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -1
- package/dist/lib/modules/decoder/DecodingState.js +1 -1
- package/dist/lib/modules/decoder/DecodingState.js.map +1 -1
- package/dist/lib/modules/decoder/PayloadService.d.ts +3 -6
- package/dist/lib/modules/decoder/PayloadService.js +11 -17
- package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
- package/dist/lib/modules/decoder/PayloadsController.js.map +1 -1
- package/dist/lib/modules/decoder/types/DecoderContent.d.ts +1 -0
- package/dist/lib/modules/device/DeviceModule.js +30 -0
- package/dist/lib/modules/device/DeviceModule.js.map +1 -1
- package/dist/lib/modules/device/DeviceService.d.ts +31 -46
- package/dist/lib/modules/device/DeviceService.js +177 -73
- package/dist/lib/modules/device/DeviceService.js.map +1 -1
- package/dist/lib/modules/device/DevicesController.d.ts +7 -1
- package/dist/lib/modules/device/DevicesController.js +142 -41
- package/dist/lib/modules/device/DevicesController.js.map +1 -1
- package/dist/lib/modules/device/collections/deviceMappings.d.ts +2 -46
- package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
- package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +4 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js +8 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js +20 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js.map +1 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.js +20 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.js.map +1 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.js +24 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.js.map +1 -0
- package/dist/lib/modules/device/roles/specificRoles/index.d.ts +3 -0
- package/dist/lib/modules/device/roles/specificRoles/index.js +20 -0
- package/dist/lib/modules/device/roles/specificRoles/index.js.map +1 -0
- package/dist/lib/modules/device/types/DeviceApi.d.ts +23 -2
- package/dist/lib/modules/device/types/DeviceEvents.d.ts +29 -0
- package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -2
- package/dist/lib/modules/measure/MeasureExporter.js +35 -14
- package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
- package/dist/lib/modules/measure/MeasureService.d.ts +2 -6
- package/dist/lib/modules/measure/MeasureService.js +6 -11
- package/dist/lib/modules/measure/MeasureService.js.map +1 -1
- package/dist/lib/modules/measure/collections/measuresMappings.d.ts +18 -0
- package/dist/lib/modules/measure/collections/measuresMappings.js +14 -0
- package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
- package/dist/lib/modules/measure/measures/BatteryMeasure.js +12 -0
- package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +1 -1
- package/dist/lib/modules/measure/measures/HumidityMeasure.js +12 -0
- package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +1 -1
- package/dist/lib/modules/measure/measures/MovementMeasure.js +10 -0
- package/dist/lib/modules/measure/measures/MovementMeasure.js.map +1 -1
- package/dist/lib/modules/measure/measures/PositionMeasure.js +22 -0
- package/dist/lib/modules/measure/measures/PositionMeasure.js.map +1 -1
- package/dist/lib/modules/measure/measures/TemperatureMeasure.js +12 -0
- package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +1 -1
- package/dist/lib/modules/measure/types/MeasureContent.d.ts +4 -0
- package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +28 -3
- package/dist/lib/modules/model/MappingsConflictsError.d.ts +7 -0
- package/dist/lib/modules/model/MappingsConflictsError.js +20 -0
- package/dist/lib/modules/model/MappingsConflictsError.js.map +1 -0
- package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
- package/dist/lib/modules/model/ModelService.d.ts +17 -9
- package/dist/lib/modules/model/ModelService.js +250 -42
- package/dist/lib/modules/model/ModelService.js.map +1 -1
- package/dist/lib/modules/model/ModelsConflicts.d.ts +30 -0
- package/dist/lib/modules/model/ModelsConflicts.js +107 -0
- package/dist/lib/modules/model/ModelsConflicts.js.map +1 -0
- package/dist/lib/modules/model/ModelsController.d.ts +5 -1
- package/dist/lib/modules/model/ModelsController.js +54 -3
- package/dist/lib/modules/model/ModelsController.js.map +1 -1
- package/dist/lib/modules/model/ModelsRegister.d.ts +28 -3
- package/dist/lib/modules/model/ModelsRegister.js +50 -5
- package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
- package/dist/lib/modules/model/collections/modelsMappings.js +24 -0
- package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
- package/dist/lib/modules/model/types/ModelApi.d.ts +50 -4
- package/dist/lib/modules/model/types/ModelContent.d.ts +263 -2
- package/dist/lib/modules/model/types/ModelContent.js +15 -0
- package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
- package/dist/lib/modules/model/types/ModelDefinition.d.ts +141 -5
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +141 -5
- package/dist/lib/modules/plugin/DeviceManagerEngine.js +238 -41
- package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +113 -8
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js +149 -19
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
- package/dist/lib/modules/plugin/exports.d.ts +1 -1
- package/dist/lib/modules/plugin/exports.js +1 -1
- package/dist/lib/modules/plugin/exports.js.map +1 -1
- package/dist/lib/modules/plugin/index.d.ts +1 -2
- package/dist/lib/modules/plugin/index.js +1 -2
- package/dist/lib/modules/plugin/index.js.map +1 -1
- package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +27 -5
- package/dist/lib/modules/plugin/types/InternalCollection.js +1 -1
- package/dist/lib/modules/plugin/types/InternalCollection.js.map +1 -1
- package/dist/lib/modules/plugin/types/Pipes.d.ts +17 -0
- package/dist/lib/modules/plugin/types/Pipes.js +3 -0
- package/dist/lib/modules/plugin/types/Pipes.js.map +1 -0
- package/dist/lib/modules/plugin/types/exports.d.ts +1 -0
- package/dist/lib/modules/plugin/types/exports.js +18 -0
- package/dist/lib/modules/plugin/types/exports.js.map +1 -0
- package/dist/lib/modules/plugin/types/index.d.ts +3 -0
- package/dist/lib/modules/plugin/types/index.js +20 -0
- package/dist/lib/modules/plugin/types/index.js.map +1 -0
- package/dist/lib/modules/shared/exports.d.ts +2 -0
- package/dist/lib/modules/shared/exports.js +2 -0
- package/dist/lib/modules/shared/exports.js.map +1 -1
- package/dist/lib/modules/shared/index.d.ts +6 -4
- package/dist/lib/modules/shared/index.js +6 -4
- package/dist/lib/modules/shared/index.js.map +1 -1
- package/dist/lib/modules/shared/services/AbstractExporter.d.ts +1 -0
- package/dist/lib/modules/shared/services/AbstractExporter.js +7 -1
- package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
- package/dist/lib/modules/shared/services/BaseService.d.ts +69 -0
- package/dist/lib/modules/shared/services/BaseService.js +157 -0
- package/dist/lib/modules/shared/services/BaseService.js.map +1 -0
- package/dist/lib/modules/shared/services/DigitalTwinExporter.js +9 -3
- package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
- package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +21 -0
- package/dist/lib/modules/shared/services/DigitalTwinService.js +162 -0
- package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -0
- package/dist/lib/modules/shared/services/index.d.ts +2 -0
- package/dist/lib/modules/shared/services/index.js +2 -0
- package/dist/lib/modules/shared/services/index.js.map +1 -1
- package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +34 -0
- package/dist/lib/modules/shared/types/DigitalTwinApi.js +3 -0
- package/dist/lib/modules/shared/types/DigitalTwinApi.js.map +1 -0
- package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +2 -4
- package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +9 -0
- package/dist/lib/modules/shared/types/DigitalTwinEvents.js +3 -0
- package/dist/lib/modules/shared/types/DigitalTwinEvents.js.map +1 -0
- package/dist/lib/modules/shared/types/DigitalTwinMeasures.d.ts +5 -0
- package/dist/lib/modules/shared/types/DigitalTwinMeasures.js +3 -0
- package/dist/lib/modules/shared/types/DigitalTwinMeasures.js.map +1 -0
- package/dist/lib/modules/shared/utils/flattenObject.js.map +1 -1
- package/dist/lib/modules/shared/utils/lock.js.map +1 -1
- package/dist/lib/modules/shared/utils/objectDiff.js.map +1 -1
- package/package.json +26 -26
- package/dist/lib/modules/shared/utils/ask.d.ts +0 -8
- package/dist/lib/modules/shared/utils/ask.js +0 -12
- package/dist/lib/modules/shared/utils/ask.js.map +0 -1
|
@@ -4,18 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.DeviceManagerEngine = void 0;
|
|
7
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
8
7
|
const kuzzle_1 = require("kuzzle");
|
|
9
8
|
const kuzzle_plugin_commons_1 = require("kuzzle-plugin-commons");
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
10
|
const asset_1 = require("../asset");
|
|
11
11
|
const measure_1 = require("../measure");
|
|
12
|
-
const device_1 = require("../device");
|
|
13
|
-
const shared_1 = require("../shared");
|
|
14
12
|
const InternalCollection_1 = require("./types/InternalCollection");
|
|
15
|
-
const
|
|
16
|
-
asset: asset_1.assetsMappings,
|
|
17
|
-
device: device_1.devicesMappings,
|
|
18
|
-
};
|
|
13
|
+
const ModelsConflicts_1 = require("../model/ModelsConflicts");
|
|
19
14
|
class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
|
|
20
15
|
get app() {
|
|
21
16
|
return global.app;
|
|
@@ -23,22 +18,98 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
|
|
|
23
18
|
constructor(plugin, adminConfigManager, engineConfigManager) {
|
|
24
19
|
super("device-manager", plugin, plugin.config.adminIndex, adminConfigManager, engineConfigManager);
|
|
25
20
|
this.context = plugin.context;
|
|
26
|
-
(0,
|
|
27
|
-
(0,
|
|
21
|
+
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:list", async ({ group }) => this.list(group));
|
|
22
|
+
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:updateAll", async () => {
|
|
28
23
|
await this.updateEngines();
|
|
29
24
|
await this.createDevicesCollection(this.config.adminIndex);
|
|
30
25
|
});
|
|
26
|
+
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:engine:doesUpdateConflict", async (payload) => {
|
|
27
|
+
if (!payload) {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
if (payload.twin === undefined &&
|
|
31
|
+
payload.measuresModels === undefined) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
const measureModels = await this.getModels(this.config.adminIndex, "measure");
|
|
35
|
+
const results = await this.getEngines();
|
|
36
|
+
const engineGroups = results.map((elt) => elt.engine.group);
|
|
37
|
+
const groups = [undefined, ...engineGroups];
|
|
38
|
+
for (const group of groups) {
|
|
39
|
+
if (payload.twin) {
|
|
40
|
+
const twinModels = await this.getModels(this.config.adminIndex, payload.twin.type, group);
|
|
41
|
+
const conflicts = await this.doesTwinUpdateConflicts(payload.twin.type, twinModels, payload.twin.models, measureModels);
|
|
42
|
+
if (conflicts.length > 0) {
|
|
43
|
+
return conflicts;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (payload.measuresModels) {
|
|
48
|
+
return this.doesMeasuresUpdateConflicts(measureModels, payload.measuresModels);
|
|
49
|
+
}
|
|
50
|
+
return [];
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Return conflicts between the new and already present twin models
|
|
55
|
+
*
|
|
56
|
+
* @param twinType The target twin type
|
|
57
|
+
* @param twinModels The already present twin models
|
|
58
|
+
* @param additionalModels The new or updated twin models
|
|
59
|
+
* @param measureModels The already present measures models
|
|
60
|
+
*
|
|
61
|
+
* @throws If a measure type declared in the twin does not exists
|
|
62
|
+
* @returns An array of conflict chunk
|
|
63
|
+
*/
|
|
64
|
+
async doesTwinUpdateConflicts(twinType, twinModels, additionalModels, measureModels) {
|
|
65
|
+
const conflicts = [];
|
|
66
|
+
for (const additional of additionalModels) {
|
|
67
|
+
for (const { type: measureType } of additional[twinType]
|
|
68
|
+
.measures) {
|
|
69
|
+
const measureModel = measureModels.find((m) => m.measure.type === measureType);
|
|
70
|
+
if (!measureModel) {
|
|
71
|
+
throw new kuzzle_1.InternalError(`Cannot find measure "${measureType}" declared in ${[
|
|
72
|
+
twinType,
|
|
73
|
+
]} "${additional[twinType].model}"`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
conflicts.push(...(0, ModelsConflicts_1.getTwinConflicts)(twinType, twinModels, additional));
|
|
77
|
+
}
|
|
78
|
+
return conflicts;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Return conflicts between the new and already present measure models
|
|
82
|
+
*
|
|
83
|
+
* @param measuresModels The already present measure models
|
|
84
|
+
* @param additionalMeasures The new or updated measure models
|
|
85
|
+
* @returns An array of ConflictChunk
|
|
86
|
+
*/
|
|
87
|
+
async doesMeasuresUpdateConflicts(measuresModels, additionalMeasures) {
|
|
88
|
+
const conflicts = [];
|
|
89
|
+
for (const model of additionalMeasures) {
|
|
90
|
+
conflicts.push(...(0, ModelsConflicts_1.getMeasureConflicts)(measuresModels, model));
|
|
91
|
+
}
|
|
92
|
+
return conflicts;
|
|
31
93
|
}
|
|
32
94
|
async updateEngines() {
|
|
95
|
+
const results = await this.getEngines();
|
|
96
|
+
this.context.log.info(`Update ${results.length} existing engines`);
|
|
97
|
+
for (const document of results) {
|
|
98
|
+
await this.onUpdate(document.engine.index, document.engine.group);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Search and return every engines in use
|
|
103
|
+
*
|
|
104
|
+
* @returns An array of the available engines
|
|
105
|
+
*/
|
|
106
|
+
async getEngines() {
|
|
33
107
|
const result = await this.sdk.document.search(this.config.adminIndex, InternalCollection_1.InternalCollection.CONFIG, {
|
|
34
108
|
query: {
|
|
35
109
|
equals: { type: "engine-device-manager" },
|
|
36
110
|
},
|
|
37
111
|
}, { lang: "koncorde", size: 5000 });
|
|
38
|
-
|
|
39
|
-
for (const engine of result.hits) {
|
|
40
|
-
await this.onUpdate(engine._source.engine.index, engine._source.engine.group);
|
|
41
|
-
}
|
|
112
|
+
return result.hits.map((elt) => elt._source);
|
|
42
113
|
}
|
|
43
114
|
async onCreate(index, group = "commons") {
|
|
44
115
|
const promises = [];
|
|
@@ -79,62 +150,188 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
|
|
|
79
150
|
collections,
|
|
80
151
|
};
|
|
81
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Generate assets mappings and create the assets collection in the engine
|
|
155
|
+
*
|
|
156
|
+
* @param engineId The target engine Id
|
|
157
|
+
* @param engineGroup The engine group
|
|
158
|
+
*
|
|
159
|
+
* @throws If it failed during the assets collection creation
|
|
160
|
+
*/
|
|
82
161
|
async createAssetsCollection(engineId, engineGroup) {
|
|
83
|
-
const mappings = await this.
|
|
84
|
-
|
|
162
|
+
const mappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup);
|
|
163
|
+
const settings = this.config.engineCollections.asset.settings;
|
|
164
|
+
await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.ASSETS, {
|
|
165
|
+
mappings,
|
|
166
|
+
settings,
|
|
167
|
+
});
|
|
85
168
|
return InternalCollection_1.InternalCollection.ASSETS;
|
|
86
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Generate assets mappings and create the assets history collection in the engine
|
|
172
|
+
*
|
|
173
|
+
* @param engineId The target engine Id
|
|
174
|
+
* @param engineGroup The engine group
|
|
175
|
+
*
|
|
176
|
+
* @throws If it failed during the assets history collection creation
|
|
177
|
+
*/
|
|
87
178
|
async createAssetsHistoryCollection(engineId, engineGroup) {
|
|
88
|
-
const
|
|
179
|
+
const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup);
|
|
89
180
|
const mappings = JSON.parse(JSON.stringify(asset_1.assetsHistoryMappings));
|
|
90
|
-
lodash_1.default.merge(mappings.properties.asset,
|
|
91
|
-
|
|
181
|
+
lodash_1.default.merge(mappings.properties.asset, assetsMappings);
|
|
182
|
+
const settings = this.config.engineCollections.assetHistory.settings;
|
|
183
|
+
await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.ASSETS_HISTORY, {
|
|
184
|
+
mappings,
|
|
185
|
+
settings,
|
|
186
|
+
});
|
|
92
187
|
return InternalCollection_1.InternalCollection.ASSETS_HISTORY;
|
|
93
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Create the assets groups collection with the assets groups mappings in the engine
|
|
191
|
+
*
|
|
192
|
+
* @param engineId The target engine Id
|
|
193
|
+
* @param engineGroup The engine group
|
|
194
|
+
*
|
|
195
|
+
* @throws If it failed during the assets groups collection creation
|
|
196
|
+
*/
|
|
94
197
|
async createAssetsGroupsCollection(engineId) {
|
|
95
|
-
|
|
198
|
+
const settings = this.config.engineCollections.assetGroups.settings;
|
|
199
|
+
await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.ASSETS_GROUPS, {
|
|
200
|
+
mappings: asset_1.assetGroupsMappings,
|
|
201
|
+
settings,
|
|
202
|
+
});
|
|
96
203
|
return InternalCollection_1.InternalCollection.ASSETS_GROUPS;
|
|
97
204
|
}
|
|
98
|
-
|
|
205
|
+
/**
|
|
206
|
+
* Generate devices mappings and create the devices collection in the engine
|
|
207
|
+
*
|
|
208
|
+
* @param engineId The target engine Id
|
|
209
|
+
* @param engineGroup The engine group
|
|
210
|
+
*
|
|
211
|
+
* @throws If it failed during the devices collection creation
|
|
212
|
+
*/
|
|
213
|
+
async createDevicesCollection(engineId) {
|
|
214
|
+
const mappings = await this.getDigitalTwinMappingsFromDB("device");
|
|
215
|
+
const settings = this.config.engineCollections.device.settings;
|
|
216
|
+
await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.DEVICES, {
|
|
217
|
+
mappings,
|
|
218
|
+
settings,
|
|
219
|
+
});
|
|
220
|
+
return InternalCollection_1.InternalCollection.DEVICES;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Generate measures mappings and create the measures collection in the engine
|
|
224
|
+
*
|
|
225
|
+
* @param engineId The target engine Id
|
|
226
|
+
* @param engineGroup The engine group
|
|
227
|
+
*
|
|
228
|
+
* @throws If it failed during the measures collection creation
|
|
229
|
+
*/
|
|
230
|
+
async createMeasuresCollection(engineId, engineGroup) {
|
|
231
|
+
const mappings = await this.getMeasuresMappingsFromDB(engineGroup);
|
|
232
|
+
const settings = this.config.engineCollections.measures.settings;
|
|
233
|
+
await this.tryCreateCollection(engineId, InternalCollection_1.InternalCollection.MEASURES, {
|
|
234
|
+
mappings,
|
|
235
|
+
settings,
|
|
236
|
+
});
|
|
237
|
+
return InternalCollection_1.InternalCollection.MEASURES;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Create a collection with custom mappings in an engine
|
|
241
|
+
*
|
|
242
|
+
* @param engineIndex The target engine
|
|
243
|
+
* @param collection The collection name
|
|
244
|
+
* @param mappings The collection mappings
|
|
245
|
+
*
|
|
246
|
+
* @throws If it failed to create the collection
|
|
247
|
+
*/
|
|
248
|
+
async tryCreateCollection(engineIndex, collection, options) {
|
|
249
|
+
try {
|
|
250
|
+
await this.sdk.collection.create(engineIndex, collection, options);
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
throw new kuzzle_1.InternalError(`Failed to create the collection [${collection}] for engine [${engineIndex}]: ${error.message}`, error);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Generate ES mappings from twin models and theirs associated measures, all fetched from the database
|
|
258
|
+
*
|
|
259
|
+
* @param digitalTwinType The target twin type
|
|
260
|
+
* @param engineGroup The twin engine group
|
|
261
|
+
* @returns The complete ES mappings produces by merging all the target type twins
|
|
262
|
+
*/
|
|
263
|
+
async getDigitalTwinMappingsFromDB(digitalTwinType, engineGroup) {
|
|
99
264
|
const models = await this.getModels(this.config.adminIndex, digitalTwinType, engineGroup);
|
|
100
265
|
const measureModels = await this.getModels(this.config.adminIndex, "measure");
|
|
101
|
-
|
|
266
|
+
return this.getDigitalTwinMappings(digitalTwinType, models, measureModels);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Generate ES mappings from twin models and theirs associated measures
|
|
270
|
+
*
|
|
271
|
+
* @param digitalTwinType The target twin type
|
|
272
|
+
* @param models The twin models
|
|
273
|
+
* @param measureModels The associated measures
|
|
274
|
+
* @returns The complete ES mappings produces by merging all the target type twins
|
|
275
|
+
*/
|
|
276
|
+
async getDigitalTwinMappings(digitalTwinType, models, measureModels) {
|
|
277
|
+
if (this.config.engineCollections[digitalTwinType] === undefined ||
|
|
278
|
+
this.config.engineCollections[digitalTwinType].mappings === undefined) {
|
|
279
|
+
throw new kuzzle_1.InternalError(`Cannot find mapping for "${digitalTwinType}"`);
|
|
280
|
+
}
|
|
281
|
+
const mappings = JSON.parse(JSON.stringify(this.config.engineCollections[digitalTwinType].mappings));
|
|
102
282
|
for (const model of models) {
|
|
103
|
-
lodash_1.default.merge(mappings.properties.metadata.properties, model
|
|
104
|
-
for (const { name: measureName, type: measureType } of model
|
|
105
|
-
const measureModel = measureModels.find((m) => m.
|
|
283
|
+
lodash_1.default.merge(mappings.properties.metadata.properties, model[digitalTwinType].metadataMappings);
|
|
284
|
+
for (const { name: measureName, type: measureType } of model[digitalTwinType].measures) {
|
|
285
|
+
const measureModel = measureModels.find((m) => m.measure.type === measureType);
|
|
106
286
|
if (!measureModel) {
|
|
107
287
|
throw new kuzzle_1.InternalError(`Cannot find measure "${measureType}" declared in ${[
|
|
108
288
|
digitalTwinType,
|
|
109
|
-
]} "${model
|
|
289
|
+
]} "${model[digitalTwinType].model}"`);
|
|
110
290
|
}
|
|
111
291
|
mappings.properties.measures.properties[measureName] =
|
|
112
|
-
(0, measure_1.getEmbeddedMeasureMappings)(measureModel.
|
|
292
|
+
(0, measure_1.getEmbeddedMeasureMappings)(measureModel.measure.valuesMappings);
|
|
113
293
|
}
|
|
114
294
|
}
|
|
115
295
|
return mappings;
|
|
116
296
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
await this.sdk.collection.create(engineId, InternalCollection_1.InternalCollection.MEASURES, mappings);
|
|
125
|
-
return InternalCollection_1.InternalCollection.MEASURES;
|
|
126
|
-
}
|
|
127
|
-
async getMeasuresMappings(engineGroup) {
|
|
297
|
+
/**
|
|
298
|
+
* Generate ES mappings from measures and theirs associated assets, all fetched via the database
|
|
299
|
+
*
|
|
300
|
+
* @param engineGroup The target engine group
|
|
301
|
+
* @returns The complete ES mappings produced by merging models mappings
|
|
302
|
+
*/
|
|
303
|
+
async getMeasuresMappingsFromDB(engineGroup) {
|
|
128
304
|
const models = await this.getModels(this.config.adminIndex, "measure");
|
|
305
|
+
const assetsMappings = await this.getDigitalTwinMappingsFromDB("asset", engineGroup);
|
|
306
|
+
const deviceMappings = await this.getDigitalTwinMappingsFromDB("device");
|
|
307
|
+
return this.getMeasuresMappings(models, assetsMappings, deviceMappings);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Generate ES mappings from measures and theirs associated assets
|
|
311
|
+
*
|
|
312
|
+
* @param models The measures models
|
|
313
|
+
* @param assetsMappings The assets complete mappings
|
|
314
|
+
* @returns The complete ES mappings produced by merging models mappings
|
|
315
|
+
*/
|
|
316
|
+
async getMeasuresMappings(models, assetsMappings, deviceMappings) {
|
|
129
317
|
const mappings = JSON.parse(JSON.stringify(measure_1.measuresMappings));
|
|
130
318
|
for (const model of models) {
|
|
131
|
-
lodash_1.default.merge(mappings.properties.values.properties, model.
|
|
319
|
+
lodash_1.default.merge(mappings.properties.values.properties, model.measure.valuesMappings);
|
|
132
320
|
}
|
|
133
|
-
const _assetsMappings = await this.getDigitalTwinMappings("asset", engineGroup);
|
|
134
321
|
mappings.properties.asset.properties.metadata.properties =
|
|
135
|
-
|
|
322
|
+
assetsMappings.properties.metadata.properties;
|
|
323
|
+
mappings.properties.origin.properties.deviceMetadata.properties =
|
|
324
|
+
deviceMappings.properties.metadata.properties;
|
|
136
325
|
return mappings;
|
|
137
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* Retrieve a certain type of models associated to an engine
|
|
329
|
+
*
|
|
330
|
+
* @param engineId The target engine Id
|
|
331
|
+
* @param type The desired model type
|
|
332
|
+
* @param engineGroup The target engine group
|
|
333
|
+
* @returns An array of the generic type provided
|
|
334
|
+
*/
|
|
138
335
|
async getModels(engineId, type, engineGroup) {
|
|
139
336
|
const query = {
|
|
140
337
|
and: [{ equals: { type } }],
|
|
@@ -148,7 +345,7 @@ class DeviceManagerEngine extends kuzzle_plugin_commons_1.AbstractEngine {
|
|
|
148
345
|
});
|
|
149
346
|
}
|
|
150
347
|
const result = await this.sdk.document.search(engineId, InternalCollection_1.InternalCollection.MODELS, { query }, { lang: "koncorde", size: 5000 });
|
|
151
|
-
return result.hits;
|
|
348
|
+
return result.hits.map((elt) => elt._source);
|
|
152
349
|
}
|
|
153
350
|
}
|
|
154
351
|
exports.DeviceManagerEngine = DeviceManagerEngine;
|
|
@@ -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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"}
|
|
@@ -22,10 +22,14 @@ export declare class DeviceManagerPlugin extends Plugin {
|
|
|
22
22
|
* Register an asset model
|
|
23
23
|
*
|
|
24
24
|
* @param engineGroup Engine group name
|
|
25
|
-
* @param model Name of the asset model
|
|
26
|
-
* @param definition
|
|
27
|
-
*
|
|
28
|
-
*
|
|
25
|
+
* @param model Name of the asset model. Must follow a naming convention in PascalCase.
|
|
26
|
+
* @param definition Object containing the asset model definition, including:
|
|
27
|
+
* - measures: Array describing measure names and their types.
|
|
28
|
+
* - metadataMappings: Definition of metadata mappings, specifying types for each metadata field.
|
|
29
|
+
* - defaultMetadata: Default values for metadata fields, applied when actual data is not provided.
|
|
30
|
+
* - metadataDetails: Optional detailed descriptions for each metadata, including localizations, group association and definition.
|
|
31
|
+
* - metadataGroups: Optional description of metadata groups, organizing metadata logically, with localizations for group names.
|
|
32
|
+
* - tooltipModels: Optional tooltip model list, containing each labels and tooltip content to display.
|
|
29
33
|
*
|
|
30
34
|
* @example
|
|
31
35
|
* ```
|
|
@@ -44,6 +48,74 @@ export declare class DeviceManagerPlugin extends Plugin {
|
|
|
44
48
|
* },
|
|
45
49
|
* defaultMetadata: {
|
|
46
50
|
* height: 20
|
|
51
|
+
* },
|
|
52
|
+
* metadataDetails: {
|
|
53
|
+
* "extTemp": {
|
|
54
|
+
* "group": "environment",
|
|
55
|
+
* "locales": {
|
|
56
|
+
* "en": {
|
|
57
|
+
* "friendlyName": "External Temperature",
|
|
58
|
+
* "description": "The temperature outside the container"
|
|
59
|
+
* },
|
|
60
|
+
* "fr": {
|
|
61
|
+
* "friendlyName": "Température Externe",
|
|
62
|
+
* "description": "La température à l'extérieur du conteneur"
|
|
63
|
+
* }
|
|
64
|
+
* }
|
|
65
|
+
* }
|
|
66
|
+
* },
|
|
67
|
+
* metadataGroups: {
|
|
68
|
+
* "environment": {
|
|
69
|
+
* "locales": {
|
|
70
|
+
* "en": {
|
|
71
|
+
* "groupFriendlyName": "Environment"
|
|
72
|
+
* },
|
|
73
|
+
* "fr": {
|
|
74
|
+
* "groupFriendlyName": "Environnement"
|
|
75
|
+
* }
|
|
76
|
+
* }
|
|
77
|
+
* }
|
|
78
|
+
* },
|
|
79
|
+
* tooltipModels: {
|
|
80
|
+
* "defaultTooltipKey": {
|
|
81
|
+
* "tooltipLabel": "Default Tooltip Model",
|
|
82
|
+
* "content": [
|
|
83
|
+
* {
|
|
84
|
+
* "category": "metadata",
|
|
85
|
+
* "label": {
|
|
86
|
+
* "locales": {
|
|
87
|
+
* "en": {
|
|
88
|
+
* "friendlyName": "Container position",
|
|
89
|
+
* "description": ""
|
|
90
|
+
* },
|
|
91
|
+
* "fr": {
|
|
92
|
+
* "friendlyName": "Position du conteneur",
|
|
93
|
+
* "description": ""
|
|
94
|
+
* }
|
|
95
|
+
* }
|
|
96
|
+
* },
|
|
97
|
+
* "metadataPath": "geolocation"
|
|
98
|
+
* },
|
|
99
|
+
* {
|
|
100
|
+
* "category": "measure",
|
|
101
|
+
* "label": {
|
|
102
|
+
* "locales": {
|
|
103
|
+
* "en": {
|
|
104
|
+
* "friendlyName": "External temperature",
|
|
105
|
+
* "description": ""
|
|
106
|
+
* },
|
|
107
|
+
* "fr": {
|
|
108
|
+
* "friendlyName": "Température extérieure",
|
|
109
|
+
* "description": ""
|
|
110
|
+
* }
|
|
111
|
+
* }
|
|
112
|
+
* },
|
|
113
|
+
* "measureSlot": "externalTemperature",
|
|
114
|
+
* "measureValuePath": "externalTemperature",
|
|
115
|
+
* "suffix": "°C"
|
|
116
|
+
* }
|
|
117
|
+
* ]
|
|
118
|
+
* }
|
|
47
119
|
* }
|
|
48
120
|
* }
|
|
49
121
|
* );
|
|
@@ -51,12 +123,15 @@ export declare class DeviceManagerPlugin extends Plugin {
|
|
|
51
123
|
*/
|
|
52
124
|
registerAsset: (engineGroup: string, model: string, definition: AssetModelDefinition) => void;
|
|
53
125
|
/**
|
|
54
|
-
* Register a device
|
|
126
|
+
* Register a device.
|
|
55
127
|
*
|
|
56
128
|
* @param model Name of the device model
|
|
57
|
-
* @param definition
|
|
58
|
-
*
|
|
59
|
-
*
|
|
129
|
+
* @param definition Object containing the device model definition, including:
|
|
130
|
+
* - decoder: Decoder used to decode payloads
|
|
131
|
+
* - metadataMappings: Metadata mappings definition
|
|
132
|
+
* - defaultMetadata: Default metadata values
|
|
133
|
+
* - metadataDetails: Localizations, detailed metadata descriptions and definition
|
|
134
|
+
* - metadataGroups: Groups for organizing metadata, with localizations
|
|
60
135
|
*
|
|
61
136
|
* @example
|
|
62
137
|
* ```
|
|
@@ -66,6 +141,36 @@ export declare class DeviceManagerPlugin extends Plugin {
|
|
|
66
141
|
* decoder: new DummyTempPositionDecoder(),
|
|
67
142
|
* metadataMappings: {
|
|
68
143
|
* serial: { type: "keyword" },
|
|
144
|
+
* },
|
|
145
|
+
* defaultMetadata: {
|
|
146
|
+
* company: "Acme Inc"
|
|
147
|
+
* },
|
|
148
|
+
* metadataDetails: {
|
|
149
|
+
* sensorVersion: {
|
|
150
|
+
* group: "sensorSpecs",
|
|
151
|
+
* locales: {
|
|
152
|
+
* en: {
|
|
153
|
+
* friendlyName: "Sensor version",
|
|
154
|
+
* description: "Firmware version of the sensor"
|
|
155
|
+
* },
|
|
156
|
+
* fr: {
|
|
157
|
+
* friendlyName: "Version du capteur",
|
|
158
|
+
* description: "Version du micrologiciel du capteur"
|
|
159
|
+
* }
|
|
160
|
+
* }
|
|
161
|
+
* }
|
|
162
|
+
* },
|
|
163
|
+
* metadataGroups: {
|
|
164
|
+
* sensorSpecs: {
|
|
165
|
+
* locales: {
|
|
166
|
+
* en: {
|
|
167
|
+
* groupFriendlyName: "Sensors specifications"
|
|
168
|
+
* },
|
|
169
|
+
* fr: {
|
|
170
|
+
* groupFriendlyName: "Spécifications des capteurs"
|
|
171
|
+
* }
|
|
172
|
+
* }
|
|
173
|
+
* }
|
|
69
174
|
* }
|
|
70
175
|
* }
|
|
71
176
|
* );
|