kuzzle-device-manager 2.4.0-beta.2 → 2.4.0-beta.20

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 (128) hide show
  1. package/dist/lib/modules/asset/AssetHistoryService.d.ts +2 -4
  2. package/dist/lib/modules/asset/AssetHistoryService.js +4 -7
  3. package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
  4. package/dist/lib/modules/asset/AssetService.d.ts +25 -26
  5. package/dist/lib/modules/asset/AssetService.js +235 -42
  6. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  7. package/dist/lib/modules/asset/AssetsController.d.ts +4 -1
  8. package/dist/lib/modules/asset/AssetsController.js +51 -25
  9. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  10. package/dist/lib/modules/asset/AssetsGroupsController.js +1 -1
  11. package/dist/lib/modules/asset/AssetsGroupsController.js.map +1 -1
  12. package/dist/lib/modules/asset/model/AssetSerializer.js +1 -0
  13. package/dist/lib/modules/asset/model/AssetSerializer.js.map +1 -1
  14. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +3 -0
  15. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
  16. package/dist/lib/modules/asset/types/AssetApi.d.ts +32 -0
  17. package/dist/lib/modules/asset/types/AssetContent.d.ts +1 -1
  18. package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -1
  19. package/dist/lib/modules/decoder/Decoder.d.ts +11 -0
  20. package/dist/lib/modules/decoder/Decoder.js +1 -0
  21. package/dist/lib/modules/decoder/Decoder.js.map +1 -1
  22. package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -1
  23. package/dist/lib/modules/decoder/DecodingState.js +1 -1
  24. package/dist/lib/modules/decoder/DecodingState.js.map +1 -1
  25. package/dist/lib/modules/decoder/PayloadService.d.ts +3 -6
  26. package/dist/lib/modules/decoder/PayloadService.js +11 -17
  27. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  28. package/dist/lib/modules/decoder/PayloadsController.js.map +1 -1
  29. package/dist/lib/modules/decoder/types/DecoderContent.d.ts +1 -0
  30. package/dist/lib/modules/device/DeviceService.d.ts +27 -46
  31. package/dist/lib/modules/device/DeviceService.js +159 -73
  32. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  33. package/dist/lib/modules/device/DevicesController.d.ts +2 -1
  34. package/dist/lib/modules/device/DevicesController.js +25 -41
  35. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  36. package/dist/lib/modules/device/collections/deviceMappings.d.ts +2 -46
  37. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  38. package/dist/lib/modules/device/types/DeviceApi.d.ts +11 -0
  39. package/dist/lib/modules/device/types/DeviceEvents.d.ts +29 -0
  40. package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -2
  41. package/dist/lib/modules/measure/MeasureExporter.js +35 -14
  42. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
  43. package/dist/lib/modules/measure/MeasureService.d.ts +2 -6
  44. package/dist/lib/modules/measure/MeasureService.js +6 -11
  45. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  46. package/dist/lib/modules/measure/collections/measuresMappings.d.ts +18 -0
  47. package/dist/lib/modules/measure/collections/measuresMappings.js +14 -0
  48. package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
  49. package/dist/lib/modules/measure/measures/BatteryMeasure.js +12 -0
  50. package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +1 -1
  51. package/dist/lib/modules/measure/measures/HumidityMeasure.js +12 -0
  52. package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +1 -1
  53. package/dist/lib/modules/measure/measures/MovementMeasure.js +10 -0
  54. package/dist/lib/modules/measure/measures/MovementMeasure.js.map +1 -1
  55. package/dist/lib/modules/measure/measures/PositionMeasure.js +22 -0
  56. package/dist/lib/modules/measure/measures/PositionMeasure.js.map +1 -1
  57. package/dist/lib/modules/measure/measures/TemperatureMeasure.js +12 -0
  58. package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +1 -1
  59. package/dist/lib/modules/measure/types/MeasureContent.d.ts +4 -0
  60. package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +28 -3
  61. package/dist/lib/modules/model/MappingsConflictsError.d.ts +7 -0
  62. package/dist/lib/modules/model/MappingsConflictsError.js +20 -0
  63. package/dist/lib/modules/model/MappingsConflictsError.js.map +1 -0
  64. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  65. package/dist/lib/modules/model/ModelService.d.ts +13 -8
  66. package/dist/lib/modules/model/ModelService.js +162 -28
  67. package/dist/lib/modules/model/ModelService.js.map +1 -1
  68. package/dist/lib/modules/model/ModelsConflicts.d.ts +30 -0
  69. package/dist/lib/modules/model/ModelsConflicts.js +107 -0
  70. package/dist/lib/modules/model/ModelsConflicts.js.map +1 -0
  71. package/dist/lib/modules/model/ModelsController.d.ts +2 -1
  72. package/dist/lib/modules/model/ModelsController.js +27 -3
  73. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  74. package/dist/lib/modules/model/ModelsRegister.d.ts +28 -3
  75. package/dist/lib/modules/model/ModelsRegister.js +50 -5
  76. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  77. package/dist/lib/modules/model/collections/modelsMappings.js +24 -0
  78. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  79. package/dist/lib/modules/model/types/ModelApi.d.ts +24 -3
  80. package/dist/lib/modules/model/types/ModelContent.d.ts +207 -2
  81. package/dist/lib/modules/model/types/ModelContent.js +9 -0
  82. package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
  83. package/dist/lib/modules/model/types/ModelDefinition.d.ts +129 -5
  84. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +141 -5
  85. package/dist/lib/modules/plugin/DeviceManagerEngine.js +238 -41
  86. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  87. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +113 -8
  88. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +146 -16
  89. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  90. package/dist/lib/modules/plugin/exports.d.ts +1 -1
  91. package/dist/lib/modules/plugin/exports.js +1 -1
  92. package/dist/lib/modules/plugin/exports.js.map +1 -1
  93. package/dist/lib/modules/plugin/index.d.ts +1 -2
  94. package/dist/lib/modules/plugin/index.js +1 -2
  95. package/dist/lib/modules/plugin/index.js.map +1 -1
  96. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +27 -5
  97. package/dist/lib/modules/plugin/types/InternalCollection.js +1 -1
  98. package/dist/lib/modules/plugin/types/InternalCollection.js.map +1 -1
  99. package/dist/lib/modules/plugin/types/Pipes.d.ts +17 -0
  100. package/dist/lib/modules/plugin/types/Pipes.js +3 -0
  101. package/dist/lib/modules/plugin/types/Pipes.js.map +1 -0
  102. package/dist/lib/modules/plugin/types/exports.d.ts +1 -0
  103. package/dist/lib/modules/plugin/types/exports.js +18 -0
  104. package/dist/lib/modules/plugin/types/exports.js.map +1 -0
  105. package/dist/lib/modules/plugin/types/index.d.ts +3 -0
  106. package/dist/lib/modules/plugin/types/index.js +20 -0
  107. package/dist/lib/modules/plugin/types/index.js.map +1 -0
  108. package/dist/lib/modules/shared/index.d.ts +3 -4
  109. package/dist/lib/modules/shared/index.js +3 -4
  110. package/dist/lib/modules/shared/index.js.map +1 -1
  111. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +1 -0
  112. package/dist/lib/modules/shared/services/AbstractExporter.js +7 -1
  113. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  114. package/dist/lib/modules/shared/services/BaseService.d.ts +69 -0
  115. package/dist/lib/modules/shared/services/BaseService.js +157 -0
  116. package/dist/lib/modules/shared/services/BaseService.js.map +1 -0
  117. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +9 -3
  118. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  119. package/dist/lib/modules/shared/services/index.d.ts +1 -0
  120. package/dist/lib/modules/shared/services/index.js +1 -0
  121. package/dist/lib/modules/shared/services/index.js.map +1 -1
  122. package/dist/lib/modules/shared/utils/flattenObject.js.map +1 -1
  123. package/dist/lib/modules/shared/utils/lock.js.map +1 -1
  124. package/dist/lib/modules/shared/utils/objectDiff.js.map +1 -1
  125. package/package.json +26 -26
  126. package/dist/lib/modules/shared/utils/ask.d.ts +0 -8
  127. package/dist/lib/modules/shared/utils/ask.js +0 -12
  128. package/dist/lib/modules/shared/utils/ask.js.map +0 -1
@@ -2,29 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeviceService = void 0;
4
4
  const kuzzle_1 = require("kuzzle");
5
+ const kuzzle_plugin_commons_1 = require("kuzzle-plugin-commons");
5
6
  const plugin_1 = require("../plugin");
6
7
  const shared_1 = require("../shared");
7
8
  const DeviceSerializer_1 = require("./model/DeviceSerializer");
8
- class DeviceService {
9
- get sdk() {
10
- return this.context.accessors.sdk;
11
- }
12
- get app() {
13
- return global.app;
14
- }
15
- get impersonatedSdk() {
16
- return (user) => {
17
- if (user?._id) {
18
- return this.sdk.as(user, { checkRights: false });
19
- }
20
- return this.sdk;
21
- };
22
- }
9
+ class DeviceService extends shared_1.BaseService {
23
10
  constructor(plugin) {
24
- this.config = plugin.config;
25
- this.context = plugin.context;
26
- (0, shared_1.onAsk)("ask:device-manager:device:unlink-asset", async ({ deviceId, user }) => {
27
- await this.unlinkAsset(user, deviceId);
11
+ super(plugin);
12
+ this.registerAskEvents();
13
+ }
14
+ registerAskEvents() {
15
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:device:link-asset", async ({ deviceId, engineId, user, assetId, measureNames }) => {
16
+ const request = new kuzzle_1.KuzzleRequest({ refresh: "false" }, { user });
17
+ await this.linkAsset(engineId, deviceId, assetId, measureNames, false, request);
18
+ });
19
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:device:unlink-asset", async ({ deviceId, user }) => {
20
+ const request = new kuzzle_1.KuzzleRequest({ refresh: "false" }, { user });
21
+ await this.unlinkAsset(deviceId, request);
22
+ });
23
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:device:detach-engine", async ({ deviceId, user }) => {
24
+ const request = new kuzzle_1.KuzzleRequest({ refresh: "false" }, { user });
25
+ await this.detachEngine(deviceId, request);
26
+ });
27
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:device:attach-engine", async ({ deviceId, engineId, user }) => {
28
+ const request = new kuzzle_1.KuzzleRequest({ refresh: "false" }, { user });
29
+ await this.attachEngine(engineId, deviceId, request);
28
30
  });
29
31
  }
30
32
  /**
@@ -34,7 +36,7 @@ class DeviceService {
34
36
  * method since in this case "engineId" is not really an engine ID but still
35
37
  * required as an argument (in part to check the tenant rights)
36
38
  */
37
- async create(user, model, reference, metadata, { engineId, refresh, } = {}) {
39
+ async create(model, reference, metadata, request) {
38
40
  let device = {
39
41
  _id: DeviceSerializer_1.DeviceSerializer.id(model, reference),
40
42
  _source: {
@@ -50,38 +52,83 @@ class DeviceService {
50
52
  return (0, shared_1.lock)(`device:create:${device._id}`, async () => {
51
53
  var _a;
52
54
  const deviceModel = await this.getDeviceModel(model);
55
+ const engineId = request.getString("engineId");
53
56
  for (const metadataName of Object.keys(deviceModel.device.metadataMappings)) {
54
57
  (_a = device._source.metadata)[metadataName] || (_a[metadataName] = null);
55
58
  }
56
59
  const refreshableCollections = [];
57
- const { _source } = await this.impersonatedSdk(user).document.create(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, device._source, device._id);
60
+ const { _source } = await this.createDocument(request, device, {
61
+ collection: plugin_1.InternalCollection.DEVICES,
62
+ engineId: this.config.adminIndex,
63
+ });
58
64
  device._source = _source;
59
65
  refreshableCollections.push({
60
66
  collection: plugin_1.InternalCollection.DEVICES,
61
67
  index: this.config.adminIndex,
62
68
  });
63
69
  if (engineId && engineId !== this.config.adminIndex) {
64
- device = await this.attachEngine(user, engineId, device._id);
70
+ device = await this.attachEngine(engineId, device._id, request);
65
71
  refreshableCollections.push({
66
72
  collection: plugin_1.InternalCollection.DEVICES,
67
73
  index: engineId,
68
74
  });
69
75
  }
70
- if (refresh) {
76
+ if (request.getRefresh() === "wait_for") {
71
77
  await Promise.all(refreshableCollections.map(({ index, collection }) => this.sdk.collection.refresh(index, collection)));
72
78
  }
73
79
  return device;
74
80
  });
75
81
  }
76
- async get(index, deviceId) {
77
- const device = await this.sdk.document.get(index, plugin_1.InternalCollection.DEVICES, deviceId);
78
- return device;
82
+ async get(engineId, deviceId, request) {
83
+ return this.getDocument(request, deviceId, {
84
+ collection: plugin_1.InternalCollection.DEVICES,
85
+ engineId,
86
+ });
87
+ }
88
+ async getInternalDevices(deviceId) {
89
+ return this.sdk.document.get(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, deviceId);
90
+ }
91
+ /**
92
+ * Update or Create an device metadata
93
+ */
94
+ async upsert(engineId, model, reference, metadata, request) {
95
+ const deviceId = `${model}-${reference}`;
96
+ return (0, shared_1.lock)(`device:${engineId}:${deviceId}`, async () => {
97
+ const adminIndexDevice = await this.get(this.config.adminIndex, deviceId, request).catch(() => null);
98
+ if (!adminIndexDevice) {
99
+ return this.create(model, reference, metadata, request);
100
+ }
101
+ if (adminIndexDevice._source.engineId &&
102
+ adminIndexDevice._source.engineId !== engineId) {
103
+ throw new kuzzle_1.BadRequestError(`Device "${adminIndexDevice._id}" already exists on another engine. Abort`);
104
+ }
105
+ const engineDevice = await this.get(engineId, deviceId, request).catch(() => null);
106
+ if (!engineDevice) {
107
+ await this.attachEngine(engineId, deviceId, request);
108
+ }
109
+ const updatedPayload = await this.app.trigger("device-manager:device:update:before", { device: adminIndexDevice, metadata });
110
+ const updatedDevice = await this.updateDocument(request, {
111
+ _id: deviceId,
112
+ _source: { metadata: updatedPayload.metadata },
113
+ }, {
114
+ collection: plugin_1.InternalCollection.DEVICES,
115
+ engineId,
116
+ }, { source: true });
117
+ await this.app.trigger("device-manager:device:update:after", {
118
+ device: updatedDevice,
119
+ metadata: updatedPayload.metadata,
120
+ });
121
+ return updatedDevice;
122
+ });
79
123
  }
80
- async update(user, engineId, deviceId, metadata, { refresh }) {
124
+ async update(engineId, deviceId, metadata, request) {
81
125
  return (0, shared_1.lock)(`device:update:${deviceId}`, async () => {
82
- const device = await this.get(engineId, deviceId);
126
+ const device = await this.get(engineId, deviceId, request);
83
127
  const updatedPayload = await this.app.trigger("device-manager:device:update:before", { device, metadata });
84
- const updatedDevice = await this.impersonatedSdk(user).document.update(engineId, plugin_1.InternalCollection.DEVICES, deviceId, { metadata: updatedPayload.metadata }, { refresh, source: true });
128
+ const updatedDevice = await this.updateDocument(request, {
129
+ _id: deviceId,
130
+ _source: { metadata: updatedPayload.metadata },
131
+ }, { collection: plugin_1.InternalCollection.DEVICES, engineId }, { source: true });
85
132
  await this.app.trigger("device-manager:device:update:after", {
86
133
  device: updatedDevice,
87
134
  metadata: updatedPayload.metadata,
@@ -89,9 +136,9 @@ class DeviceService {
89
136
  return updatedDevice;
90
137
  });
91
138
  }
92
- async delete(user, engineId, deviceId, { refresh }) {
139
+ async delete(engineId, deviceId, request) {
93
140
  return (0, shared_1.lock)(`device:delete:${deviceId}`, async () => {
94
- const device = await this.get(engineId, deviceId);
141
+ const device = await this.get(engineId, deviceId, request);
95
142
  const promises = [];
96
143
  if (device._source.assetId) {
97
144
  const asset = await this.sdk.document.get(engineId, plugin_1.InternalCollection.ASSETS, device._source.assetId);
@@ -99,16 +146,17 @@ class DeviceService {
99
146
  promises.push(
100
147
  // Potential race condition if someone update the asset linkedDevices
101
148
  // at the same time (e.g link or unlink asset)
102
- this.impersonatedSdk(user)
103
- .document.update(engineId, plugin_1.InternalCollection.ASSETS, device._source.assetId, { linkedDevices }, { refresh })
104
- .then(async (updatedAsset) => {
149
+ this.updateDocument(request, {
150
+ _id: device._source.assetId,
151
+ _source: { linkedDevices },
152
+ }, { collection: plugin_1.InternalCollection.ASSETS, engineId }).then(async (updatedAsset) => {
105
153
  const event = {
106
154
  name: "unlink",
107
155
  unlink: {
108
156
  deviceId,
109
157
  },
110
158
  };
111
- await (0, shared_1.ask)("ask:device-manager:asset:history:add", {
159
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:history:add", {
112
160
  engineId,
113
161
  histories: [
114
162
  {
@@ -121,14 +169,22 @@ class DeviceService {
121
169
  });
122
170
  }));
123
171
  }
124
- promises.push(this.sdk.document.delete(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, deviceId, { refresh }));
125
- promises.push(this.sdk.document.delete(engineId, plugin_1.InternalCollection.DEVICES, deviceId, { refresh }));
172
+ promises.push(this.deleteDocument(request, deviceId, {
173
+ collection: plugin_1.InternalCollection.DEVICES,
174
+ engineId: this.config.adminIndex,
175
+ }));
176
+ promises.push(this.deleteDocument(request, deviceId, {
177
+ collection: plugin_1.InternalCollection.DEVICES,
178
+ engineId,
179
+ }));
126
180
  await Promise.all(promises);
127
181
  });
128
182
  }
129
- async search(engineId, searchBody, { from, size, scroll, lang, }) {
130
- const result = await this.sdk.document.search(engineId, plugin_1.InternalCollection.DEVICES, searchBody, { from, lang, scroll, size });
131
- return result;
183
+ async search(engineId, searchParams, request) {
184
+ return this.searchDocument(request, searchParams, {
185
+ collection: plugin_1.InternalCollection.DEVICES,
186
+ engineId,
187
+ });
132
188
  }
133
189
  /**
134
190
  * Attach the device to an engine
@@ -138,19 +194,25 @@ class DeviceService {
138
194
  * @param options.refresh Wait for ES indexation
139
195
  * @param options.strict If true, throw if an operation isn't possible
140
196
  */
141
- async attachEngine(user, engineId, deviceId, { refresh } = {}) {
197
+ async attachEngine(engineId, deviceId, request) {
142
198
  return (0, shared_1.lock)(`device:attachEngine:${deviceId}`, async () => {
143
- const device = await this.get(this.config.adminIndex, deviceId);
199
+ const device = await this.getInternalDevices(deviceId);
144
200
  if (device._source.engineId) {
145
201
  throw new kuzzle_1.BadRequestError(`Device "${device._id}" is already attached to an engine.`);
146
202
  }
147
203
  await this.checkEngineExists(engineId);
148
204
  device._source.engineId = engineId;
149
205
  const [updatedDevice] = await Promise.all([
150
- this.impersonatedSdk(user).document.update(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, device._id, { engineId }, { source: true }),
151
- this.impersonatedSdk(user).document.create(device._source.engineId, plugin_1.InternalCollection.DEVICES, device._source, device._id),
206
+ this.updateDocument(request, device, {
207
+ collection: plugin_1.InternalCollection.DEVICES,
208
+ engineId: this.config.adminIndex,
209
+ }),
210
+ this.createDocument(request, device, {
211
+ collection: plugin_1.InternalCollection.DEVICES,
212
+ engineId,
213
+ }),
152
214
  ]);
153
- if (refresh) {
215
+ if (request.getRefresh() === "wait_for") {
154
216
  await Promise.all([
155
217
  this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.DEVICES),
156
218
  this.sdk.collection.refresh(device._source.engineId, plugin_1.InternalCollection.DEVICES),
@@ -162,21 +224,27 @@ class DeviceService {
162
224
  /**
163
225
  * Detach a device from its attached engine
164
226
  *
165
- * @param deviceId Device id
166
- * @param options.refresh Wait for ES indexation
227
+ * @param {string} deviceId Id of the device
228
+ * @param {KuzzleRequest} request kuzzle request
167
229
  */
168
- async detachEngine(user, deviceId, { refresh } = {}) {
230
+ async detachEngine(deviceId, request) {
169
231
  return (0, shared_1.lock)(`device:detachEngine:${deviceId}`, async () => {
170
- const device = await this.get(this.config.adminIndex, deviceId);
232
+ const device = await this.getInternalDevices(deviceId);
171
233
  this.checkAttachedToEngine(device);
172
234
  if (device._source.assetId) {
173
- await this.unlinkAsset(user, deviceId, { refresh });
235
+ await this.unlinkAsset(deviceId, request);
174
236
  }
175
237
  await Promise.all([
176
- this.impersonatedSdk(user).document.update(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, device._id, { engineId: null }),
238
+ this.updateDocument(request, {
239
+ _id: device._id,
240
+ _source: { engineId: null },
241
+ }, {
242
+ collection: plugin_1.InternalCollection.DEVICES,
243
+ engineId: this.config.adminIndex,
244
+ }),
177
245
  this.sdk.document.delete(device._source.engineId, plugin_1.InternalCollection.DEVICES, device._id),
178
246
  ]);
179
- if (refresh) {
247
+ if (request.getRefresh() === "wait_for") {
180
248
  await Promise.all([
181
249
  this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.DEVICES),
182
250
  this.sdk.collection.refresh(device._source.engineId, plugin_1.InternalCollection.DEVICES),
@@ -188,9 +256,9 @@ class DeviceService {
188
256
  /**
189
257
  * Link a device to an asset.
190
258
  */
191
- async linkAsset(user, engineId, deviceId, assetId, measureNames, { refresh, implicitMeasuresLinking, } = {}) {
259
+ async linkAsset(engineId, deviceId, assetId, measureNames, implicitMeasuresLinking, request) {
192
260
  return (0, shared_1.lock)(`device:linkAsset:${deviceId}`, async () => {
193
- const device = await this.get(this.config.adminIndex, deviceId);
261
+ const device = await this.getInternalDevices(deviceId);
194
262
  const engine = await this.getEngine(engineId);
195
263
  this.checkAttachedToEngine(device);
196
264
  if (device._source.engineId !== engineId) {
@@ -231,9 +299,18 @@ class DeviceService {
231
299
  measureNames: updatedMeasureNames,
232
300
  });
233
301
  const [updatedDevice, , updatedAsset] = await Promise.all([
234
- this.impersonatedSdk(user).document.update(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, device._id, { assetId }, { source: true }),
235
- this.impersonatedSdk(user).document.update(device._source.engineId, plugin_1.InternalCollection.DEVICES, device._id, { assetId }),
236
- this.impersonatedSdk(user).document.update(device._source.engineId, plugin_1.InternalCollection.ASSETS, asset._id, { linkedDevices: asset._source.linkedDevices }, { source: true }),
302
+ this.updateDocument(request, device, {
303
+ collection: plugin_1.InternalCollection.DEVICES,
304
+ engineId: this.config.adminIndex,
305
+ }, { source: true }),
306
+ this.updateDocument(request, device, {
307
+ collection: plugin_1.InternalCollection.DEVICES,
308
+ engineId: device._source.engineId,
309
+ }),
310
+ this.updateDocument(request, asset, {
311
+ collection: plugin_1.InternalCollection.ASSETS,
312
+ engineId: device._source.engineId,
313
+ }, { source: true }),
237
314
  ]);
238
315
  const event = {
239
316
  link: {
@@ -241,7 +318,7 @@ class DeviceService {
241
318
  },
242
319
  name: "link",
243
320
  };
244
- await (0, shared_1.ask)("ask:device-manager:asset:history:add", {
321
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:history:add", {
245
322
  engineId,
246
323
  histories: [
247
324
  {
@@ -252,7 +329,7 @@ class DeviceService {
252
329
  },
253
330
  ],
254
331
  });
255
- if (refresh) {
332
+ if (request.getRefresh() === "wait_for") {
256
333
  await Promise.all([
257
334
  this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.DEVICES),
258
335
  this.sdk.collection.refresh(device._source.engineId, plugin_1.InternalCollection.DEVICES),
@@ -262,8 +339,8 @@ class DeviceService {
262
339
  return { asset: updatedAsset, device: updatedDevice };
263
340
  });
264
341
  }
265
- async receiveMeasures(engineId, deviceId, measures, payloadUuids) {
266
- const device = await this.get(engineId, deviceId);
342
+ async receiveMeasures(engineId, deviceId, measures, payloadUuids, request) {
343
+ const device = await this.get(engineId, deviceId, request);
267
344
  const deviceModel = await this.getDeviceModel(device._source.model);
268
345
  for (const measure of measures) {
269
346
  const declaredMeasure = deviceModel.device.measures.some((m) => m.name === measure.measureName && m.type === measure.type);
@@ -271,7 +348,7 @@ class DeviceService {
271
348
  throw new kuzzle_1.BadRequestError(`Measure "${measure.measureName}" is not declared for this device model.`);
272
349
  }
273
350
  }
274
- await (0, shared_1.ask)("ask:device-manager:payload:receive-formated", {
351
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:payload:receive-formated", {
275
352
  device,
276
353
  measures,
277
354
  payloadUuids,
@@ -323,12 +400,12 @@ class DeviceService {
323
400
  /**
324
401
  * Unlink a device of an asset
325
402
  *
326
- * @param deviceId Id of the device
327
- * @param options.refresh Wait for ES indexation
403
+ * @param {string} deviceId Id of the device
404
+ * @param {KuzzleRequest} request kuzzle request
328
405
  */
329
- async unlinkAsset(user, deviceId, { refresh } = {}) {
406
+ async unlinkAsset(deviceId, request) {
330
407
  return (0, shared_1.lock)(`device:unlinkAsset:${deviceId}`, async () => {
331
- const device = await this.get(this.config.adminIndex, deviceId);
408
+ const device = await this.getInternalDevices(deviceId);
332
409
  const engineId = device._source.engineId;
333
410
  this.checkAttachedToEngine(device);
334
411
  if (!device._source.assetId) {
@@ -337,9 +414,18 @@ class DeviceService {
337
414
  const asset = await this.sdk.document.get(engineId, plugin_1.InternalCollection.ASSETS, device._source.assetId);
338
415
  const linkedDevices = asset._source.linkedDevices.filter((link) => link._id !== device._id);
339
416
  const [updatedDevice, , updatedAsset] = await Promise.all([
340
- this.impersonatedSdk(user).document.update(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, device._id, { assetId: null }, { source: true }),
341
- this.impersonatedSdk(user).document.update(engineId, plugin_1.InternalCollection.DEVICES, device._id, { assetId: null }),
342
- this.impersonatedSdk(user).document.update(engineId, plugin_1.InternalCollection.ASSETS, asset._id, { linkedDevices }, { source: true }),
417
+ this.updateDocument(request, { _id: device._id, _source: { assetId: null } }, {
418
+ collection: plugin_1.InternalCollection.DEVICES,
419
+ engineId: this.config.adminIndex,
420
+ }, { source: true }),
421
+ this.updateDocument(request, { _id: device._id, _source: { assetId: null } }, {
422
+ collection: plugin_1.InternalCollection.DEVICES,
423
+ engineId,
424
+ }),
425
+ this.updateDocument(request, { _id: asset._id, _source: { linkedDevices } }, {
426
+ collection: plugin_1.InternalCollection.ASSETS,
427
+ engineId,
428
+ }, { source: true }),
343
429
  ]);
344
430
  const event = {
345
431
  name: "unlink",
@@ -347,7 +433,7 @@ class DeviceService {
347
433
  deviceId,
348
434
  },
349
435
  };
350
- await (0, shared_1.ask)("ask:device-manager:asset:history:add", {
436
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:history:add", {
351
437
  engineId,
352
438
  histories: [
353
439
  {
@@ -358,7 +444,7 @@ class DeviceService {
358
444
  },
359
445
  ],
360
446
  });
361
- if (refresh) {
447
+ if (request.getRefresh() === "wait_for") {
362
448
  await Promise.all([
363
449
  this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.DEVICES),
364
450
  this.sdk.collection.refresh(engineId, plugin_1.InternalCollection.DEVICES),
@@ -388,12 +474,12 @@ class DeviceService {
388
474
  return engine._source.engine;
389
475
  }
390
476
  getDeviceModel(model) {
391
- return (0, shared_1.ask)("ask:device-manager:model:device:get", {
477
+ return (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:device:get", {
392
478
  model,
393
479
  });
394
480
  }
395
481
  getAssetModel(engineGroup, model) {
396
- return (0, shared_1.ask)("ask:device-manager:model:asset:get", {
482
+ return (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", {
397
483
  engineGroup,
398
484
  model,
399
485
  });
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  import { ControllerDefinition, KuzzleRequest } from "kuzzle";
2
2
  import { DeviceManagerPlugin } from "../plugin";
3
3
  import { DeviceService } from "./DeviceService";
4
- import { ApiDeviceAttachEngineResult, ApiDeviceCreateResult, ApiDeviceDeleteResult, ApiDeviceDetachEngineResult, ApiDeviceGetResult, ApiDeviceLinkAssetResult, ApiDeviceSearchResult, ApiDeviceUnlinkAssetResult, ApiDeviceUpdateResult, ApiDeviceGetMeasuresResult } from "./types/DeviceApi";
4
+ import { ApiDeviceAttachEngineResult, ApiDeviceCreateResult, ApiDeviceDeleteResult, ApiDeviceDetachEngineResult, ApiDeviceGetResult, ApiDeviceLinkAssetResult, ApiDeviceSearchResult, ApiDeviceUnlinkAssetResult, ApiDeviceUpdateResult, ApiDeviceGetMeasuresResult, ApiDeviceUpsertResult } from "./types/DeviceApi";
5
5
  export declare class DevicesController {
6
6
  private plugin;
7
7
  private deviceService;
@@ -13,6 +13,7 @@ export declare class DevicesController {
13
13
  update(request: KuzzleRequest): Promise<ApiDeviceUpdateResult>;
14
14
  delete(request: KuzzleRequest): Promise<ApiDeviceDeleteResult>;
15
15
  search(request: KuzzleRequest): Promise<ApiDeviceSearchResult>;
16
+ upsert(request: KuzzleRequest): Promise<ApiDeviceUpsertResult>;
16
17
  /**
17
18
  * Create and provision a new device
18
19
  */