kuzzle-device-manager 3.0.0-3-dev.23 → 3.0.0-3-dev.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/lib/modules/asset/AssetModule.d.ts +2 -2
  2. package/dist/lib/modules/asset/AssetModule.js +1 -1
  3. package/dist/lib/modules/asset/AssetModule.js.map +1 -1
  4. package/dist/lib/modules/asset/AssetService.d.ts +4 -0
  5. package/dist/lib/modules/asset/AssetService.js +59 -23
  6. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  7. package/dist/lib/modules/asset/AssetsController.d.ts +1 -1
  8. package/dist/lib/modules/asset/AssetsController.js +14 -13
  9. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  10. package/dist/lib/modules/decoder/Decoder.js +19 -21
  11. package/dist/lib/modules/decoder/Decoder.js.map +1 -1
  12. package/dist/lib/modules/decoder/DecoderModule.d.ts +1 -1
  13. package/dist/lib/modules/decoder/DecoderModule.js +1 -1
  14. package/dist/lib/modules/decoder/DecoderModule.js.map +1 -1
  15. package/dist/lib/modules/decoder/DecodersController.d.ts +2 -2
  16. package/dist/lib/modules/decoder/DecodersController.js +4 -4
  17. package/dist/lib/modules/decoder/DecodersController.js.map +1 -1
  18. package/dist/lib/modules/decoder/DecodersRegister.d.ts +1 -1
  19. package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -1
  20. package/dist/lib/modules/decoder/PayloadService.d.ts +7 -1
  21. package/dist/lib/modules/decoder/PayloadService.js +76 -94
  22. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  23. package/dist/lib/modules/decoder/PayloadsController.d.ts +2 -2
  24. package/dist/lib/modules/device/DeviceModule.d.ts +1 -1
  25. package/dist/lib/modules/device/DeviceModule.js +1 -1
  26. package/dist/lib/modules/device/DeviceModule.js.map +1 -1
  27. package/dist/lib/modules/device/DeviceService.d.ts +8 -1
  28. package/dist/lib/modules/device/DeviceService.js +92 -37
  29. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  30. package/dist/lib/modules/device/DevicesController.d.ts +4 -4
  31. package/dist/lib/modules/device/DevicesController.js +11 -10
  32. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  33. package/dist/lib/modules/group/GroupsController.d.ts +3 -3
  34. package/dist/lib/modules/group/GroupsController.js +13 -8
  35. package/dist/lib/modules/group/GroupsController.js.map +1 -1
  36. package/dist/lib/modules/group/GroupsModule.d.ts +1 -1
  37. package/dist/lib/modules/group/GroupsModule.js +1 -1
  38. package/dist/lib/modules/group/GroupsModule.js.map +1 -1
  39. package/dist/lib/modules/group/GroupsService.d.ts +12 -0
  40. package/dist/lib/modules/group/GroupsService.js +129 -129
  41. package/dist/lib/modules/group/GroupsService.js.map +1 -1
  42. package/dist/lib/modules/group/groupPath.d.ts +23 -0
  43. package/dist/lib/modules/group/groupPath.js +49 -0
  44. package/dist/lib/modules/group/groupPath.js.map +1 -0
  45. package/dist/lib/modules/measure/MeasureExporter.js +12 -15
  46. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
  47. package/dist/lib/modules/measure/MeasureModule.d.ts +1 -1
  48. package/dist/lib/modules/measure/MeasureModule.js +1 -1
  49. package/dist/lib/modules/measure/MeasureModule.js.map +1 -1
  50. package/dist/lib/modules/measure/MeasureService.js +4 -4
  51. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  52. package/dist/lib/modules/measure/MeasureValidationError.d.ts +1 -1
  53. package/dist/lib/modules/model/MappingsConflictsError.d.ts +1 -1
  54. package/dist/lib/modules/model/MeasuresDuplicates.js +2 -2
  55. package/dist/lib/modules/model/MeasuresDuplicates.js.map +1 -1
  56. package/dist/lib/modules/model/MeasuresNamesDuplicatesError.d.ts +1 -1
  57. package/dist/lib/modules/model/MetadataReferential.js +20 -16
  58. package/dist/lib/modules/model/MetadataReferential.js.map +1 -1
  59. package/dist/lib/modules/model/ModelModule.d.ts +1 -1
  60. package/dist/lib/modules/model/ModelModule.js +1 -1
  61. package/dist/lib/modules/model/ModelModule.js.map +1 -1
  62. package/dist/lib/modules/model/ModelSerializer.d.ts +3 -0
  63. package/dist/lib/modules/model/ModelSerializer.js +47 -31
  64. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  65. package/dist/lib/modules/model/ModelService.d.ts +5 -0
  66. package/dist/lib/modules/model/ModelService.js +67 -66
  67. package/dist/lib/modules/model/ModelService.js.map +1 -1
  68. package/dist/lib/modules/model/ModelsConflicts.js +19 -14
  69. package/dist/lib/modules/model/ModelsConflicts.js.map +1 -1
  70. package/dist/lib/modules/model/ModelsController.d.ts +2 -1
  71. package/dist/lib/modules/model/ModelsController.js +18 -15
  72. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  73. package/dist/lib/modules/model/ModelsRegister.d.ts +5 -5
  74. package/dist/lib/modules/model/ModelsRegister.js +12 -9
  75. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  76. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +20 -3
  77. package/dist/lib/modules/plugin/DeviceManagerEngine.js +139 -112
  78. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  79. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +8 -8
  80. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  81. package/dist/lib/modules/shared/Module.d.ts +1 -1
  82. package/dist/lib/modules/shared/errors/SchemaValidationError.d.ts +1 -1
  83. package/dist/lib/modules/shared/services/AbstractExporter.js +19 -7
  84. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  85. package/dist/lib/modules/shared/services/BaseService.d.ts +14 -1
  86. package/dist/lib/modules/shared/services/BaseService.js +23 -0
  87. package/dist/lib/modules/shared/services/BaseService.js.map +1 -1
  88. package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +10 -1
  89. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +31 -8
  90. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  91. package/dist/lib/modules/shared/services/DigitalTwinService.js +6 -7
  92. package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -1
  93. package/dist/lib/modules/shared/utils/objectDiff.js +7 -6
  94. package/dist/lib/modules/shared/utils/objectDiff.js.map +1 -1
  95. package/package.json +1 -1
@@ -7,6 +7,8 @@ const plugin_1 = require("../plugin");
7
7
  const shared_1 = require("../shared");
8
8
  const asset_1 = require("../asset");
9
9
  const DeviceSerializer_1 = require("./model/DeviceSerializer");
10
+ // ? Device ids ("model-reference") must fit in an Elasticsearch _id (512 bytes)
11
+ const MAX_REFERENCE_BYTES = 256;
10
12
  class DeviceService extends shared_1.DigitalTwinService {
11
13
  constructor(plugin, logger) {
12
14
  super(plugin, plugin_1.InternalCollection.DEVICES);
@@ -47,7 +49,18 @@ class DeviceService extends shared_1.DigitalTwinService {
47
49
  index: this.config.platformIndex,
48
50
  });
49
51
  if (index.trim() !== "" && index !== this.config.platformIndex) {
50
- device = await this._attachEngine(index, device._id, request, metadata);
52
+ try {
53
+ device = await this._attachEngine(index, device._id, request, metadata);
54
+ }
55
+ catch (error) {
56
+ // ? Do not leave a provisioned device marked as attached to a tenant where it does not exist
57
+ await this.sdk.document
58
+ .delete(this.config.platformIndex, plugin_1.InternalCollection.DEVICES, device._id, {
59
+ refresh: "wait_for",
60
+ })
61
+ .catch((rollbackError) => this.logger.error(`Cannot roll back the provisioning of device "${device._id}": ${rollbackError.message}`));
62
+ throw error;
63
+ }
51
64
  refreshableCollections.push({
52
65
  collection: plugin_1.InternalCollection.DEVICES,
53
66
  index: index,
@@ -73,6 +86,11 @@ class DeviceService extends shared_1.DigitalTwinService {
73
86
  }, {
74
87
  collection: plugin_1.InternalCollection.DEVICES,
75
88
  index: this.config.platformIndex,
89
+ }).catch((error) => {
90
+ if (error.id === "services.storage.document_already_exists") {
91
+ throw new kuzzle_1.BadRequestError(`Device "${device._id}" already exists.`);
92
+ }
93
+ throw error;
76
94
  });
77
95
  return deviceProvisioning;
78
96
  }
@@ -81,6 +99,7 @@ class DeviceService extends shared_1.DigitalTwinService {
81
99
  *
82
100
  */
83
101
  async create(model, reference, metadata, request) {
102
+ this.checkReference(reference);
84
103
  const deviceId = DeviceSerializer_1.DeviceSerializer.id(model, reference);
85
104
  const device = await (0, shared_1.lock)(`device:${deviceId}`, async () => this._create(deviceId, model, reference, metadata, request));
86
105
  return device;
@@ -133,6 +152,7 @@ class DeviceService extends shared_1.DigitalTwinService {
133
152
  * Update or Create an device metadata
134
153
  */
135
154
  async upsert(index, model, reference, metadata, request) {
155
+ this.checkReference(reference);
136
156
  const deviceId = DeviceSerializer_1.DeviceSerializer.id(model, reference);
137
157
  return (0, shared_1.lock)(`device:${deviceId}`, async () => {
138
158
  const deviceProvisioning = await this.get(this.config.platformIndex, deviceId, request).catch(() => null);
@@ -179,44 +199,32 @@ class DeviceService extends shared_1.DigitalTwinService {
179
199
  }
180
200
  async delete(index, deviceId, request) {
181
201
  return (0, shared_1.lock)(`device:${deviceId}`, async () => {
182
- const device = await this.get(index, deviceId, request);
202
+ let device = await this.get(index, deviceId, request);
203
+ // ? From the platform index, the device is also deleted from its tenant, if any
204
+ if (index === this.config.platformIndex) {
205
+ index = device._source.index;
206
+ device = index
207
+ ? await this.get(index, deviceId, request).catch(() => null)
208
+ : null;
209
+ }
183
210
  const promises = [];
184
- if (device._source.linkedMeasures?.length) {
211
+ if (device?._source.linkedMeasures?.length) {
185
212
  const { successes: assets } = await this.sdk.document.mGet(index, plugin_1.InternalCollection.ASSETS, device._source.linkedMeasures.map((link) => link.assetId));
213
+ const tenantIndex = index;
186
214
  for (const asset of assets) {
187
- const linkedDevices = asset._source.linkedMeasures.filter((link) => link.deviceId !== device._id);
188
- promises.push((0, shared_1.lock)(`asset:${index}:${asset._id}`, async () => this.updateDocument(request, {
189
- _id: asset._id,
190
- _source: { linkedMeasures: linkedDevices },
191
- }, { collection: plugin_1.InternalCollection.ASSETS, index }).then(async (updatedAsset) => {
192
- const event = {
193
- name: "unlink",
194
- unlink: {
195
- deviceId,
196
- },
197
- };
198
- await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:history:add", {
199
- index,
200
- histories: [
201
- {
202
- asset: updatedAsset._source,
203
- event,
204
- id: updatedAsset._id,
205
- timestamp: Date.now(),
206
- },
207
- ],
208
- });
209
- })));
215
+ promises.push((0, shared_1.lock)(`asset:${tenantIndex}:${asset._id}`, async () => this._removeDeviceFromAssetLinks(request, tenantIndex, asset, device._id)));
210
216
  }
211
217
  }
212
218
  promises.push(this.deleteDocument(request, deviceId, {
213
219
  collection: plugin_1.InternalCollection.DEVICES,
214
220
  index: this.config.platformIndex,
215
221
  }));
216
- promises.push(this.deleteDocument(request, deviceId, {
217
- collection: plugin_1.InternalCollection.DEVICES,
218
- index,
219
- }));
222
+ if (device) {
223
+ promises.push(this.deleteDocument(request, deviceId, {
224
+ collection: plugin_1.InternalCollection.DEVICES,
225
+ index,
226
+ }));
227
+ }
220
228
  await Promise.all(promises);
221
229
  });
222
230
  }
@@ -237,7 +245,7 @@ class DeviceService extends shared_1.DigitalTwinService {
237
245
  throw new kuzzle_1.BadRequestError(`Device ${deviceId} has no measure to be unlinked`);
238
246
  }
239
247
  for (const asset of assetsToUnlink) {
240
- const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(deviceId, asset, [], true, request);
248
+ const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(deviceId, asset, [], true, request); // NOSONAR: sequential: each unlink updates the same device
241
249
  assets.push(asset_1.AssetSerializer.serialize(updatedAsset));
242
250
  device = DeviceSerializer_1.DeviceSerializer.serialize(updatedDevice);
243
251
  }
@@ -245,14 +253,17 @@ class DeviceService extends shared_1.DigitalTwinService {
245
253
  }
246
254
  // CASE ALL MEASURES FROM SPECIFIC ASSETS TO UNLINK
247
255
  for (const asset of assetIds) {
248
- const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(deviceId, asset, [], true, request);
256
+ const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(deviceId, asset, [], true, request); // NOSONAR: sequential: each unlink updates the same device
249
257
  assets.push(asset_1.AssetSerializer.serialize(updatedAsset));
250
258
  device = DeviceSerializer_1.DeviceSerializer.serialize(updatedDevice);
251
259
  }
252
260
  // CASE SPECIFIC DEVICE SLOTS
253
261
  // FOR EVERY LINK THAT HAS A SLOT TO UNLINK
254
262
  for (const linkedMeasures of device._source.linkedMeasures.filter((l) => l.measureSlots.some((s) => measureSlots.includes(s.device)))) {
255
- const { asset: updatedAsset, device: updatedDevice } = await this.unlinkAssetDevice(deviceId, linkedMeasures.assetId, linkedMeasures.measureSlots.filter((slot) => measureSlots.includes(slot.device)), false, request);
263
+ const { asset: updatedAsset, device: updatedDevice } =
264
+ // prettier-ignore
265
+ await this.unlinkAssetDevice(// NOSONAR: sequential: each unlink updates the same device
266
+ deviceId, linkedMeasures.assetId, linkedMeasures.measureSlots.filter((slot) => measureSlots.includes(slot.device)), false, request);
256
267
  assets.push(asset_1.AssetSerializer.serialize(updatedAsset));
257
268
  device = DeviceSerializer_1.DeviceSerializer.serialize(updatedDevice);
258
269
  }
@@ -326,10 +337,13 @@ class DeviceService extends shared_1.DigitalTwinService {
326
337
  * @param {string} deviceId Id of the device
327
338
  * @param {KuzzleRequest} request kuzzle request
328
339
  */
329
- async detachEngine(deviceId, request) {
340
+ async detachEngine(deviceId, request, { checkRights = false } = {}) {
330
341
  return (0, shared_1.lock)(`device:${deviceId}`, async () => {
331
342
  const deviceProvisioning = await this.getDeviceProvisioning(deviceId);
332
343
  this.checkAttachedToEngine(deviceProvisioning);
344
+ if (checkRights) {
345
+ await this.checkEngineRights(deviceProvisioning._source.index, request);
346
+ }
333
347
  const device = await this.sdk.document.get(deviceProvisioning._source.index, plugin_1.InternalCollection.DEVICES, deviceId);
334
348
  if (device._source.linkedMeasures?.length) {
335
349
  await Promise.all(device._source.linkedMeasures.map((link) => this.unlinkAssetDevice(deviceId, link.assetId, [], true, request)));
@@ -353,6 +367,31 @@ class DeviceService extends shared_1.DigitalTwinService {
353
367
  return deviceProvisioning;
354
368
  });
355
369
  }
370
+ async _removeDeviceFromAssetLinks(request, index, asset, deviceId) {
371
+ const linkedDevices = asset._source.linkedMeasures.filter((link) => link.deviceId !== deviceId);
372
+ await this.updateDocument(request, {
373
+ _id: asset._id,
374
+ _source: { linkedMeasures: linkedDevices },
375
+ }, { collection: plugin_1.InternalCollection.ASSETS, index }).then(async (updatedAsset) => {
376
+ const event = {
377
+ name: "unlink",
378
+ unlink: {
379
+ deviceId,
380
+ },
381
+ };
382
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:history:add", {
383
+ index,
384
+ histories: [
385
+ {
386
+ asset: updatedAsset._source,
387
+ event,
388
+ id: updatedAsset._id,
389
+ timestamp: Date.now(),
390
+ },
391
+ ],
392
+ });
393
+ });
394
+ }
356
395
  async receiveMeasures(index, deviceId, measures, payloadUuids, request) {
357
396
  const device = await this.get(index, deviceId, request);
358
397
  const deviceModel = await this.getDeviceModel(device._source.model);
@@ -378,6 +417,20 @@ class DeviceService extends shared_1.DigitalTwinService {
378
417
  throw new kuzzle_1.BadRequestError(`Engine "${index}" does not exists.`);
379
418
  }
380
419
  }
420
+ /**
421
+ * The reference is part of the device id, which is used in the API routes
422
+ */
423
+ checkReference(reference) {
424
+ if (reference.trim() === "") {
425
+ throw new kuzzle_1.BadRequestError("The device reference must not be empty.");
426
+ }
427
+ if (/[\s/?#%\\]/.test(reference)) {
428
+ throw new kuzzle_1.BadRequestError(`The device reference "${reference}" must not contain whitespaces or any of the characters / ? # % \\`);
429
+ }
430
+ if (Buffer.byteLength(reference) > MAX_REFERENCE_BYTES) {
431
+ throw new kuzzle_1.BadRequestError(`The device reference "${reference.slice(0, 32)}..." exceeds ${MAX_REFERENCE_BYTES} bytes.`);
432
+ }
433
+ }
381
434
  checkAttachedToEngine(device) {
382
435
  if (!device._source.index) {
383
436
  throw new kuzzle_1.BadRequestError(`Device "${device._id}" is not attached to an engine.`);
@@ -395,10 +448,12 @@ class DeviceService extends shared_1.DigitalTwinService {
395
448
  }
396
449
  for (const engine of engines) {
397
450
  // ? Scroll by pages matching the write limit, the default search size (10) would miss devices
398
- let result = await this.sdk.document.search(engine.index, plugin_1.InternalCollection.DEVICES, { query: { equals: { model: deviceModel.device.model } } }, { lang: "koncorde", scroll: "10s", size: 200 });
451
+ let result = await this.sdk.document.search(// NOSONAR: sequential: throttle writes across engines
452
+ engine.index, plugin_1.InternalCollection.DEVICES, { query: { equals: { model: deviceModel.device.model } } }, { lang: "koncorde", scroll: "10s", size: 200 });
399
453
  while (result) {
400
454
  if (result.hits.length > 0) {
401
- await this.sdk.document.mReplace(engine.index, plugin_1.InternalCollection.DEVICES, result.hits.map((device) => ({
455
+ await this.sdk.document.mReplace(// NOSONAR: sequential: write page before scrolling
456
+ engine.index, plugin_1.InternalCollection.DEVICES, result.hits.map((device) => ({
402
457
  _id: device._id,
403
458
  body: {
404
459
  ...device._source,
@@ -407,7 +462,7 @@ class DeviceService extends shared_1.DigitalTwinService {
407
462
  },
408
463
  })), { refresh: "wait_for" });
409
464
  }
410
- result = await result.next();
465
+ result = await result.next(); // NOSONAR: sequential: scroll pagination
411
466
  }
412
467
  }
413
468
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceService.js","sourceRoot":"","sources":["../../../../lib/modules/device/DeviceService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceService.js","sourceRoot":"","sources":["../../../../lib/modules/device/DeviceService.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,11 @@ import { DeviceService } from "./DeviceService";
4
4
  import { ApiDeviceAttachEngineResult, ApiDeviceCreateResult, ApiDeviceDeleteResult, ApiDeviceDetachEngineResult, ApiDeviceGetResult, ApiDeviceLinkAssetsResult, ApiDeviceSearchResult, ApiDeviceUnlinkAssetsResult, ApiDeviceUpdateResult, ApiDeviceGetMeasuresResult, ApiDeviceUpsertResult, ApiDeviceGetLastMeasuresResult, ApiDeviceMGetLastMeasuresResult, ApiDeviceGetLastMeasuredAtResult, ApiDeviceMGetLastMeasuredAtResult, ApiDeviceMetadataReplaceResult, ApiDeviceUpdateMeasureSlotDisplayNameResult } from "./types/DeviceApi";
5
5
  import { KuzzleLogger } from "kuzzle-logger";
6
6
  export declare class DevicesController {
7
- private plugin;
8
- private deviceService;
7
+ private readonly plugin;
8
+ private readonly deviceService;
9
9
  definition: ControllerDefinition;
10
- private exporter;
11
- private measureExporter;
10
+ private readonly exporter;
11
+ private readonly measureExporter;
12
12
  readonly logger: KuzzleLogger;
13
13
  constructor(plugin: DeviceManagerPlugin, deviceService: DeviceService, logger: KuzzleLogger);
14
14
  get(request: KuzzleRequest): Promise<ApiDeviceGetResult>;
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DevicesController = void 0;
7
7
  const kuzzle_1 = require("kuzzle");
8
- const lodash_1 = __importDefault(require("lodash"));
8
+ const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
9
9
  const AssetSerializer_1 = require("../asset/model/AssetSerializer");
10
10
  const measure_1 = require("../measure");
11
11
  const plugin_1 = require("../plugin");
@@ -258,7 +258,9 @@ class DevicesController {
258
258
  */
259
259
  async detachEngine(request) {
260
260
  const deviceId = request.getId();
261
- await this.deviceService.detachEngine(deviceId, request);
261
+ await this.deviceService.detachEngine(deviceId, request, {
262
+ checkRights: true,
263
+ });
262
264
  }
263
265
  /**
264
266
  * Link a device to several assets.
@@ -277,7 +279,10 @@ class DevicesController {
277
279
  if (!measureSlots?.length && !implicitMeasuresLinking) {
278
280
  throw new kuzzle_1.BadRequestError(`You must provide at least one measure name or set "implicitMeasuresLinking" to true.`);
279
281
  }
280
- const { asset, device: updatedDevice } = await this.deviceService.linkAssetDevice(index, deviceId, assetId, measureSlots ?? [], implicitMeasuresLinking, request);
282
+ const { asset, device: updatedDevice } =
283
+ // prettier-ignore
284
+ await this.deviceService.linkAssetDevice(// NOSONAR: sequential: each link updates the same device
285
+ index, deviceId, assetId, measureSlots ?? [], implicitMeasuresLinking, request);
281
286
  assets.push(AssetSerializer_1.AssetSerializer.serialize(asset));
282
287
  device = updatedDevice;
283
288
  }
@@ -434,7 +439,7 @@ class DevicesController {
434
439
  if (typeof measures[i].measureName !== "string") {
435
440
  throw new kuzzle_1.BadRequestError(`body.measures[${i}].measureName must be a string`);
436
441
  }
437
- if (typeof measures[i].measuredAt === "undefined") {
442
+ if (measures[i].measuredAt === undefined) {
438
443
  measures[i].measuredAt = Date.now();
439
444
  }
440
445
  else if (typeof measures[i].measuredAt !== "number") {
@@ -443,7 +448,7 @@ class DevicesController {
443
448
  if (typeof measures[i].type !== "string") {
444
449
  throw new kuzzle_1.BadRequestError(`body.measures[${i}].type must be a string`);
445
450
  }
446
- if (!lodash_1.default.isPlainObject(measures[i].values)) {
451
+ if (!(0, isPlainObject_1.default)(measures[i].values)) {
447
452
  throw new kuzzle_1.BadRequestError(`body.measures[${i}].values must be an object`);
448
453
  }
449
454
  }
@@ -480,11 +485,7 @@ class DevicesController {
480
485
  const sort = request.input.body?.sort;
481
486
  const lang = request.getLangParam();
482
487
  const user = request.getUser();
483
- const link = await this.exporter.prepareExport(index, user, {
484
- lang,
485
- query,
486
- sort,
487
- });
488
+ const link = await this.exporter.prepareExport(index, user, { lang, query, sort }, request);
488
489
  return { link };
489
490
  }
490
491
  async getLastMeasuredAt(request) {
@@ -1 +1 @@
1
- {"version":3,"file":"DevicesController.js","sourceRoot":"","sources":["../../../../lib/modules/device/DevicesController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DevicesController.js","sourceRoot":"","sources":["../../../../lib/modules/device/DevicesController.ts"],"names":[],"mappings":";;;;;;AAAA,mCAOgB;AAChB,yEAAiD;AAEjD,oEAAiE;AACjE,wCAAiE;AACjE,sCAAoE;AACpE,sCAAiE;AAGjE,+DAA4D;AAwB5D,MAAa,iBAAiB;IAK5B,YACmB,MAA2B,EAC3B,aAA4B,EAC7C,MAAoB;QAFH,WAAM,GAAN,MAAM,CAAqB;QAC3B,kBAAa,GAAb,aAAa,CAAe;QAG7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,8BAA8B;QAC9B,IAAI,CAAC,UAAU,GAAG;YAChB,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iBAChE;gBACD,GAAG,EAAE;oBACH,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBACpE;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBACpE;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBAC/D;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,6CAA6C;4BACnD,IAAI,EAAE,OAAO;yBACd;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAM,EAAE;qBAChE;iBACF;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,oCAAoC;4BAC1C,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,4CAA4C;4BAClD,IAAI,EAAE,KAAK;yBACZ;qBACF;iBACF;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,qCAAqC,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAChE;iBACF;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,2CAA2C;4BACjD,IAAI,EAAE,KAAK;yBACZ;qBACF;iBACF;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,4CAA4C;4BAClD,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,6CAA6C;4BACnD,IAAI,EAAE,KAAK;yBACZ;wBACD;4BACE,IAAI,EAAE,6CAA6C;4BACnD,IAAI,EAAE,MAAM;yBACb;qBACF;iBACF;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,iDAAiD;4BACvD,IAAI,EAAE,KAAK;yBACZ;wBACD;4BACE,IAAI,EAAE,iDAAiD;4BACvD,IAAI,EAAE,MAAM;yBACb;qBACF;iBACF;gBACD,gBAAgB,EAAE;oBAChB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACzC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,iDAAiD;4BACvD,IAAI,EAAE,MAAM;yBACb;qBACF;iBACF;gBACD,cAAc,EAAE;oBACd,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,+DAA+D;4BACrE,IAAI,EAAE,KAAK;yBACZ;wBACD;4BACE,IAAI,EAAE,qDAAqD;4BAC3D,IAAI,EAAE,MAAM;yBACb;qBACF;iBACF;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,6CAA6C;4BACnD,IAAI,EAAE,KAAK;yBACZ;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/B,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,iDAAiD;4BACvD,IAAI,EAAE,KAAK;yBACZ;wBACD;4BACE,IAAI,EAAE,uCAAuC;4BAC7C,IAAI,EAAE,MAAM;yBACb;qBACF;iBACF;gBACD,iBAAiB,EAAE;oBACjB,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC1C,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,mDAAmD;4BACzD,IAAI,EAAE,KAAK;yBACZ;wBACD;4BACE,IAAI,EAAE,mDAAmD;4BACzD,IAAI,EAAE,MAAM;yBACb;qBACF;iBACF;gBACD,kBAAkB,EAAE;oBAClB,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC3C,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,mDAAmD;4BACzD,IAAI,EAAE,MAAM;yBACb;qBACF;iBACF;gBACD,4BAA4B,EAAE;oBAC5B,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrD,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,kDAAkD;4BACxD,IAAI,EAAE,OAAO;yBACd;qBACF;iBACF;aACF;SACF,CAAC;QACF,6BAA6B;QAE7B,IAAI,CAAC,QAAQ,GAAG,IAAI,4BAAmB,CACrC,IAAI,CAAC,MAAM,EACX,2BAAkB,CAAC,OAAO,CAC3B,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAe,CACxC,IAAI,CAAC,MAAM,EACX,2BAAkB,CAAC,OAAO,CAC3B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAsB;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtE,OAAO,mCAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CACnD,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,CACR,CAAC;QAEF,OAAO,mCAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,OAAsB;QAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAC5D,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,CACR,CAAC;QAEF,OAAO,mCAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAEjC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAC9B,OAAO,CAAC,QAAQ,EAAE,EAClB,OAAO,CAAC,eAAe,EAAE,EACzB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAClD,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,OAAO,CACR,CAAC;QAEF,OAAO,mCAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAC5C,KAAK,EACL,SAAS,EACT,QAAQ,EACR,OAAO,CACR,CAAC;QAEF,OAAO,mCAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,OAAsB;QAEtB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAEjC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,OAAsB;QAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAEjC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE;YACvD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAsB;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,CACzC,gBAAgB,EAChB,EAAE,CACqD,CAAC;QAE1D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,wBAAe,CACvB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,IAAI,MAAgC,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;YACnE,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACtD,MAAM,IAAI,wBAAe,CACvB,sFAAsF,CACvF,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE;YACpC,kBAAkB;YAClB,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAE,yDAAyD;YACjG,KAAK,EACL,QAAQ,EACR,OAAO,EACP,YAAY,IAAI,EAAE,EAClB,uBAAuB,EACvB,OAAO,CACR,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,iCAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,MAAM,GAAG,aAAa,CAAC;QACzB,CAAC;QACD,OAAO;YACL,MAAM;YACN,MAAM,EAAE,mCAAgB,CAAC,SAAS,CAAC,MAAM,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,OAAsB;QAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,wBAAe,CACvB,8CAA8C,QAAQ,WAAW,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CACpC,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAsB;QAEtB,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;YACxC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QAEpC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAC3D,KAAK,EACL;YACE,KAAK;YACL,EAAE;YACF,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,OAAO;YACP,IAAI;SACL,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAsB;QAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CACtD,KAAK,EACL,QAAQ,EACR,YAAY,CACb,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,MAAM,OAAO,GAAoB;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;gBAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;gBAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;gBACxC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;YAEF,OAAO;gBACL,GAAG,WAAW;gBACd,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO;aACrC,CAAC;QACJ,CAAC,EACD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAAsB;QAEtB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CACvD,KAAK,EACL,SAAS,EACT,YAAY,CACb,CAAC;QAEF,MAAM,QAAQ,GAAoC,EAAE,CAAC;QAErD,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;gBACtB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,OAAO,WAAW,CAAC;gBACrB,CAAC;gBAED,MAAM,OAAO,GAAoB;oBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;oBAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;oBAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY;oBACxC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC;gBAEF,OAAO;oBACL,GAAG,WAAW;oBACd,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO;iBACrC,CAAC;YACJ,CAAC,EACD,EAAE,CACH,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAsB;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEjC,IACE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM;YAC9C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAC9C,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAE/C,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAEtE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACzB,OAAO,EAAE;wBACP,qBAAqB,EAAE,gCAAgC,EAAE,OAAO;wBAChE,cAAc,EAAE,UAAU;qBAC3B;iBACF,CAAC,CAAC;gBAEH,OAAO,IAAI,mBAAU,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wGAAwG;gBACxG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACzB,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE;wBACP,cAAc,EAAE,YAAY;qBAC7B;oBACD,MAAM,EAAG,KAAqB,CAAC,MAAM;iBACtC,CAAC,CAAC;gBAEH,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;YACxC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAS,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;YACjE,KAAK;YACL,EAAE;YACF,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,OAAO;YACP,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAsB;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAyB,CAAC;QAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAE9D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAChD,MAAM,IAAI,wBAAe,CACvB,iBAAiB,CAAC,gCAAgC,CACnD,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACzC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,CAAC;iBAAM,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,IAAI,wBAAe,CACvB,iBAAiB,CAAC,+BAA+B,CAClD,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzC,MAAM,IAAI,wBAAe,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,IAAA,uBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,wBAAe,CACvB,iBAAiB,CAAC,4BAA4B,CAC/C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CACtC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEjC,IACE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM;YAC9C,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAC9C,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAE/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACzB,OAAO,EAAE;wBACP,qBAAqB,EAAE,yBAAyB,2BAAkB,CAAC,OAAO,OAAO;wBACjF,cAAc,EAAE,UAAU;qBAC3B;iBACF,CAAC,CAAC;gBAEH,OAAO,IAAI,mBAAU,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wGAAwG;gBACxG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACzB,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE;wBACP,cAAc,EAAE,YAAY;qBAC7B;oBACD,MAAM,EAAG,KAAqB,CAAC,MAAM;iBACtC,CAAC,CAAC;gBAEH,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAS,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAC5C,KAAK,EACL,IAAI,EACJ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EACrB,OAAO,CACR,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAAsB;QAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAC/D,KAAK,EACL,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,cAAc;SACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAAsB;QAEtB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAChC,OAAsB;QAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAEzD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,CACzE,KAAK,EACL,QAAQ,EACR,eAAe,EACf,WAAW,EACX,OAAO,CACR,CAAC;QAEF,OAAO,mCAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;CACF;AAvrBD,8CAurBC"}
@@ -4,8 +4,8 @@ import { ApiGroupAddAssetsResult, ApiGroupAddDevicesResult, ApiGroupCreateResult
4
4
  import { GroupsService } from "./GroupsService";
5
5
  import { KuzzleLogger } from "kuzzle-logger";
6
6
  export declare class GroupsController {
7
- private plugin;
8
- private groupsService;
7
+ private readonly plugin;
8
+ private readonly groupsService;
9
9
  definition: ControllerDefinition;
10
10
  readonly logger: KuzzleLogger;
11
11
  constructor(plugin: DeviceManagerPlugin, groupsService: GroupsService, logger: KuzzleLogger);
@@ -19,7 +19,7 @@ export declare class GroupsController {
19
19
  * @returns {void}
20
20
  */
21
21
  checkPath(index: string, path: GroupsBodyRequest["path"], groupId?: string): Promise<void>;
22
- checkGroupName(index: string, name: GroupsBodyRequest["name"], assetId?: string): Promise<void>;
22
+ checkGroupName(index: string, name: GroupsBodyRequest["name"], groupId?: string): Promise<void>;
23
23
  create(request: KuzzleRequest): Promise<ApiGroupCreateResult>;
24
24
  get(request: KuzzleRequest): Promise<ApiGroupGetResult>;
25
25
  upsert(request: KuzzleRequest): Promise<ApiGroupUpsertResult>;
@@ -169,7 +169,7 @@ class GroupsController {
169
169
  if (groups.length === 0) {
170
170
  return;
171
171
  }
172
- const closestParentId = groups[groups.length - 1];
172
+ const closestParentId = groups.at(-1);
173
173
  let parent;
174
174
  try {
175
175
  parent = await this.sdk.document.get(index, plugin_1.InternalCollection.GROUPS, closestParentId);
@@ -184,7 +184,7 @@ class GroupsController {
184
184
  throw new kuzzle_1.BadRequestError(`The parent path does not match`);
185
185
  }
186
186
  }
187
- async checkGroupName(index, name, assetId) {
187
+ async checkGroupName(index, name, groupId) {
188
188
  if (typeof name !== "string") {
189
189
  return;
190
190
  }
@@ -193,7 +193,8 @@ class GroupsController {
193
193
  bool: {
194
194
  must: [
195
195
  {
196
- regexp: {
196
+ // literal match: the name must not be interpreted as a pattern
197
+ term: {
197
198
  name: {
198
199
  case_insensitive: true,
199
200
  value: name,
@@ -204,7 +205,7 @@ class GroupsController {
204
205
  must_not: [
205
206
  {
206
207
  terms: {
207
- _id: typeof assetId === "string" ? [assetId] : [],
208
+ _id: typeof groupId === "string" ? [groupId] : [],
208
209
  },
209
210
  },
210
211
  ],
@@ -290,6 +291,10 @@ class GroupsController {
290
291
  const index = request.getIndex();
291
292
  const _id = request.getId();
292
293
  const { targetGroupId } = request.getBody();
294
+ if (targetGroupId !== null &&
295
+ (typeof targetGroupId !== "string" || targetGroupId.length === 0)) {
296
+ throw new kuzzle_1.BadRequestError(`"targetGroupId" must be a group id, or null to move the group to the root`);
297
+ }
293
298
  return this.groupsService.moveGroup(index, _id, targetGroupId, request);
294
299
  }
295
300
  async listItems(request) {
@@ -305,7 +310,7 @@ class GroupsController {
305
310
  const body = request.getBody();
306
311
  const path = request.getBodyString("path");
307
312
  const assetIds = body.assetIds;
308
- this.checkPath(index, path);
313
+ await this.checkPath(index, path);
309
314
  return this.groupsService.addAssets(index, path, assetIds, request);
310
315
  }
311
316
  async removeAssets(request) {
@@ -313,7 +318,7 @@ class GroupsController {
313
318
  const body = request.getBody();
314
319
  const path = request.getBodyString("path");
315
320
  const assetIds = body.assetIds;
316
- this.checkPath(index, path);
321
+ await this.checkPath(index, path);
317
322
  return this.groupsService.removeAssets(index, path, assetIds, request);
318
323
  }
319
324
  async addDevices(request) {
@@ -321,7 +326,7 @@ class GroupsController {
321
326
  const body = request.getBody();
322
327
  const path = request.getBodyString("path");
323
328
  const deviceIds = body.deviceIds;
324
- this.checkPath(index, path);
329
+ await this.checkPath(index, path);
325
330
  return this.groupsService.addDevices(index, path, deviceIds, request);
326
331
  }
327
332
  async removeDevices(request) {
@@ -329,7 +334,7 @@ class GroupsController {
329
334
  const body = request.getBody();
330
335
  const path = request.getBodyString("path");
331
336
  const deviceIds = body.deviceIds;
332
- this.checkPath(index, path);
337
+ await this.checkPath(index, path);
333
338
  return this.groupsService.removeDevices(index, path, deviceIds, request);
334
339
  }
335
340
  async mCreate(request) {