kuzzle-device-manager 2.4.3 → 2.5.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/modules/asset/AssetsController.d.ts +12 -0
- package/dist/lib/modules/asset/AssetsController.js +133 -0
- package/dist/lib/modules/asset/AssetsController.js.map +1 -1
- package/dist/lib/modules/asset/types/AssetApi.d.ts +30 -1
- package/dist/lib/modules/device/DevicesController.js +6 -0
- package/dist/lib/modules/device/DevicesController.js.map +1 -1
- package/dist/lib/modules/measure/MeasureService.d.ts +53 -3
- package/dist/lib/modules/measure/MeasureService.js +202 -25
- package/dist/lib/modules/measure/MeasureService.js.map +1 -1
- package/dist/lib/modules/measure/MeasureSourcesBuilder.d.ts +10 -0
- package/dist/lib/modules/measure/MeasureSourcesBuilder.js +36 -0
- package/dist/lib/modules/measure/MeasureSourcesBuilder.js.map +1 -0
- package/dist/lib/modules/measure/MeasureTargetBuilder.d.ts +3 -0
- package/dist/lib/modules/measure/MeasureTargetBuilder.js +20 -0
- package/dist/lib/modules/measure/MeasureTargetBuilder.js.map +1 -0
- package/dist/lib/modules/measure/MeasureValidationError.d.ts +12 -0
- package/dist/lib/modules/measure/MeasureValidationError.js +20 -0
- package/dist/lib/modules/measure/MeasureValidationError.js.map +1 -0
- package/dist/lib/modules/measure/collections/measuresMappings.d.ts +4 -0
- package/dist/lib/modules/measure/collections/measuresMappings.js +4 -0
- package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
- package/dist/lib/modules/measure/types/MeasureContent.d.ts +32 -20
- package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +19 -0
- package/dist/lib/modules/measure/types/MeasureEvents.d.ts +126 -0
- package/dist/lib/modules/measure/types/MeasureSources.d.ts +20 -0
- package/dist/lib/modules/measure/types/MeasureSources.js +28 -0
- package/dist/lib/modules/measure/types/MeasureSources.js.map +1 -0
- package/dist/lib/modules/measure/types/MeasureTarget.d.ts +18 -0
- package/dist/lib/modules/measure/types/MeasureTarget.js +27 -0
- package/dist/lib/modules/measure/types/MeasureTarget.js.map +1 -0
- package/dist/lib/modules/model/MappingsConflictsError.d.ts +4 -3
- package/dist/lib/modules/model/MappingsConflictsError.js.map +1 -1
- package/dist/lib/modules/model/MeasuresDuplicates.d.ts +3 -0
- package/dist/lib/modules/model/MeasuresDuplicates.js +18 -0
- package/dist/lib/modules/model/MeasuresDuplicates.js.map +1 -0
- package/dist/lib/modules/model/MeasuresNamesDuplicatesError.d.ts +7 -0
- package/dist/lib/modules/model/MeasuresNamesDuplicatesError.js +20 -0
- package/dist/lib/modules/model/MeasuresNamesDuplicatesError.js.map +1 -0
- package/dist/lib/modules/model/ModelService.d.ts +5 -3
- package/dist/lib/modules/model/ModelService.js +22 -1
- package/dist/lib/modules/model/ModelService.js.map +1 -1
- package/dist/lib/modules/model/ModelsController.js +6 -5
- package/dist/lib/modules/model/ModelsController.js.map +1 -1
- package/dist/lib/modules/model/ModelsRegister.js +24 -2
- package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
- package/dist/lib/modules/model/collections/modelsMappings.js +4 -0
- package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
- package/dist/lib/modules/model/types/ModelApi.d.ts +2 -0
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +1 -0
- package/dist/lib/modules/plugin/DeviceManagerEngine.js +16 -0
- package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +1 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js +2 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
- package/dist/lib/modules/shared/errors/SchemaValidationError.d.ts +8 -0
- package/dist/lib/modules/shared/errors/SchemaValidationError.js +20 -0
- package/dist/lib/modules/shared/errors/SchemaValidationError.js.map +1 -0
- package/dist/lib/modules/shared/utils/AJValidator.d.ts +26 -0
- package/dist/lib/modules/shared/utils/AJValidator.js +63 -0
- package/dist/lib/modules/shared/utils/AJValidator.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
|
@@ -10,13 +10,98 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
|
10
10
|
const asset_1 = require("../asset");
|
|
11
11
|
const plugin_1 = require("../plugin");
|
|
12
12
|
const shared_1 = require("../shared");
|
|
13
|
+
const MeasureSources_1 = require("./types/MeasureSources");
|
|
14
|
+
const MeasureSourcesBuilder_1 = require("./MeasureSourcesBuilder");
|
|
15
|
+
const MeasureTarget_1 = require("./types/MeasureTarget");
|
|
16
|
+
const MeasureTargetBuilder_1 = require("./MeasureTargetBuilder");
|
|
13
17
|
class MeasureService extends shared_1.BaseService {
|
|
14
18
|
constructor(plugin) {
|
|
15
19
|
super(plugin);
|
|
20
|
+
(0, kuzzle_plugin_commons_1.onAsk)("device-manager:measures:sourceIngest", async (payload) => {
|
|
21
|
+
if (!payload) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if ((0, MeasureSources_1.isSourceApi)(payload.source) && (0, MeasureTarget_1.isTargetApi)(payload.target)) {
|
|
25
|
+
await this.ingestApi(payload.source, payload.target, payload.measurements, payload.payloadUuids);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
16
28
|
(0, kuzzle_plugin_commons_1.onAsk)("device-manager:measures:ingest", async (payload) => {
|
|
29
|
+
if (!payload) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
17
32
|
await this.ingest(payload.device, payload.measurements, payload.metadata, payload.payloadUuids);
|
|
18
33
|
});
|
|
19
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Register new measures from an API, updates :
|
|
37
|
+
* - asset
|
|
38
|
+
* - engine measures
|
|
39
|
+
*
|
|
40
|
+
* This method represents the ingestion pipeline:
|
|
41
|
+
* - trigger events `before` (measure enrichment)
|
|
42
|
+
* - save documents (measures and asset)
|
|
43
|
+
* - trigger events `after`
|
|
44
|
+
*/
|
|
45
|
+
async ingestApi(source, target, measurements, payloadUuids) {
|
|
46
|
+
const { id: dataSourceId } = source;
|
|
47
|
+
const { indexId, assetId } = target;
|
|
48
|
+
if (!measurements) {
|
|
49
|
+
this.app.log.warn(`No measurements provided for "${dataSourceId}" API measures ingest`);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const assetDocument = await this.findAsset(indexId, assetId);
|
|
53
|
+
if (!assetDocument) {
|
|
54
|
+
throw new kuzzle_1.BadRequestError(`Asset "${assetId}" does not exists on index "${indexId}"`);
|
|
55
|
+
}
|
|
56
|
+
const asset = assetDocument._source;
|
|
57
|
+
const measures = await this.buildApiMeasures(source, assetDocument, measurements, payloadUuids, target.engineGroup);
|
|
58
|
+
asset.measures || (asset.measures = {});
|
|
59
|
+
/**
|
|
60
|
+
* Event before starting to process new measures.
|
|
61
|
+
*
|
|
62
|
+
* Useful to enrich measures before they are saved.
|
|
63
|
+
*/
|
|
64
|
+
await this.app.trigger("device-manager:measures:process:sourceBefore", { asset, measures, source, target });
|
|
65
|
+
if (indexId) {
|
|
66
|
+
await this.app.trigger(`engine:${indexId}:device-manager:measures:process:sourceBefore`, { asset, measures, source, target });
|
|
67
|
+
}
|
|
68
|
+
const assetStates = this.updateAssetMeasures(assetDocument, measures);
|
|
69
|
+
await this.app.trigger("device-manager:measures:persist:sourceBefore", { asset, measures, source, target });
|
|
70
|
+
if (indexId) {
|
|
71
|
+
await this.app.trigger(`engine:${indexId}:device-manager:measures:persist:sourceBefore`, { asset, measures, source, target });
|
|
72
|
+
}
|
|
73
|
+
const promises = [];
|
|
74
|
+
if (indexId) {
|
|
75
|
+
promises.push(this.sdk.document
|
|
76
|
+
.mCreate(indexId, plugin_1.InternalCollection.MEASURES, measures.map((measure) => ({ body: measure })))
|
|
77
|
+
.then(({ errors }) => {
|
|
78
|
+
if (errors.length !== 0) {
|
|
79
|
+
throw new kuzzle_1.BadRequestError(`Cannot save measures: ${errors[0].reason}`);
|
|
80
|
+
}
|
|
81
|
+
}));
|
|
82
|
+
// @todo potential race condition if 2 differents device are linked
|
|
83
|
+
// to the same asset and get processed at the same time
|
|
84
|
+
// asset measures update could be protected by mutex
|
|
85
|
+
promises.push(this.sdk.document
|
|
86
|
+
.update(indexId, plugin_1.InternalCollection.ASSETS, assetId, asset)
|
|
87
|
+
.catch((error) => {
|
|
88
|
+
throw (0, shared_1.keepStack)(error, new kuzzle_1.BadRequestError(`Cannot update asset "${assetId}": ${error.message}`));
|
|
89
|
+
}));
|
|
90
|
+
promises.push(historizeAssetStates(assetStates, indexId, JSON.parse(JSON.stringify(asset.metadata)), asset.metadata));
|
|
91
|
+
}
|
|
92
|
+
await Promise.all(promises);
|
|
93
|
+
/**
|
|
94
|
+
* Event at the end of the measure process pipeline.
|
|
95
|
+
*
|
|
96
|
+
* Useful to trigger business rules like alerts
|
|
97
|
+
*
|
|
98
|
+
* @todo test this
|
|
99
|
+
*/
|
|
100
|
+
await this.app.trigger("device-manager:measures:process:sourceAfter", { asset, measures, source, target });
|
|
101
|
+
if (indexId) {
|
|
102
|
+
await this.app.trigger(`engine:${indexId}:device-manager:measures:process:sourceAfter`, { asset, measures, source, target });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
20
105
|
/**
|
|
21
106
|
* Register new measures from a device, updates :
|
|
22
107
|
* - admin device
|
|
@@ -31,6 +116,8 @@ class MeasureService extends shared_1.BaseService {
|
|
|
31
116
|
* - trigger events `before` (measure enrichment)
|
|
32
117
|
* - save documents (measures, device and asset)
|
|
33
118
|
* - trigger events `after`
|
|
119
|
+
*
|
|
120
|
+
* @deprecated
|
|
34
121
|
*/
|
|
35
122
|
async ingest(device, measurements, metadata, payloadUuids) {
|
|
36
123
|
await (0, shared_1.lock)(`measure:ingest:${device._id}`, async () => {
|
|
@@ -39,8 +126,9 @@ class MeasureService extends shared_1.BaseService {
|
|
|
39
126
|
this.app.log.warn(`Cannot find measurements for device "${device._source.reference}"`);
|
|
40
127
|
return;
|
|
41
128
|
}
|
|
42
|
-
const engineId = device._source
|
|
43
|
-
const asset = await this.
|
|
129
|
+
const { engineId, reference, model, assetId, lastMeasuredAt } = device._source;
|
|
130
|
+
const asset = assetId ? await this.findAsset(engineId, assetId) : null;
|
|
131
|
+
const assetContent = asset?._source;
|
|
44
132
|
const originalAssetMetadata = asset === null
|
|
45
133
|
? {}
|
|
46
134
|
: JSON.parse(JSON.stringify(asset._source.metadata));
|
|
@@ -49,6 +137,8 @@ class MeasureService extends shared_1.BaseService {
|
|
|
49
137
|
if (asset) {
|
|
50
138
|
(_a = asset._source).measures || (_a.measures = {});
|
|
51
139
|
}
|
|
140
|
+
const source = (0, MeasureSourcesBuilder_1.toDeviceSource)(device._id, reference, model, device._source.metadata, lastMeasuredAt);
|
|
141
|
+
const target = (0, MeasureTargetBuilder_1.toDeviceTarget)(device._source.engineId, device._source.assetId ?? undefined);
|
|
52
142
|
/**
|
|
53
143
|
* Event before starting to process new measures.
|
|
54
144
|
*
|
|
@@ -58,6 +148,17 @@ class MeasureService extends shared_1.BaseService {
|
|
|
58
148
|
if (engineId) {
|
|
59
149
|
await this.app.trigger(`engine:${engineId}:device-manager:measures:process:before`, { asset, device, measures });
|
|
60
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Here are the new process before triggers using sources
|
|
153
|
+
*
|
|
154
|
+
* Event before starting to process new measures.
|
|
155
|
+
*
|
|
156
|
+
* Useful to enrich measures before they are saved.
|
|
157
|
+
*/
|
|
158
|
+
await this.app.trigger("device-manager:measures:process:sourceBefore", { asset: assetContent, measures, source, target });
|
|
159
|
+
if (engineId) {
|
|
160
|
+
await this.app.trigger(`engine:${engineId}:device-manager:measures:process:sourceBefore`, { asset: assetContent, measures, source, target });
|
|
161
|
+
}
|
|
61
162
|
await this.updateDeviceMeasures(device, measures);
|
|
62
163
|
let assetStates = new Map();
|
|
63
164
|
if (asset) {
|
|
@@ -71,6 +172,13 @@ class MeasureService extends shared_1.BaseService {
|
|
|
71
172
|
if (engineId) {
|
|
72
173
|
await this.app.trigger(`engine:${engineId}:device-manager:measures:persist:before`, { asset, device, measures });
|
|
73
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Here are the new persist before triggers using sources
|
|
177
|
+
*/
|
|
178
|
+
await this.app.trigger("device-manager:measures:persist:sourceBefore", { asset: assetContent, measures, source, target });
|
|
179
|
+
if (engineId) {
|
|
180
|
+
await this.app.trigger(`engine:${engineId}:device-manager:measures:persist:sourceBefore`, { asset: assetContent, measures, source, target });
|
|
181
|
+
}
|
|
74
182
|
const promises = [];
|
|
75
183
|
promises.push(this.sdk.document
|
|
76
184
|
.update(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, device._id, device._source)
|
|
@@ -118,6 +226,19 @@ class MeasureService extends shared_1.BaseService {
|
|
|
118
226
|
if (engineId) {
|
|
119
227
|
await this.app.trigger(`engine:${engineId}:device-manager:measures:process:after`, { asset, device, measures });
|
|
120
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Here are the new process after triggers using sources
|
|
231
|
+
*
|
|
232
|
+
* Event at the end of the measure process pipeline.
|
|
233
|
+
*
|
|
234
|
+
* Useful to trigger business rules like alerts
|
|
235
|
+
*
|
|
236
|
+
* @todo test this
|
|
237
|
+
*/
|
|
238
|
+
await this.app.trigger("device-manager:measures:process:sourceAfter", { asset: assetContent, measures, source, target });
|
|
239
|
+
if (engineId) {
|
|
240
|
+
await this.app.trigger(`engine:${engineId}:device-manager:measures:process:sourceAfter`, { asset: assetContent, measures, source, target });
|
|
241
|
+
}
|
|
121
242
|
});
|
|
122
243
|
}
|
|
123
244
|
updateDeviceMeasures(device, measurements) {
|
|
@@ -126,7 +247,7 @@ class MeasureService extends shared_1.BaseService {
|
|
|
126
247
|
}
|
|
127
248
|
let lastMeasuredAt = 0;
|
|
128
249
|
for (const measurement of measurements) {
|
|
129
|
-
if (measurement.origin.type
|
|
250
|
+
if (measurement.origin.type !== "device") {
|
|
130
251
|
continue;
|
|
131
252
|
}
|
|
132
253
|
const measureName = measurement.origin.measureName;
|
|
@@ -169,7 +290,7 @@ class MeasureService extends shared_1.BaseService {
|
|
|
169
290
|
if (measurement.asset === null) {
|
|
170
291
|
continue;
|
|
171
292
|
}
|
|
172
|
-
const measureName = measurement.asset
|
|
293
|
+
const measureName = measurement.asset?.measureName ?? null;
|
|
173
294
|
// The measurement was not present in the asset device links so it should
|
|
174
295
|
// not be saved in the asset measures
|
|
175
296
|
if (measureName === null) {
|
|
@@ -196,6 +317,35 @@ class MeasureService extends shared_1.BaseService {
|
|
|
196
317
|
asset._source.lastMeasuredAt = lastMeasuredAt;
|
|
197
318
|
return assetStates;
|
|
198
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* Build the measures document received from the API
|
|
322
|
+
*
|
|
323
|
+
* @param source The API data source
|
|
324
|
+
* @param asset The target asset to build the measure for
|
|
325
|
+
* @param measure The decoded raw measures
|
|
326
|
+
* @param payloadUuids The uuid's of the payloads used to create the measure
|
|
327
|
+
*
|
|
328
|
+
* @returns A MeasurementContent builded from parameters
|
|
329
|
+
*/
|
|
330
|
+
async buildApiMeasures(source, asset, measures, payloadUuids, engineGroup) {
|
|
331
|
+
const apiMeasures = [];
|
|
332
|
+
for (const measure of measures) {
|
|
333
|
+
let assetContext = null;
|
|
334
|
+
const isInModel = await this.isMeasureNameInModel(measure.measureName, asset._source.model, engineGroup);
|
|
335
|
+
if (isInModel) {
|
|
336
|
+
assetContext = asset_1.AssetSerializer.measureContext(asset, measure.measureName);
|
|
337
|
+
}
|
|
338
|
+
const measureSource = (0, MeasureSourcesBuilder_1.apiSourceToOriginApi)(source, payloadUuids);
|
|
339
|
+
apiMeasures.push({
|
|
340
|
+
asset: assetContext,
|
|
341
|
+
measuredAt: measure.measuredAt,
|
|
342
|
+
origin: measureSource,
|
|
343
|
+
type: measure.type,
|
|
344
|
+
values: measure.values,
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
return apiMeasures;
|
|
348
|
+
}
|
|
199
349
|
/**
|
|
200
350
|
* Build the measures documents to save
|
|
201
351
|
*/
|
|
@@ -203,10 +353,13 @@ class MeasureService extends shared_1.BaseService {
|
|
|
203
353
|
const measures = [];
|
|
204
354
|
for (const measurement of measurements) {
|
|
205
355
|
// @todo check if measure type exists
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
356
|
+
let assetContext = null;
|
|
357
|
+
if (asset) {
|
|
358
|
+
const assetMeasureName = this.findAssetMeasureNameFromDevice(device._id, measurement.measureName, asset._source);
|
|
359
|
+
if (assetMeasureName) {
|
|
360
|
+
assetContext = asset_1.AssetSerializer.measureContext(asset, assetMeasureName);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
210
363
|
const measureContent = {
|
|
211
364
|
asset: assetContext,
|
|
212
365
|
measuredAt: measurement.measuredAt,
|
|
@@ -226,10 +379,14 @@ class MeasureService extends shared_1.BaseService {
|
|
|
226
379
|
}
|
|
227
380
|
return measures.sort((measureA, measureB) => measureA.measuredAt - measureB.measuredAt);
|
|
228
381
|
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
382
|
+
/**
|
|
383
|
+
* Find an asset by its ID and its engine ID.
|
|
384
|
+
*
|
|
385
|
+
* @param engineId The target index ID
|
|
386
|
+
* @param assetId the target asset ID
|
|
387
|
+
* @returns The asset or null if not found
|
|
388
|
+
*/
|
|
389
|
+
async findAsset(engineId, assetId) {
|
|
233
390
|
try {
|
|
234
391
|
const asset = await this.sdk.document.get(engineId, plugin_1.InternalCollection.ASSETS, assetId);
|
|
235
392
|
return asset;
|
|
@@ -240,22 +397,42 @@ class MeasureService extends shared_1.BaseService {
|
|
|
240
397
|
}
|
|
241
398
|
}
|
|
242
399
|
/**
|
|
243
|
-
*
|
|
400
|
+
* Check if the asset measure name is associated to the asset model
|
|
401
|
+
*
|
|
402
|
+
* @param measureName The measure name to check
|
|
403
|
+
* @param model The asset model the measureName should belong
|
|
404
|
+
*
|
|
405
|
+
* @returns True if the asset measure name belongs to the asset model, false otherwise
|
|
406
|
+
* @throws If the model does not exists
|
|
244
407
|
*/
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
if (!
|
|
251
|
-
throw new kuzzle_1.BadRequestError(`
|
|
408
|
+
async isMeasureNameInModel(measureName, model, engineGroup = "commons") {
|
|
409
|
+
const assetModel = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", {
|
|
410
|
+
engineGroup,
|
|
411
|
+
model: model,
|
|
412
|
+
});
|
|
413
|
+
if (!assetModel) {
|
|
414
|
+
throw new kuzzle_1.BadRequestError(`Model "${model}" does not exists`);
|
|
252
415
|
}
|
|
253
|
-
const
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
416
|
+
const assetMeasureName = assetModel.asset.measures.find((m) => m.name === measureName);
|
|
417
|
+
return assetMeasureName?.name ? true : false;
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* Find the asset measure name from the device and its measure type
|
|
421
|
+
*
|
|
422
|
+
* @param deviceId The source device ID
|
|
423
|
+
* @param measureType The device measure type
|
|
424
|
+
* @param asset The asset the device is linked to
|
|
425
|
+
*
|
|
426
|
+
* @returns The asset measure name or null if it does not belong to the link
|
|
427
|
+
* @throws If the device is not linked to the asset
|
|
428
|
+
*/
|
|
429
|
+
findAssetMeasureNameFromDevice(deviceId, measureType, asset) {
|
|
430
|
+
const linkedDevice = asset.linkedDevices.find((link) => link._id === deviceId);
|
|
431
|
+
if (!linkedDevice) {
|
|
432
|
+
throw new kuzzle_1.BadRequestError(`Device "${deviceId}" is not linked to "${asset.model}" asset: "${asset.reference}"`);
|
|
257
433
|
}
|
|
258
|
-
|
|
434
|
+
const assetMeasureName = linkedDevice.measureNames.find((m) => m.device === measureType);
|
|
435
|
+
return assetMeasureName?.asset ?? null;
|
|
259
436
|
}
|
|
260
437
|
}
|
|
261
438
|
exports.MeasureService = MeasureService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeasureService.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MeasureService.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Metadata } from "../shared";
|
|
2
|
+
import { MeasureOriginApi, MeasureOriginDevice } from "./types/MeasureContent";
|
|
3
|
+
import { ApiMeasureSource, DeviceMeasureSource } from "./types/MeasureSources";
|
|
4
|
+
export declare const enum DATA_SOURCE_METADATA_TYPE {
|
|
5
|
+
API = "api",
|
|
6
|
+
DEVICE = "device"
|
|
7
|
+
}
|
|
8
|
+
export declare function apiSourceToOriginApi(source: ApiMeasureSource, payloadUuids: string[]): MeasureOriginApi;
|
|
9
|
+
export declare function toDeviceSource(dataSourceId: string, reference: string, model: string, metadata?: Metadata, lastMeasuredAt?: number): DeviceMeasureSource;
|
|
10
|
+
export declare function deviceSourceToOriginDevice(source: DeviceMeasureSource, measureName: string, payloadUuids: string[]): MeasureOriginDevice;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.apiSourceToOriginApi = apiSourceToOriginApi;
|
|
4
|
+
exports.toDeviceSource = toDeviceSource;
|
|
5
|
+
exports.deviceSourceToOriginDevice = deviceSourceToOriginDevice;
|
|
6
|
+
function apiSourceToOriginApi(source, payloadUuids) {
|
|
7
|
+
return {
|
|
8
|
+
_id: source.id,
|
|
9
|
+
apiMetadata: source.metadata,
|
|
10
|
+
payloadUuids: payloadUuids,
|
|
11
|
+
type: "api" /* DATA_SOURCE_METADATA_TYPE.API */,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function toDeviceSource(dataSourceId, reference, model, metadata, lastMeasuredAt) {
|
|
15
|
+
return {
|
|
16
|
+
id: dataSourceId,
|
|
17
|
+
lastMeasuredAt,
|
|
18
|
+
metadata,
|
|
19
|
+
model,
|
|
20
|
+
reference,
|
|
21
|
+
type: "device" /* DATA_SOURCE_METADATA_TYPE.DEVICE */,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function deviceSourceToOriginDevice(source, measureName, payloadUuids) {
|
|
25
|
+
const { id: dataSourceId, model, reference } = source;
|
|
26
|
+
return {
|
|
27
|
+
_id: dataSourceId,
|
|
28
|
+
deviceModel: model,
|
|
29
|
+
measureName,
|
|
30
|
+
metadata: source.metadata,
|
|
31
|
+
payloadUuids,
|
|
32
|
+
reference: reference,
|
|
33
|
+
type: "device" /* DATA_SOURCE_METADATA_TYPE.DEVICE */,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=MeasureSourcesBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MeasureSourcesBuilder.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureSourcesBuilder.ts"],"names":[],"mappings":";;AASA,oDAUC;AAED,wCAeC;AAED,gEAeC;AA5CD,SAAgB,oBAAoB,CAClC,MAAwB,EACxB,YAAsB;IAEtB,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC,QAAQ;QAC5B,YAAY,EAAE,YAAY;QAC1B,IAAI,2CAA+B;KACpC,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,YAAoB,EACpB,SAAiB,EACjB,KAAa,EACb,QAAmB,EACnB,cAAuB;IAEvB,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,cAAc;QACd,QAAQ;QACR,KAAK;QACL,SAAS;QACT,IAAI,iDAAkC;KACvC,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CACxC,MAA2B,EAC3B,WAAmB,EACnB,YAAsB;IAEtB,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACtD,OAAO;QACL,GAAG,EAAE,YAAY;QACjB,WAAW,EAAE,KAAK;QAClB,WAAW;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY;QACZ,SAAS,EAAE,SAAS;QACpB,IAAI,iDAAkC;KACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ApiMeasureTarget, DeviceMeasureTarget } from "./types/MeasureTarget";
|
|
2
|
+
export declare function toApiTarget(indexId: string, assetId: string, engineGroup?: string): ApiMeasureTarget;
|
|
3
|
+
export declare function toDeviceTarget(indexId: string, assetId?: string): DeviceMeasureTarget;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toApiTarget = toApiTarget;
|
|
4
|
+
exports.toDeviceTarget = toDeviceTarget;
|
|
5
|
+
function toApiTarget(indexId, assetId, engineGroup) {
|
|
6
|
+
return {
|
|
7
|
+
assetId,
|
|
8
|
+
engineGroup,
|
|
9
|
+
indexId,
|
|
10
|
+
type: "api",
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function toDeviceTarget(indexId, assetId) {
|
|
14
|
+
return {
|
|
15
|
+
assetId,
|
|
16
|
+
indexId,
|
|
17
|
+
type: "device",
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=MeasureTargetBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MeasureTargetBuilder.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureTargetBuilder.ts"],"names":[],"mappings":";;AAEA,kCAWC;AAED,wCASC;AAtBD,SAAgB,WAAW,CACzB,OAAe,EACf,OAAe,EACf,WAAoB;IAEpB,OAAO;QACL,OAAO;QACP,WAAW;QACX,OAAO;QACP,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,OAAe,EACf,OAAgB;IAEhB,OAAO;QACL,OAAO;QACP,OAAO;QACP,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ErrorObject } from "ajv";
|
|
2
|
+
import { KuzzleError } from "kuzzle";
|
|
3
|
+
export interface MeasureValidationChunks {
|
|
4
|
+
measureName: string;
|
|
5
|
+
validationErrors: ErrorObject[];
|
|
6
|
+
}
|
|
7
|
+
export declare class MeasureValidationError extends KuzzleError {
|
|
8
|
+
private errors;
|
|
9
|
+
constructor(message: string, errors: MeasureValidationChunks[], id?: string, code?: number);
|
|
10
|
+
get name(): string;
|
|
11
|
+
toJSON(): import("kuzzle").JSONObject;
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MeasureValidationError = void 0;
|
|
4
|
+
const kuzzle_1 = require("kuzzle");
|
|
5
|
+
class MeasureValidationError extends kuzzle_1.KuzzleError {
|
|
6
|
+
constructor(message, errors, id, code) {
|
|
7
|
+
super(message, 400, id, code);
|
|
8
|
+
this.errors = errors;
|
|
9
|
+
}
|
|
10
|
+
get name() {
|
|
11
|
+
return "MeasureValidationError";
|
|
12
|
+
}
|
|
13
|
+
toJSON() {
|
|
14
|
+
const json = super.toJSON();
|
|
15
|
+
json.errors = this.errors;
|
|
16
|
+
return json;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.MeasureValidationError = MeasureValidationError;
|
|
20
|
+
//# sourceMappingURL=MeasureValidationError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MeasureValidationError.js","sourceRoot":"","sources":["../../../../lib/modules/measure/MeasureValidationError.ts"],"names":[],"mappings":";;;AACA,mCAAqC;AAOrC,MAAa,sBAAuB,SAAQ,oBAAW;IAErD,YACE,OAAe,EACf,MAAiC,EACjC,EAAW,EACX,IAAa;QAEb,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAE5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvBD,wDAuBC"}
|
|
@@ -53,6 +53,10 @@ exports.measuresMappings = {
|
|
|
53
53
|
// populated with device models metadata mappings
|
|
54
54
|
},
|
|
55
55
|
},
|
|
56
|
+
apiMetadata: {
|
|
57
|
+
dynamic: "false",
|
|
58
|
+
properties: {},
|
|
59
|
+
},
|
|
56
60
|
payloadUuids: { type: "keyword" },
|
|
57
61
|
deviceModel: { type: "keyword" },
|
|
58
62
|
reference: { type: "keyword" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measuresMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/measure/collections/measuresMappings.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAEzB,MAAM,EAAE;YACN,UAAU,EAAE;YACV,yCAAyC;aAC1C;SACF;QAED;;WAEG;QACH,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAE5B,KAAK,EAAE;YACL,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,QAAQ,EAAE;oBACR,UAAU,EAAE;oBACV,gDAAgD;qBACjD;iBACF;gBACD,MAAM,EAAE;oBACN,UAAU,EAAE;wBACV,EAAE,EAAE;4BACF,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;yBACnC;wBACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBACvB;iBACF;aACF;SACF;QAED;;WAEG;QACH,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEzB,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEhC,cAAc,EAAE;oBACd,UAAU,EAAE;oBACV,iDAAiD;qBAClD;iBACF;gBAED,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEjC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEhC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAE9B,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACzB;SACF;KACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"measuresMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/measure/collections/measuresMappings.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAEzB,MAAM,EAAE;YACN,UAAU,EAAE;YACV,yCAAyC;aAC1C;SACF;QAED;;WAEG;QACH,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAE5B,KAAK,EAAE;YACL,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAChC,QAAQ,EAAE;oBACR,UAAU,EAAE;oBACV,gDAAgD;qBACjD;iBACF;gBACD,MAAM,EAAE;oBACN,UAAU,EAAE;wBACV,EAAE,EAAE;4BACF,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;yBACnC;wBACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;qBACvB;iBACF;aACF;SACF;QAED;;WAEG;QACH,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEzB,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEhC,cAAc,EAAE;oBACd,UAAU,EAAE;oBACV,iDAAiD;qBAClD;iBACF;gBAED,WAAW,EAAE;oBACX,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBAED,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEjC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAEhC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAE9B,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACzB;SACF;KACF;CACF,CAAC"}
|
|
@@ -1,58 +1,69 @@
|
|
|
1
1
|
import { JSONObject, KDocumentContent } from "kuzzle-sdk";
|
|
2
2
|
import { Metadata } from "../../../modules/shared";
|
|
3
3
|
import { AssetMeasureContext } from "../../../modules/asset";
|
|
4
|
-
|
|
4
|
+
interface AbstractMeasureOrigin {
|
|
5
5
|
/**
|
|
6
6
|
* Origin of the measure
|
|
7
7
|
*/
|
|
8
|
-
type:
|
|
9
|
-
/**
|
|
10
|
-
* Name of the measure in the device
|
|
11
|
-
*/
|
|
12
|
-
measureName: string;
|
|
13
|
-
/**
|
|
14
|
-
* Origin device metadata
|
|
15
|
-
*/
|
|
16
|
-
deviceMetadata?: Metadata;
|
|
8
|
+
type: string;
|
|
17
9
|
/**
|
|
18
10
|
* Payload uuids that were used to create this measure.
|
|
19
11
|
*/
|
|
20
12
|
payloadUuids: Array<string>;
|
|
13
|
+
/**
|
|
14
|
+
* Custom metadata provided by the user
|
|
15
|
+
*/
|
|
16
|
+
metadata?: Metadata;
|
|
17
|
+
}
|
|
18
|
+
export interface MeasureOriginDevice extends AbstractMeasureOrigin {
|
|
19
|
+
type: "device";
|
|
21
20
|
/**
|
|
22
21
|
* Model of the device
|
|
23
22
|
*
|
|
24
23
|
* @example "AbeewayTemp"
|
|
25
24
|
*/
|
|
26
25
|
deviceModel: string;
|
|
26
|
+
/**
|
|
27
|
+
* Name of the measure
|
|
28
|
+
*/
|
|
29
|
+
measureName: string;
|
|
27
30
|
/**
|
|
28
31
|
* Reference of the device
|
|
29
32
|
*/
|
|
30
33
|
reference: string;
|
|
34
|
+
/**
|
|
35
|
+
* Origin device metadata
|
|
36
|
+
*/
|
|
37
|
+
deviceMetadata?: Metadata;
|
|
31
38
|
/**
|
|
32
39
|
* Device ID
|
|
33
40
|
*/
|
|
34
41
|
_id: string;
|
|
35
|
-
}
|
|
36
|
-
export
|
|
42
|
+
}
|
|
43
|
+
export interface MeasureOriginComputed extends AbstractMeasureOrigin {
|
|
37
44
|
/**
|
|
38
45
|
* Computed measures are not automatically added into the asset and device
|
|
39
46
|
* documents at the end of the ingestion pipeline.
|
|
40
47
|
*/
|
|
41
48
|
type: "computed";
|
|
42
|
-
/**
|
|
43
|
-
* String that identify the rule used to compute the measure
|
|
44
|
-
*/
|
|
45
|
-
_id: string;
|
|
46
49
|
/**
|
|
47
50
|
* Name of the measure
|
|
48
51
|
*/
|
|
49
52
|
measureName: string;
|
|
50
53
|
/**
|
|
51
|
-
*
|
|
54
|
+
* String that identify the rule used to compute the measure
|
|
52
55
|
*/
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
export
|
|
56
|
+
_id: string;
|
|
57
|
+
}
|
|
58
|
+
export interface MeasureOriginApi extends AbstractMeasureOrigin {
|
|
59
|
+
type: "api";
|
|
60
|
+
apiMetadata?: Metadata;
|
|
61
|
+
/**
|
|
62
|
+
* API ID
|
|
63
|
+
*/
|
|
64
|
+
_id: string;
|
|
65
|
+
}
|
|
66
|
+
export type MeasureOrigin = MeasureOriginDevice | MeasureOriginComputed | MeasureOriginApi;
|
|
56
67
|
/**
|
|
57
68
|
* Represents the content of a measure document.
|
|
58
69
|
*/
|
|
@@ -88,3 +99,4 @@ export type Measurement<TMeasureValues extends JSONObject = any> = {
|
|
|
88
99
|
export type DecodedMeasurement<TMeasureValues extends JSONObject = JSONObject> = {
|
|
89
100
|
measureName: string;
|
|
90
101
|
} & Measurement<TMeasureValues>;
|
|
102
|
+
export {};
|