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
@@ -1,9 +1,7 @@
1
1
  import { DeviceManagerPlugin } from "../plugin";
2
+ import { BaseService } from "../shared";
2
3
  import { AssetHistoryContent, AssetHistoryEvent } from "./types/AssetHistoryContent";
3
- export declare class AssetHistoryService {
4
- private context;
5
- private config;
6
- private get sdk();
4
+ export declare class AssetHistoryService extends BaseService {
7
5
  constructor(plugin: DeviceManagerPlugin);
8
6
  add<TAssetHistoryEvent extends AssetHistoryEvent>(engineId: string, histories: AssetHistoryContent[]): Promise<void>;
9
7
  }
@@ -1,16 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetHistoryService = void 0;
4
+ const kuzzle_plugin_commons_1 = require("kuzzle-plugin-commons");
4
5
  const plugin_1 = require("../plugin");
5
6
  const shared_1 = require("../shared");
6
- class AssetHistoryService {
7
- get sdk() {
8
- return this.context.accessors.sdk;
9
- }
7
+ class AssetHistoryService extends shared_1.BaseService {
10
8
  constructor(plugin) {
11
- this.context = plugin.context;
12
- this.config = plugin.config;
13
- (0, shared_1.onAsk)("ask:device-manager:asset:history:add", async ({ engineId, histories }) => this.add(engineId, histories));
9
+ super(plugin);
10
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:asset:history:add", async ({ engineId, histories }) => this.add(engineId, histories));
14
11
  }
15
12
  async add(engineId, histories) {
16
13
  const contents = [];
@@ -1 +1 @@
1
- {"version":3,"file":"AssetHistoryService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetHistoryService.ts"],"names":[],"mappings":";;;AAGA,sCAImB;AACnB,sCAAkC;AAQlC,MAAa,mBAAmB;IAI9B,IAAY,GAAG;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;IACpC,CAAC;IAED,YAAY,MAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,IAAA,cAAK,EACH,sCAAsC,EACtC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,SAAgC;QAEhC,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,SAAS,EAAE;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE;oBACJ,KAAK;oBACL,KAAK;oBACL,EAAE;oBACF,SAAS;iBACV;aACF,CAAC,CAAC;SACJ;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAC7B,QAAQ,EACR,2BAAkB,CAAC,cAAc,EACjC,QAAQ,EACR,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;IACJ,CAAC;CACF;AA5CD,kDA4CC"}
1
+ {"version":3,"file":"AssetHistoryService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetHistoryService.ts"],"names":[],"mappings":";;;AAAA,iEAA8C;AAG9C,sCAAoE;AACpE,sCAAwC;AAQxC,MAAa,mBAAoB,SAAQ,oBAAW;IAClD,YAAY,MAA2B;QACrC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAA,6BAAK,EACH,sCAAsC,EACtC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,SAAgC;QAEhC,MAAM,QAAQ,GAEV,EAAE,CAAC;QAEP,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,SAAS,EAAE,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE;oBACJ,KAAK;oBACL,KAAK;oBACL,EAAE;oBACF,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAC7B,QAAQ,EACR,2BAAkB,CAAC,cAAc,EACjC,QAAQ,EACR,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;IACJ,CAAC;CACF;AApCD,kDAoCC"}
@@ -1,38 +1,37 @@
1
- import { User } from "kuzzle";
1
+ import { KuzzleRequest, User } from "kuzzle";
2
2
  import { JSONObject, KDocument, KHit, SearchResult, mReplaceResponse } from "kuzzle-sdk";
3
3
  import { DeviceManagerPlugin } from "../plugin";
4
- import { Metadata } from "../shared";
4
+ import { BaseService, Metadata, SearchParams } from "../shared";
5
5
  import { AssetHistoryService } from "./AssetHistoryService";
6
+ import { ApiAssetMigrateTenantResult } from "./types/AssetApi";
6
7
  import { AssetContent } from "./types/AssetContent";
7
- export declare class AssetService {
8
- private context;
9
- private config;
8
+ export declare class AssetService extends BaseService {
10
9
  private assetHistoryService;
11
- private get sdk();
12
- private get app();
13
- private get impersonatedSdk();
14
10
  constructor(plugin: DeviceManagerPlugin, assetHistoryService: AssetHistoryService);
15
11
  registerAskEvents(): void;
16
- get(engineId: string, assetId: string): Promise<KDocument<AssetContent>>;
12
+ get(engineId: string, assetId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
17
13
  /**
18
- * Updates an asset metadata
14
+ * Update an asset metadata
19
15
  */
20
- update(user: User, engineId: string, assetId: string, metadata: Metadata, { refresh }: {
21
- refresh: any;
22
- }): Promise<KDocument<AssetContent>>;
23
- create(user: User, engineId: string, model: string, reference: string, metadata: JSONObject, { refresh }: {
24
- refresh: any;
25
- }): Promise<KDocument<AssetContent>>;
26
- delete(user: User, engineId: string, assetId: string, { refresh, strict }: {
27
- refresh: any;
28
- strict: boolean;
29
- }): Promise<void>;
30
- search(engineId: string, searchBody: JSONObject, { from, size, scroll, lang, }: {
31
- from?: number;
32
- size?: number;
33
- scroll?: string;
34
- lang?: string;
35
- }): Promise<SearchResult<KHit<AssetContent>>>;
16
+ update(engineId: string, assetId: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
17
+ /**
18
+ * Replace an asset metadata
19
+ */
20
+ replaceMetadata(engineId: string, assetId: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
21
+ /**
22
+ * Update or Create an asset metadata
23
+ */
24
+ upsert(engineId: string, model: string, reference: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
25
+ /**
26
+ * Create an asset metadata
27
+ */
28
+ create(engineId: string, model: string, reference: string, metadata: JSONObject, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
29
+ /**
30
+ * Delete an asset metadata
31
+ */
32
+ delete(engineId: string, assetId: string, request: KuzzleRequest): Promise<void>;
33
+ search(engineId: string, searchParams: SearchParams, request: KuzzleRequest): Promise<SearchResult<KHit<AssetContent>>>;
34
+ migrateTenant(user: User, assetsList: string[], engineId: string, newEngineId: string): Promise<ApiAssetMigrateTenantResult>;
36
35
  /**
37
36
  * Replace an asset metadata
38
37
  */
@@ -5,45 +5,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AssetService = void 0;
7
7
  const kuzzle_1 = require("kuzzle");
8
+ const kuzzle_plugin_commons_1 = require("kuzzle-plugin-commons");
8
9
  const lodash_1 = __importDefault(require("lodash"));
9
10
  const plugin_1 = require("../plugin");
10
11
  const shared_1 = require("../shared");
11
12
  const AssetSerializer_1 = require("./model/AssetSerializer");
12
- class AssetService {
13
- get sdk() {
14
- return this.context.accessors.sdk;
15
- }
16
- get app() {
17
- return global.app;
18
- }
19
- get impersonatedSdk() {
20
- return (user) => {
21
- if (user?._id) {
22
- return this.sdk.as(user, { checkRights: false });
23
- }
24
- return this.sdk;
25
- };
26
- }
13
+ class AssetService extends shared_1.BaseService {
27
14
  constructor(plugin, assetHistoryService) {
28
- this.context = plugin.context;
29
- this.config = plugin.config;
15
+ super(plugin);
30
16
  this.assetHistoryService = assetHistoryService;
31
17
  this.registerAskEvents();
32
18
  }
33
19
  registerAskEvents() {
34
- (0, shared_1.onAsk)("ask:device-manager:asset:refresh-model", this.refreshModel.bind(this));
20
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:asset:refresh-model", this.refreshModel.bind(this));
35
21
  }
36
- async get(engineId, assetId) {
37
- return this.sdk.document.get(engineId, plugin_1.InternalCollection.ASSETS, assetId);
22
+ async get(engineId, assetId, request) {
23
+ return this.getDocument(request, assetId, {
24
+ collection: plugin_1.InternalCollection.ASSETS,
25
+ engineId,
26
+ });
38
27
  }
39
28
  /**
40
- * Updates an asset metadata
29
+ * Update an asset metadata
41
30
  */
42
- async update(user, engineId, assetId, metadata, { refresh }) {
31
+ async update(engineId, assetId, metadata, request) {
43
32
  return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
44
- const asset = await this.get(engineId, assetId);
33
+ const asset = await this.get(engineId, assetId, request);
45
34
  const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
46
- const updatedAsset = await this.impersonatedSdk(user).document.update(engineId, plugin_1.InternalCollection.ASSETS, assetId, { metadata: updatedPayload.metadata }, { refresh, source: true });
35
+ const updatedAsset = await this.updateDocument(request, {
36
+ _id: assetId,
37
+ _source: { metadata: updatedPayload.metadata },
38
+ }, {
39
+ collection: plugin_1.InternalCollection.ASSETS,
40
+ engineId,
41
+ }, { source: true });
47
42
  await this.assetHistoryService.add(engineId, [
48
43
  {
49
44
  asset: updatedAsset._source,
@@ -64,11 +59,83 @@ class AssetService {
64
59
  return updatedAsset;
65
60
  });
66
61
  }
67
- async create(user, engineId, model, reference, metadata, { refresh }) {
62
+ /**
63
+ * Replace an asset metadata
64
+ */
65
+ async replaceMetadata(engineId, assetId, metadata, request) {
66
+ const asset = await this.get(engineId, assetId, request);
67
+ for (const key in metadata) {
68
+ if (key in asset._source.metadata) {
69
+ asset._source.metadata[key] = metadata[key];
70
+ }
71
+ }
72
+ const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
73
+ const updatedAsset = await this.sdk.document.replace(engineId, plugin_1.InternalCollection.ASSETS, assetId, updatedPayload.asset._source);
74
+ await this.assetHistoryService.add(engineId, [
75
+ {
76
+ asset: updatedAsset._source,
77
+ event: {
78
+ metadata: {
79
+ names: Object.keys((0, shared_1.flattenObject)(updatedPayload.metadata)),
80
+ },
81
+ name: "metadata",
82
+ },
83
+ id: updatedAsset._id,
84
+ timestamp: Date.now(),
85
+ },
86
+ ]);
87
+ await this.app.trigger("device-manager:asset:update:after", {
88
+ asset: updatedAsset,
89
+ metadata: updatedPayload.metadata,
90
+ });
91
+ return updatedAsset;
92
+ }
93
+ /**
94
+ * Update or Create an asset metadata
95
+ */
96
+ async upsert(engineId, model, reference, metadata, request) {
97
+ const assetId = `${model}-${reference}`;
98
+ return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
99
+ const asset = await this.get(engineId, assetId, request).catch(() => null);
100
+ if (!asset) {
101
+ return this.create(engineId, model, reference, metadata, request);
102
+ }
103
+ const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
104
+ const updatedAsset = await this.updateDocument(request, {
105
+ _id: assetId,
106
+ _source: { metadata: updatedPayload.metadata },
107
+ }, {
108
+ collection: plugin_1.InternalCollection.ASSETS,
109
+ engineId,
110
+ }, { source: true });
111
+ await this.assetHistoryService.add(engineId, [
112
+ {
113
+ asset: updatedAsset._source,
114
+ event: {
115
+ metadata: {
116
+ names: Object.keys((0, shared_1.flattenObject)(updatedPayload.metadata)),
117
+ },
118
+ name: "metadata",
119
+ },
120
+ id: updatedAsset._id,
121
+ timestamp: Date.now(),
122
+ },
123
+ ]);
124
+ await this.app.trigger("device-manager:asset:update:after", {
125
+ asset: updatedAsset,
126
+ metadata: updatedPayload.metadata,
127
+ });
128
+ return updatedAsset;
129
+ });
130
+ }
131
+ /**
132
+ * Create an asset metadata
133
+ */
134
+ async create(engineId, model, reference, metadata, request) {
68
135
  const assetId = AssetSerializer_1.AssetSerializer.id(model, reference);
69
136
  return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
70
137
  const engine = await this.getEngine(engineId);
71
- const assetModel = await (0, shared_1.ask)("ask:device-manager:model:asset:get", { engineGroup: engine.group, model });
138
+ const assetModel = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:model:asset:get", { engineGroup: engine.group, model });
72
139
  const assetMetadata = {};
73
140
  for (const metadataName of Object.keys(assetModel.asset.metadataMappings)) {
74
141
  assetMetadata[metadataName] = null;
@@ -80,13 +147,21 @@ class AssetService {
80
147
  for (const { name } of assetModel.asset.measures) {
81
148
  measures[name] = null;
82
149
  }
83
- const asset = await this.impersonatedSdk(user).document.create(engineId, plugin_1.InternalCollection.ASSETS, {
84
- linkedDevices: [],
85
- measures,
86
- metadata: { ...assetMetadata, ...metadata },
87
- model,
88
- reference,
89
- }, assetId, { refresh });
150
+ const asset = await this.createDocument(request, {
151
+ _id: assetId,
152
+ _source: {
153
+ groups: [],
154
+ lastMeasuredAt: null,
155
+ linkedDevices: [],
156
+ measures,
157
+ metadata: { ...assetMetadata, ...metadata },
158
+ model,
159
+ reference,
160
+ },
161
+ }, {
162
+ collection: plugin_1.InternalCollection.ASSETS,
163
+ engineId,
164
+ });
90
165
  await this.assetHistoryService.add(engineId, [
91
166
  {
92
167
  asset: asset._source,
@@ -103,23 +178,141 @@ class AssetService {
103
178
  return asset;
104
179
  });
105
180
  }
106
- async delete(user, engineId, assetId, { refresh, strict }) {
181
+ /**
182
+ * Delete an asset metadata
183
+ */
184
+ async delete(engineId, assetId, request) {
185
+ const user = request.getUser();
186
+ const strict = request.getBoolean("strict");
107
187
  return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
108
- const asset = await this.get(engineId, assetId);
188
+ const asset = await this.get(engineId, assetId, request);
109
189
  if (strict && asset._source.linkedDevices.length !== 0) {
110
190
  throw new kuzzle_1.BadRequestError(`Asset "${assetId}" is still linked to devices.`);
111
191
  }
112
192
  for (const { _id: deviceId } of asset._source.linkedDevices) {
113
- await (0, shared_1.ask)("ask:device-manager:device:unlink-asset", { deviceId, user });
193
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:unlink-asset", { deviceId, user });
114
194
  }
115
- await this.sdk.document.delete(engineId, plugin_1.InternalCollection.ASSETS, assetId, {
116
- refresh,
195
+ await this.deleteDocument(request, assetId, {
196
+ collection: plugin_1.InternalCollection.ASSETS,
197
+ engineId,
117
198
  });
118
199
  });
119
200
  }
120
- async search(engineId, searchBody, { from, size, scroll, lang, }) {
121
- const result = await this.sdk.document.search(engineId, plugin_1.InternalCollection.ASSETS, searchBody, { from, lang, scroll, size });
122
- return result;
201
+ async search(engineId, searchParams, request) {
202
+ return this.searchDocument(request, searchParams, {
203
+ collection: plugin_1.InternalCollection.ASSETS,
204
+ engineId,
205
+ });
206
+ }
207
+ async migrateTenant(user, assetsList, engineId, newEngineId) {
208
+ let errors = [];
209
+ let successes = [];
210
+ //Sanity check
211
+ if (assetsList.length === 0) {
212
+ throw new kuzzle_1.BadRequestError("No assets to migrate");
213
+ }
214
+ await (0, shared_1.lock)(`engine:${engineId}:${newEngineId}`, async () => {
215
+ if (!user.profileIds.includes("admin")) {
216
+ throw new kuzzle_1.BadRequestError(`User ${user._id} is not authorized to migrate assets`);
217
+ }
218
+ // check if tenant destination is in the same group
219
+ const engine = await this.getEngine(engineId);
220
+ const newEngine = await this.getEngine(newEngineId);
221
+ if (engine.group !== newEngine.group) {
222
+ throw new kuzzle_1.BadRequestError(`Engine ${newEngineId} is not in the same group as ${engineId}`);
223
+ }
224
+ //First of all, as mCreate seems to be buggy, ensure some assets don't
225
+ //already exists in the destination tenant
226
+ const assetsCheck = await this.sdk.document.mGet(newEngineId, plugin_1.InternalCollection.ASSETS, assetsList);
227
+ const assetsCheckedIdExisting = assetsCheck.successes.map((a) => a._id);
228
+ errors = [...assetsCheckedIdExisting];
229
+ //Get all assets to migrate
230
+ const assetsCheckedList = assetsList.filter((id) => !assetsCheckedIdExisting.includes(id));
231
+ if (assetsCheckedList.length === 0) {
232
+ throw new kuzzle_1.BadRequestError("All assets to migrate already exists in destination tenant.");
233
+ }
234
+ const assets = await this.sdk.document.mGet(engineId, plugin_1.InternalCollection.ASSETS, assetsCheckedList);
235
+ errors = errors.concat(...assets.errors);
236
+ if (assets.successes.length === 0) {
237
+ this.app.log.error("No assets found to migrate");
238
+ return { errors, successes };
239
+ }
240
+ //Get all the asset content, in order to create thm by batch
241
+ const assetsContent = assets.successes.map((asset) => ({
242
+ _id: asset._id,
243
+ body: asset._source,
244
+ }));
245
+ //We want to create the new asset with linked devices and groups empty
246
+ const assetsContentCopy = lodash_1.default.cloneDeep(assetsContent);
247
+ for (const asset of assetsContentCopy) {
248
+ asset.body.linkedDevices = [];
249
+ asset.body.groups = [];
250
+ }
251
+ //Even if they exist in the destination tenant, try creating them all
252
+ //using batch
253
+ const assetsCreated = await this.sdk.document.mCreate(newEngineId, plugin_1.InternalCollection.ASSETS, assetsContentCopy);
254
+ //We consider here we will return as success what we have been able
255
+ //to create, and related errors
256
+ const assetsCreatedId = assetsCreated.successes.map((a) => a._id);
257
+ const assetsNotCreatedId = assetsCreated.errors.map((a) => a.document._id);
258
+ successes = [...assetsCreatedId];
259
+ errors = errors.concat(...assetsNotCreatedId);
260
+ //Iterate over all created asset, and migrate each one
261
+ for (const asset of assetsCreated.successes) {
262
+ //We need to recover the linked devices to this asset,
263
+ //because we reset them when we create the asset
264
+ const assetOriginal = assets.successes.find((a) => a._id === asset._id);
265
+ // get linked devices to this asset, if any
266
+ const linkedDevices = assetOriginal._source.linkedDevices.map((d) => ({
267
+ _id: d._id,
268
+ measureNames: d.measureNames,
269
+ }));
270
+ // ... and iterate over this list
271
+ for (const device of linkedDevices) {
272
+ // detach linked devices from current tenant (it also unkinks asset)
273
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:detach-engine", { deviceId: device._id, user });
274
+ // ... and attach to new tenant
275
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:attach-engine", { deviceId: device._id, engineId: newEngineId, user });
276
+ // ... and link this device to the asset in the new tenant
277
+ await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:device:link-asset", {
278
+ assetId: asset._id,
279
+ deviceId: device._id,
280
+ engineId: newEngineId,
281
+ measureNames: device.measureNames,
282
+ user,
283
+ });
284
+ }
285
+ }
286
+ // Finally here, we can delete the newly create assets in the source engine !
287
+ await this.sdk.document.mDelete(engineId, plugin_1.InternalCollection.ASSETS, assetsCreatedId);
288
+ //Refresh ES indexes and collections
289
+ const collectionsToRefresh = [
290
+ {
291
+ collection: plugin_1.InternalCollection.ASSETS,
292
+ index: engineId,
293
+ },
294
+ {
295
+ collection: plugin_1.InternalCollection.DEVICES,
296
+ index: engineId,
297
+ },
298
+ {
299
+ collection: plugin_1.InternalCollection.ASSETS,
300
+ index: newEngineId,
301
+ },
302
+ {
303
+ collection: plugin_1.InternalCollection.DEVICES,
304
+ index: newEngineId,
305
+ },
306
+ {
307
+ collection: plugin_1.InternalCollection.DEVICES,
308
+ index: this.config.adminIndex,
309
+ },
310
+ ].map(({ index, collection }) => {
311
+ return this.sdk.collection.refresh(index, collection);
312
+ });
313
+ await Promise.all(collectionsToRefresh);
314
+ });
315
+ return { errors, successes };
123
316
  }
124
317
  /**
125
318
  * Replace an asset metadata
@@ -145,7 +338,7 @@ class AssetService {
145
338
  return engine._source.engine;
146
339
  }
147
340
  async refreshModel({ assetModel, }) {
148
- const engines = await (0, shared_1.ask)("ask:device-manager:engine:list", {
341
+ const engines = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:list", {
149
342
  group: assetModel.engineGroup,
150
343
  });
151
344
  const targets = engines.map((engine) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"AssetService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssetService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetService.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 { AssetService } from "./AssetService";
4
- import { ApiAssetCreateResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult } from "./types/AssetApi";
4
+ import { ApiAssetCreateResult, ApiAssetUpsertResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult, ApiAssetMigrateTenantResult, ApiAssetMetadataReplaceResult } from "./types/AssetApi";
5
5
  export declare class AssetsController {
6
6
  private plugin;
7
7
  private assetService;
@@ -10,11 +10,14 @@ export declare class AssetsController {
10
10
  private measureExporter;
11
11
  constructor(plugin: DeviceManagerPlugin, assetService: AssetService);
12
12
  get(request: KuzzleRequest): Promise<ApiAssetGetResult>;
13
+ upsert(request: KuzzleRequest): Promise<ApiAssetUpsertResult>;
13
14
  update(request: KuzzleRequest): Promise<ApiAssetUpdateResult>;
15
+ replaceMetadata(request: KuzzleRequest): Promise<ApiAssetMetadataReplaceResult>;
14
16
  create(request: KuzzleRequest): Promise<ApiAssetCreateResult>;
15
17
  delete(request: KuzzleRequest): Promise<ApiAssetDeleteResult>;
16
18
  search(request: KuzzleRequest): Promise<ApiAssetSearchResult>;
17
19
  getMeasures(request: KuzzleRequest): Promise<ApiAssetGetMeasuresResult>;
18
20
  exportMeasures(request: KuzzleRequest): Promise<any>;
19
21
  export(request: KuzzleRequest): Promise<any>;
22
+ migrateTenant(request: KuzzleRequest): Promise<ApiAssetMigrateTenantResult>;
20
23
  }
@@ -17,6 +17,12 @@ class AssetsController {
17
17
  handler: this.create.bind(this),
18
18
  http: [{ path: "device-manager/:engineId/assets", verb: "post" }],
19
19
  },
20
+ upsert: {
21
+ handler: this.upsert.bind(this),
22
+ http: [
23
+ { path: "device-manager/:engineId/assets/:_id", verb: "post" },
24
+ ],
25
+ },
20
26
  delete: {
21
27
  handler: this.delete.bind(this),
22
28
  http: [
@@ -38,6 +44,15 @@ class AssetsController {
38
44
  handler: this.update.bind(this),
39
45
  http: [{ path: "device-manager/:engineId/assets/:_id", verb: "put" }],
40
46
  },
47
+ replaceMetadata: {
48
+ handler: this.replaceMetadata.bind(this),
49
+ http: [
50
+ {
51
+ path: "device-manager/:engineId/assets/:_id/metadata",
52
+ verb: "patch",
53
+ },
54
+ ],
55
+ },
41
56
  getMeasures: {
42
57
  handler: this.getMeasures.bind(this),
43
58
  http: [
@@ -77,6 +92,15 @@ class AssetsController {
77
92
  },
78
93
  ],
79
94
  },
95
+ migrateTenant: {
96
+ handler: this.migrateTenant.bind(this),
97
+ http: [
98
+ {
99
+ path: "device-manager/:engineId/assets/_migrateTenant",
100
+ verb: "post",
101
+ },
102
+ ],
103
+ },
80
104
  },
81
105
  };
82
106
  /* eslint-enable sort-keys */
@@ -86,17 +110,29 @@ class AssetsController {
86
110
  async get(request) {
87
111
  const assetId = request.getId();
88
112
  const engineId = request.getString("engineId");
89
- const asset = await this.assetService.get(engineId, assetId);
113
+ const asset = await this.assetService.get(engineId, assetId, request);
90
114
  return AssetSerializer_1.AssetSerializer.serialize(asset);
91
115
  }
116
+ async upsert(request) {
117
+ const engineId = request.getString("engineId");
118
+ const model = request.getBodyString("model");
119
+ const reference = request.getBodyString("reference");
120
+ const metadata = request.getBodyObject("metadata");
121
+ const upsertAsset = await this.assetService.upsert(engineId, model, reference, metadata, request);
122
+ return AssetSerializer_1.AssetSerializer.serialize(upsertAsset);
123
+ }
92
124
  async update(request) {
93
125
  const assetId = request.getId();
94
126
  const engineId = request.getString("engineId");
95
127
  const metadata = request.getBodyObject("metadata");
96
- const refresh = request.getRefresh();
97
- const updatedAsset = await this.assetService.update(request.getUser(), engineId, assetId, metadata, {
98
- refresh,
99
- });
128
+ const updatedAsset = await this.assetService.update(engineId, assetId, metadata, request);
129
+ return AssetSerializer_1.AssetSerializer.serialize(updatedAsset);
130
+ }
131
+ async replaceMetadata(request) {
132
+ const assetId = request.getId();
133
+ const engineId = request.getString("engineId");
134
+ const metadata = request.getBodyObject("metadata");
135
+ const updatedAsset = await this.assetService.replaceMetadata(engineId, assetId, metadata, request);
100
136
  return AssetSerializer_1.AssetSerializer.serialize(updatedAsset);
101
137
  }
102
138
  async create(request) {
@@ -104,33 +140,16 @@ class AssetsController {
104
140
  const model = request.getBodyString("model");
105
141
  const reference = request.getBodyString("reference");
106
142
  const metadata = request.getBodyObject("metadata", {});
107
- const refresh = request.getRefresh();
108
- const asset = await this.assetService.create(request.getUser(), engineId, model, reference, metadata, {
109
- refresh,
110
- });
143
+ const asset = await this.assetService.create(engineId, model, reference, metadata, request);
111
144
  return AssetSerializer_1.AssetSerializer.serialize(asset);
112
145
  }
113
146
  async delete(request) {
114
147
  const engineId = request.getString("engineId");
115
148
  const assetId = request.getId();
116
- const refresh = request.getRefresh();
117
- const strict = request.getBoolean("strict");
118
- await this.assetService.delete(request.getUser(), engineId, assetId, {
119
- refresh,
120
- strict,
121
- });
149
+ await this.assetService.delete(engineId, assetId, request);
122
150
  }
123
151
  async search(request) {
124
- const engineId = request.getString("engineId");
125
- const { searchBody, from, size, scrollTTL: scroll, } = request.getSearchParams();
126
- const lang = request.getLangParam();
127
- const result = await this.assetService.search(engineId, searchBody, {
128
- from,
129
- lang,
130
- scroll,
131
- size,
132
- });
133
- return result;
152
+ return this.assetService.search(request.getString("engineId"), request.getSearchParams(), request);
134
153
  }
135
154
  async getMeasures(request) {
136
155
  const id = request.getId();
@@ -244,6 +263,13 @@ class AssetsController {
244
263
  });
245
264
  return { link };
246
265
  }
266
+ async migrateTenant(request) {
267
+ const assetsList = request.getBodyArray("assetsList");
268
+ const engineId = request.getString("engineId");
269
+ const newEngineId = request.getBodyString("newEngineId");
270
+ const { errors, successes } = await this.assetService.migrateTenant(request.getUser(), assetsList, engineId, newEngineId);
271
+ return { errors, successes };
272
+ }
247
273
  }
248
274
  exports.AssetsController = AssetsController;
249
275
  //# sourceMappingURL=AssetsController.js.map