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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) 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/AssetModule.js +30 -0
  5. package/dist/lib/modules/asset/AssetModule.js.map +1 -1
  6. package/dist/lib/modules/asset/AssetService.d.ts +25 -26
  7. package/dist/lib/modules/asset/AssetService.js +236 -43
  8. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  9. package/dist/lib/modules/asset/AssetsController.d.ts +8 -1
  10. package/dist/lib/modules/asset/AssetsController.js +152 -25
  11. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  12. package/dist/lib/modules/asset/AssetsGroupsController.js +1 -1
  13. package/dist/lib/modules/asset/AssetsGroupsController.js.map +1 -1
  14. package/dist/lib/modules/asset/model/AssetSerializer.js +1 -0
  15. package/dist/lib/modules/asset/model/AssetSerializer.js.map +1 -1
  16. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +3 -0
  17. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
  18. package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +4 -0
  19. package/dist/lib/modules/asset/roles/RoleAssetsReader.js +8 -0
  20. package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
  21. package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.d.ts +8 -0
  22. package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.js +20 -0
  23. package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.js.map +1 -0
  24. package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.d.ts +8 -0
  25. package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.js +24 -0
  26. package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.js.map +1 -0
  27. package/dist/lib/modules/asset/roles/specificRoles/index.d.ts +2 -0
  28. package/dist/lib/modules/asset/roles/specificRoles/index.js +19 -0
  29. package/dist/lib/modules/asset/roles/specificRoles/index.js.map +1 -0
  30. package/dist/lib/modules/asset/types/AssetApi.d.ts +43 -2
  31. package/dist/lib/modules/asset/types/AssetContent.d.ts +1 -1
  32. package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -1
  33. package/dist/lib/modules/decoder/Decoder.d.ts +11 -0
  34. package/dist/lib/modules/decoder/Decoder.js +1 -0
  35. package/dist/lib/modules/decoder/Decoder.js.map +1 -1
  36. package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -1
  37. package/dist/lib/modules/decoder/DecodingState.js +1 -1
  38. package/dist/lib/modules/decoder/DecodingState.js.map +1 -1
  39. package/dist/lib/modules/decoder/PayloadService.d.ts +3 -6
  40. package/dist/lib/modules/decoder/PayloadService.js +11 -17
  41. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  42. package/dist/lib/modules/decoder/PayloadsController.js.map +1 -1
  43. package/dist/lib/modules/decoder/types/DecoderContent.d.ts +1 -0
  44. package/dist/lib/modules/device/DeviceModule.js +30 -0
  45. package/dist/lib/modules/device/DeviceModule.js.map +1 -1
  46. package/dist/lib/modules/device/DeviceService.d.ts +31 -46
  47. package/dist/lib/modules/device/DeviceService.js +177 -73
  48. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  49. package/dist/lib/modules/device/DevicesController.d.ts +7 -1
  50. package/dist/lib/modules/device/DevicesController.js +142 -41
  51. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  52. package/dist/lib/modules/device/collections/deviceMappings.d.ts +2 -46
  53. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  54. package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +4 -0
  55. package/dist/lib/modules/device/roles/RoleDevicesReader.js +8 -0
  56. package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
  57. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.d.ts +8 -0
  58. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js +20 -0
  59. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js.map +1 -0
  60. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.d.ts +8 -0
  61. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.js +20 -0
  62. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.js.map +1 -0
  63. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.d.ts +8 -0
  64. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.js +24 -0
  65. package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.js.map +1 -0
  66. package/dist/lib/modules/device/roles/specificRoles/index.d.ts +3 -0
  67. package/dist/lib/modules/device/roles/specificRoles/index.js +20 -0
  68. package/dist/lib/modules/device/roles/specificRoles/index.js.map +1 -0
  69. package/dist/lib/modules/device/types/DeviceApi.d.ts +23 -2
  70. package/dist/lib/modules/device/types/DeviceEvents.d.ts +29 -0
  71. package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -2
  72. package/dist/lib/modules/measure/MeasureExporter.js +35 -14
  73. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
  74. package/dist/lib/modules/measure/MeasureService.d.ts +2 -6
  75. package/dist/lib/modules/measure/MeasureService.js +6 -11
  76. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  77. package/dist/lib/modules/measure/collections/measuresMappings.d.ts +18 -0
  78. package/dist/lib/modules/measure/collections/measuresMappings.js +14 -0
  79. package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
  80. package/dist/lib/modules/measure/measures/BatteryMeasure.js +12 -0
  81. package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +1 -1
  82. package/dist/lib/modules/measure/measures/HumidityMeasure.js +12 -0
  83. package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +1 -1
  84. package/dist/lib/modules/measure/measures/MovementMeasure.js +10 -0
  85. package/dist/lib/modules/measure/measures/MovementMeasure.js.map +1 -1
  86. package/dist/lib/modules/measure/measures/PositionMeasure.js +22 -0
  87. package/dist/lib/modules/measure/measures/PositionMeasure.js.map +1 -1
  88. package/dist/lib/modules/measure/measures/TemperatureMeasure.js +12 -0
  89. package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +1 -1
  90. package/dist/lib/modules/measure/types/MeasureContent.d.ts +4 -0
  91. package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +28 -3
  92. package/dist/lib/modules/model/MappingsConflictsError.d.ts +7 -0
  93. package/dist/lib/modules/model/MappingsConflictsError.js +20 -0
  94. package/dist/lib/modules/model/MappingsConflictsError.js.map +1 -0
  95. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  96. package/dist/lib/modules/model/ModelService.d.ts +17 -9
  97. package/dist/lib/modules/model/ModelService.js +250 -42
  98. package/dist/lib/modules/model/ModelService.js.map +1 -1
  99. package/dist/lib/modules/model/ModelsConflicts.d.ts +30 -0
  100. package/dist/lib/modules/model/ModelsConflicts.js +107 -0
  101. package/dist/lib/modules/model/ModelsConflicts.js.map +1 -0
  102. package/dist/lib/modules/model/ModelsController.d.ts +5 -1
  103. package/dist/lib/modules/model/ModelsController.js +54 -3
  104. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  105. package/dist/lib/modules/model/ModelsRegister.d.ts +28 -3
  106. package/dist/lib/modules/model/ModelsRegister.js +50 -5
  107. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  108. package/dist/lib/modules/model/collections/modelsMappings.js +24 -0
  109. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  110. package/dist/lib/modules/model/types/ModelApi.d.ts +50 -4
  111. package/dist/lib/modules/model/types/ModelContent.d.ts +263 -2
  112. package/dist/lib/modules/model/types/ModelContent.js +15 -0
  113. package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
  114. package/dist/lib/modules/model/types/ModelDefinition.d.ts +141 -5
  115. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +141 -5
  116. package/dist/lib/modules/plugin/DeviceManagerEngine.js +238 -41
  117. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  118. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +113 -8
  119. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +149 -19
  120. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  121. package/dist/lib/modules/plugin/exports.d.ts +1 -1
  122. package/dist/lib/modules/plugin/exports.js +1 -1
  123. package/dist/lib/modules/plugin/exports.js.map +1 -1
  124. package/dist/lib/modules/plugin/index.d.ts +1 -2
  125. package/dist/lib/modules/plugin/index.js +1 -2
  126. package/dist/lib/modules/plugin/index.js.map +1 -1
  127. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +27 -5
  128. package/dist/lib/modules/plugin/types/InternalCollection.js +1 -1
  129. package/dist/lib/modules/plugin/types/InternalCollection.js.map +1 -1
  130. package/dist/lib/modules/plugin/types/Pipes.d.ts +17 -0
  131. package/dist/lib/modules/plugin/types/Pipes.js +3 -0
  132. package/dist/lib/modules/plugin/types/Pipes.js.map +1 -0
  133. package/dist/lib/modules/plugin/types/exports.d.ts +1 -0
  134. package/dist/lib/modules/plugin/types/exports.js +18 -0
  135. package/dist/lib/modules/plugin/types/exports.js.map +1 -0
  136. package/dist/lib/modules/plugin/types/index.d.ts +3 -0
  137. package/dist/lib/modules/plugin/types/index.js +20 -0
  138. package/dist/lib/modules/plugin/types/index.js.map +1 -0
  139. package/dist/lib/modules/shared/exports.d.ts +2 -0
  140. package/dist/lib/modules/shared/exports.js +2 -0
  141. package/dist/lib/modules/shared/exports.js.map +1 -1
  142. package/dist/lib/modules/shared/index.d.ts +6 -4
  143. package/dist/lib/modules/shared/index.js +6 -4
  144. package/dist/lib/modules/shared/index.js.map +1 -1
  145. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +1 -0
  146. package/dist/lib/modules/shared/services/AbstractExporter.js +7 -1
  147. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  148. package/dist/lib/modules/shared/services/BaseService.d.ts +69 -0
  149. package/dist/lib/modules/shared/services/BaseService.js +157 -0
  150. package/dist/lib/modules/shared/services/BaseService.js.map +1 -0
  151. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +9 -3
  152. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  153. package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +21 -0
  154. package/dist/lib/modules/shared/services/DigitalTwinService.js +162 -0
  155. package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -0
  156. package/dist/lib/modules/shared/services/index.d.ts +2 -0
  157. package/dist/lib/modules/shared/services/index.js +2 -0
  158. package/dist/lib/modules/shared/services/index.js.map +1 -1
  159. package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +34 -0
  160. package/dist/lib/modules/shared/types/DigitalTwinApi.js +3 -0
  161. package/dist/lib/modules/shared/types/DigitalTwinApi.js.map +1 -0
  162. package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +2 -4
  163. package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +9 -0
  164. package/dist/lib/modules/shared/types/DigitalTwinEvents.js +3 -0
  165. package/dist/lib/modules/shared/types/DigitalTwinEvents.js.map +1 -0
  166. package/dist/lib/modules/shared/types/DigitalTwinMeasures.d.ts +5 -0
  167. package/dist/lib/modules/shared/types/DigitalTwinMeasures.js +3 -0
  168. package/dist/lib/modules/shared/types/DigitalTwinMeasures.js.map +1 -0
  169. package/dist/lib/modules/shared/utils/flattenObject.js.map +1 -1
  170. package/dist/lib/modules/shared/utils/lock.js.map +1 -1
  171. package/dist/lib/modules/shared/utils/objectDiff.js.map +1 -1
  172. package/package.json +26 -26
  173. package/dist/lib/modules/shared/utils/ask.d.ts +0 -8
  174. package/dist/lib/modules/shared/utils/ask.js +0 -12
  175. 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.DigitalTwinService {
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, plugin_1.InternalCollection.DEVICES);
12
+ }
13
+ registerAskEvents() {
14
+ super.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,101 @@ 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
+ * Replace a device metadata
93
+ */
94
+ async replaceMetadata(engineId, deviceId, metadata, request) {
95
+ const device = await this.get(engineId, deviceId, request);
96
+ for (const key in metadata) {
97
+ if (key in device._source.metadata) {
98
+ device._source.metadata[key] = metadata[key];
99
+ }
100
+ }
101
+ const updatedPayload = await this.app.trigger("device-manager:device:update:before", { device: device, metadata });
102
+ const updatedDevice = await this.sdk.document.replace(engineId, plugin_1.InternalCollection.DEVICES, deviceId, updatedPayload.device._source);
103
+ await this.app.trigger("device-manager:device:update:after", {
104
+ device: updatedDevice,
105
+ metadata: updatedPayload.metadata,
106
+ });
107
+ return updatedDevice;
108
+ }
109
+ /**
110
+ * Update or Create an device metadata
111
+ */
112
+ async upsert(engineId, model, reference, metadata, request) {
113
+ const deviceId = `${model}-${reference}`;
114
+ return (0, shared_1.lock)(`device:${engineId}:${deviceId}`, async () => {
115
+ const adminIndexDevice = await this.get(this.config.adminIndex, deviceId, request).catch(() => null);
116
+ if (!adminIndexDevice) {
117
+ return this.create(model, reference, metadata, request);
118
+ }
119
+ if (adminIndexDevice._source.engineId &&
120
+ adminIndexDevice._source.engineId !== engineId) {
121
+ throw new kuzzle_1.BadRequestError(`Device "${adminIndexDevice._id}" already exists on another engine. Abort`);
122
+ }
123
+ const engineDevice = await this.get(engineId, deviceId, request).catch(() => null);
124
+ if (!engineDevice) {
125
+ await this.attachEngine(engineId, deviceId, request);
126
+ }
127
+ const updatedPayload = await this.app.trigger("device-manager:device:update:before", { device: adminIndexDevice, metadata });
128
+ const updatedDevice = await this.updateDocument(request, {
129
+ _id: deviceId,
130
+ _source: { metadata: updatedPayload.metadata },
131
+ }, {
132
+ collection: plugin_1.InternalCollection.DEVICES,
133
+ engineId,
134
+ }, { source: true });
135
+ await this.app.trigger("device-manager:device:update:after", {
136
+ device: updatedDevice,
137
+ metadata: updatedPayload.metadata,
138
+ });
139
+ return updatedDevice;
140
+ });
79
141
  }
80
- async update(user, engineId, deviceId, metadata, { refresh }) {
142
+ async update(engineId, deviceId, metadata, request) {
81
143
  return (0, shared_1.lock)(`device:update:${deviceId}`, async () => {
82
- const device = await this.get(engineId, deviceId);
144
+ const device = await this.get(engineId, deviceId, request);
83
145
  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 });
146
+ const updatedDevice = await this.updateDocument(request, {
147
+ _id: deviceId,
148
+ _source: { metadata: updatedPayload.metadata },
149
+ }, { collection: plugin_1.InternalCollection.DEVICES, engineId }, { source: true });
85
150
  await this.app.trigger("device-manager:device:update:after", {
86
151
  device: updatedDevice,
87
152
  metadata: updatedPayload.metadata,
@@ -89,9 +154,9 @@ class DeviceService {
89
154
  return updatedDevice;
90
155
  });
91
156
  }
92
- async delete(user, engineId, deviceId, { refresh }) {
157
+ async delete(engineId, deviceId, request) {
93
158
  return (0, shared_1.lock)(`device:delete:${deviceId}`, async () => {
94
- const device = await this.get(engineId, deviceId);
159
+ const device = await this.get(engineId, deviceId, request);
95
160
  const promises = [];
96
161
  if (device._source.assetId) {
97
162
  const asset = await this.sdk.document.get(engineId, plugin_1.InternalCollection.ASSETS, device._source.assetId);
@@ -99,16 +164,17 @@ class DeviceService {
99
164
  promises.push(
100
165
  // Potential race condition if someone update the asset linkedDevices
101
166
  // 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) => {
167
+ this.updateDocument(request, {
168
+ _id: device._source.assetId,
169
+ _source: { linkedDevices },
170
+ }, { collection: plugin_1.InternalCollection.ASSETS, engineId }).then(async (updatedAsset) => {
105
171
  const event = {
106
172
  name: "unlink",
107
173
  unlink: {
108
174
  deviceId,
109
175
  },
110
176
  };
111
- await (0, shared_1.ask)("ask:device-manager:asset:history:add", {
177
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:history:add", {
112
178
  engineId,
113
179
  histories: [
114
180
  {
@@ -121,14 +187,22 @@ class DeviceService {
121
187
  });
122
188
  }));
123
189
  }
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 }));
190
+ promises.push(this.deleteDocument(request, deviceId, {
191
+ collection: plugin_1.InternalCollection.DEVICES,
192
+ engineId: this.config.adminIndex,
193
+ }));
194
+ promises.push(this.deleteDocument(request, deviceId, {
195
+ collection: plugin_1.InternalCollection.DEVICES,
196
+ engineId,
197
+ }));
126
198
  await Promise.all(promises);
127
199
  });
128
200
  }
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;
201
+ async search(engineId, searchParams, request) {
202
+ return this.searchDocument(request, searchParams, {
203
+ collection: plugin_1.InternalCollection.DEVICES,
204
+ engineId,
205
+ });
132
206
  }
133
207
  /**
134
208
  * Attach the device to an engine
@@ -138,19 +212,25 @@ class DeviceService {
138
212
  * @param options.refresh Wait for ES indexation
139
213
  * @param options.strict If true, throw if an operation isn't possible
140
214
  */
141
- async attachEngine(user, engineId, deviceId, { refresh } = {}) {
215
+ async attachEngine(engineId, deviceId, request) {
142
216
  return (0, shared_1.lock)(`device:attachEngine:${deviceId}`, async () => {
143
- const device = await this.get(this.config.adminIndex, deviceId);
217
+ const device = await this.getInternalDevices(deviceId);
144
218
  if (device._source.engineId) {
145
219
  throw new kuzzle_1.BadRequestError(`Device "${device._id}" is already attached to an engine.`);
146
220
  }
147
221
  await this.checkEngineExists(engineId);
148
222
  device._source.engineId = engineId;
149
223
  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),
224
+ this.updateDocument(request, device, {
225
+ collection: plugin_1.InternalCollection.DEVICES,
226
+ engineId: this.config.adminIndex,
227
+ }),
228
+ this.createDocument(request, device, {
229
+ collection: plugin_1.InternalCollection.DEVICES,
230
+ engineId,
231
+ }),
152
232
  ]);
153
- if (refresh) {
233
+ if (request.getRefresh() === "wait_for") {
154
234
  await Promise.all([
155
235
  this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.DEVICES),
156
236
  this.sdk.collection.refresh(device._source.engineId, plugin_1.InternalCollection.DEVICES),
@@ -162,21 +242,27 @@ class DeviceService {
162
242
  /**
163
243
  * Detach a device from its attached engine
164
244
  *
165
- * @param deviceId Device id
166
- * @param options.refresh Wait for ES indexation
245
+ * @param {string} deviceId Id of the device
246
+ * @param {KuzzleRequest} request kuzzle request
167
247
  */
168
- async detachEngine(user, deviceId, { refresh } = {}) {
248
+ async detachEngine(deviceId, request) {
169
249
  return (0, shared_1.lock)(`device:detachEngine:${deviceId}`, async () => {
170
- const device = await this.get(this.config.adminIndex, deviceId);
250
+ const device = await this.getInternalDevices(deviceId);
171
251
  this.checkAttachedToEngine(device);
172
252
  if (device._source.assetId) {
173
- await this.unlinkAsset(user, deviceId, { refresh });
253
+ await this.unlinkAsset(deviceId, request);
174
254
  }
175
255
  await Promise.all([
176
- this.impersonatedSdk(user).document.update(this.config.adminIndex, plugin_1.InternalCollection.DEVICES, device._id, { engineId: null }),
256
+ this.updateDocument(request, {
257
+ _id: device._id,
258
+ _source: { engineId: null },
259
+ }, {
260
+ collection: plugin_1.InternalCollection.DEVICES,
261
+ engineId: this.config.adminIndex,
262
+ }),
177
263
  this.sdk.document.delete(device._source.engineId, plugin_1.InternalCollection.DEVICES, device._id),
178
264
  ]);
179
- if (refresh) {
265
+ if (request.getRefresh() === "wait_for") {
180
266
  await Promise.all([
181
267
  this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.DEVICES),
182
268
  this.sdk.collection.refresh(device._source.engineId, plugin_1.InternalCollection.DEVICES),
@@ -188,9 +274,9 @@ class DeviceService {
188
274
  /**
189
275
  * Link a device to an asset.
190
276
  */
191
- async linkAsset(user, engineId, deviceId, assetId, measureNames, { refresh, implicitMeasuresLinking, } = {}) {
277
+ async linkAsset(engineId, deviceId, assetId, measureNames, implicitMeasuresLinking, request) {
192
278
  return (0, shared_1.lock)(`device:linkAsset:${deviceId}`, async () => {
193
- const device = await this.get(this.config.adminIndex, deviceId);
279
+ const device = await this.getInternalDevices(deviceId);
194
280
  const engine = await this.getEngine(engineId);
195
281
  this.checkAttachedToEngine(device);
196
282
  if (device._source.engineId !== engineId) {
@@ -231,9 +317,18 @@ class DeviceService {
231
317
  measureNames: updatedMeasureNames,
232
318
  });
233
319
  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 }),
320
+ this.updateDocument(request, device, {
321
+ collection: plugin_1.InternalCollection.DEVICES,
322
+ engineId: this.config.adminIndex,
323
+ }, { source: true }),
324
+ this.updateDocument(request, device, {
325
+ collection: plugin_1.InternalCollection.DEVICES,
326
+ engineId: device._source.engineId,
327
+ }),
328
+ this.updateDocument(request, asset, {
329
+ collection: plugin_1.InternalCollection.ASSETS,
330
+ engineId: device._source.engineId,
331
+ }, { source: true }),
237
332
  ]);
238
333
  const event = {
239
334
  link: {
@@ -241,7 +336,7 @@ class DeviceService {
241
336
  },
242
337
  name: "link",
243
338
  };
244
- await (0, shared_1.ask)("ask:device-manager:asset:history:add", {
339
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:history:add", {
245
340
  engineId,
246
341
  histories: [
247
342
  {
@@ -252,7 +347,7 @@ class DeviceService {
252
347
  },
253
348
  ],
254
349
  });
255
- if (refresh) {
350
+ if (request.getRefresh() === "wait_for") {
256
351
  await Promise.all([
257
352
  this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.DEVICES),
258
353
  this.sdk.collection.refresh(device._source.engineId, plugin_1.InternalCollection.DEVICES),
@@ -262,8 +357,8 @@ class DeviceService {
262
357
  return { asset: updatedAsset, device: updatedDevice };
263
358
  });
264
359
  }
265
- async receiveMeasures(engineId, deviceId, measures, payloadUuids) {
266
- const device = await this.get(engineId, deviceId);
360
+ async receiveMeasures(engineId, deviceId, measures, payloadUuids, request) {
361
+ const device = await this.get(engineId, deviceId, request);
267
362
  const deviceModel = await this.getDeviceModel(device._source.model);
268
363
  for (const measure of measures) {
269
364
  const declaredMeasure = deviceModel.device.measures.some((m) => m.name === measure.measureName && m.type === measure.type);
@@ -271,7 +366,7 @@ class DeviceService {
271
366
  throw new kuzzle_1.BadRequestError(`Measure "${measure.measureName}" is not declared for this device model.`);
272
367
  }
273
368
  }
274
- await (0, shared_1.ask)("ask:device-manager:payload:receive-formated", {
369
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:payload:receive-formated", {
275
370
  device,
276
371
  measures,
277
372
  payloadUuids,
@@ -323,12 +418,12 @@ class DeviceService {
323
418
  /**
324
419
  * Unlink a device of an asset
325
420
  *
326
- * @param deviceId Id of the device
327
- * @param options.refresh Wait for ES indexation
421
+ * @param {string} deviceId Id of the device
422
+ * @param {KuzzleRequest} request kuzzle request
328
423
  */
329
- async unlinkAsset(user, deviceId, { refresh } = {}) {
424
+ async unlinkAsset(deviceId, request) {
330
425
  return (0, shared_1.lock)(`device:unlinkAsset:${deviceId}`, async () => {
331
- const device = await this.get(this.config.adminIndex, deviceId);
426
+ const device = await this.getInternalDevices(deviceId);
332
427
  const engineId = device._source.engineId;
333
428
  this.checkAttachedToEngine(device);
334
429
  if (!device._source.assetId) {
@@ -337,9 +432,18 @@ class DeviceService {
337
432
  const asset = await this.sdk.document.get(engineId, plugin_1.InternalCollection.ASSETS, device._source.assetId);
338
433
  const linkedDevices = asset._source.linkedDevices.filter((link) => link._id !== device._id);
339
434
  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 }),
435
+ this.updateDocument(request, { _id: device._id, _source: { assetId: null } }, {
436
+ collection: plugin_1.InternalCollection.DEVICES,
437
+ engineId: this.config.adminIndex,
438
+ }, { source: true }),
439
+ this.updateDocument(request, { _id: device._id, _source: { assetId: null } }, {
440
+ collection: plugin_1.InternalCollection.DEVICES,
441
+ engineId,
442
+ }),
443
+ this.updateDocument(request, { _id: asset._id, _source: { linkedDevices } }, {
444
+ collection: plugin_1.InternalCollection.ASSETS,
445
+ engineId,
446
+ }, { source: true }),
343
447
  ]);
344
448
  const event = {
345
449
  name: "unlink",
@@ -347,7 +451,7 @@ class DeviceService {
347
451
  deviceId,
348
452
  },
349
453
  };
350
- await (0, shared_1.ask)("ask:device-manager:asset:history:add", {
454
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:history:add", {
351
455
  engineId,
352
456
  histories: [
353
457
  {
@@ -358,7 +462,7 @@ class DeviceService {
358
462
  },
359
463
  ],
360
464
  });
361
- if (refresh) {
465
+ if (request.getRefresh() === "wait_for") {
362
466
  await Promise.all([
363
467
  this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.DEVICES),
364
468
  this.sdk.collection.refresh(engineId, plugin_1.InternalCollection.DEVICES),
@@ -388,12 +492,12 @@ class DeviceService {
388
492
  return engine._source.engine;
389
493
  }
390
494
  getDeviceModel(model) {
391
- return (0, shared_1.ask)("ask:device-manager:model:device:get", {
495
+ return (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:device:get", {
392
496
  model,
393
497
  });
394
498
  }
395
499
  getAssetModel(engineGroup, model) {
396
- return (0, shared_1.ask)("ask:device-manager:model:asset:get", {
500
+ return (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", {
397
501
  engineGroup,
398
502
  model,
399
503
  });
@@ -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, ApiDeviceGetLastMeasuresResult, ApiDeviceMGetLastMeasuresResult, ApiDeviceGetLastMeasuredAtResult, ApiDeviceMGetLastMeasuredAtResult, ApiDeviceMetadataReplaceResult } from "./types/DeviceApi";
5
5
  export declare class DevicesController {
6
6
  private plugin;
7
7
  private deviceService;
@@ -11,8 +11,10 @@ export declare class DevicesController {
11
11
  constructor(plugin: DeviceManagerPlugin, deviceService: DeviceService);
12
12
  get(request: KuzzleRequest): Promise<ApiDeviceGetResult>;
13
13
  update(request: KuzzleRequest): Promise<ApiDeviceUpdateResult>;
14
+ replaceMetadata(request: KuzzleRequest): Promise<ApiDeviceMetadataReplaceResult>;
14
15
  delete(request: KuzzleRequest): Promise<ApiDeviceDeleteResult>;
15
16
  search(request: KuzzleRequest): Promise<ApiDeviceSearchResult>;
17
+ upsert(request: KuzzleRequest): Promise<ApiDeviceUpsertResult>;
16
18
  /**
17
19
  * Create and provision a new device
18
20
  */
@@ -34,7 +36,11 @@ export declare class DevicesController {
34
36
  */
35
37
  unlinkAsset(request: KuzzleRequest): Promise<ApiDeviceUnlinkAssetResult>;
36
38
  getMeasures(request: KuzzleRequest): Promise<ApiDeviceGetMeasuresResult>;
39
+ getLastMeasures(request: KuzzleRequest): Promise<ApiDeviceGetLastMeasuresResult>;
40
+ mGetLastMeasures(request: KuzzleRequest): Promise<ApiDeviceMGetLastMeasuresResult>;
37
41
  exportMeasures(request: KuzzleRequest): Promise<any>;
38
42
  receiveMeasures(request: KuzzleRequest): Promise<void>;
39
43
  export(request: KuzzleRequest): Promise<any>;
44
+ getLastMeasuredAt(request: KuzzleRequest): Promise<ApiDeviceGetLastMeasuredAtResult>;
45
+ mGetLastMeasuredAt(request: KuzzleRequest): Promise<ApiDeviceMGetLastMeasuredAtResult>;
40
46
  }