kuzzle-device-manager 3.0.0-3-dev.19 → 3.0.0-3-dev.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 (118) hide show
  1. package/dist/bin/migration/migrate-tenant-classes.d.ts +2 -0
  2. package/dist/bin/migration/migrate-tenant-classes.js +133 -0
  3. package/dist/bin/migration/migrate-tenant-classes.js.map +1 -0
  4. package/dist/lib/modules/asset/AssetHistoryService.d.ts +1 -1
  5. package/dist/lib/modules/asset/AssetHistoryService.js +3 -3
  6. package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
  7. package/dist/lib/modules/asset/AssetService.d.ts +18 -12
  8. package/dist/lib/modules/asset/AssetService.js +115 -115
  9. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  10. package/dist/lib/modules/asset/AssetsController.d.ts +1 -1
  11. package/dist/lib/modules/asset/AssetsController.js +72 -74
  12. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  13. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.d.ts +1 -0
  14. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +2 -0
  15. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
  16. package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +1 -0
  17. package/dist/lib/modules/asset/roles/RoleAssetsReader.js +2 -0
  18. package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
  19. package/dist/lib/modules/asset/types/AssetApi.d.ts +6 -6
  20. package/dist/lib/modules/asset/types/AssetEvents.d.ts +1 -1
  21. package/dist/lib/modules/decoder/PayloadService.js +16 -16
  22. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  23. package/dist/lib/modules/device/DeviceService.d.ts +11 -11
  24. package/dist/lib/modules/device/DeviceService.js +86 -86
  25. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  26. package/dist/lib/modules/device/DevicesController.js +60 -64
  27. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  28. package/dist/lib/modules/device/collections/deviceMappings.js +2 -2
  29. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  30. package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +1 -0
  31. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +2 -0
  32. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -1
  33. package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +1 -0
  34. package/dist/lib/modules/device/roles/RoleDevicesReader.js +2 -0
  35. package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
  36. package/dist/lib/modules/device/types/DeviceApi.d.ts +2 -2
  37. package/dist/lib/modules/device/types/DeviceContent.d.ts +2 -2
  38. package/dist/lib/modules/device/types/DeviceEvents.d.ts +1 -1
  39. package/dist/lib/modules/group/GroupsController.d.ts +3 -3
  40. package/dist/lib/modules/group/GroupsController.js +66 -66
  41. package/dist/lib/modules/group/GroupsController.js.map +1 -1
  42. package/dist/lib/modules/group/GroupsService.d.ts +19 -14
  43. package/dist/lib/modules/group/GroupsService.js +103 -64
  44. package/dist/lib/modules/group/GroupsService.js.map +1 -1
  45. package/dist/lib/modules/group/index.d.ts +1 -0
  46. package/dist/lib/modules/group/index.js +1 -0
  47. package/dist/lib/modules/group/index.js.map +1 -1
  48. package/dist/lib/modules/group/roles/RoleGroupsAdmin.d.ts +1 -0
  49. package/dist/lib/modules/group/roles/RoleGroupsAdmin.js +2 -0
  50. package/dist/lib/modules/group/roles/RoleGroupsAdmin.js.map +1 -1
  51. package/dist/lib/modules/group/roles/RoleGroupsReader.d.ts +1 -0
  52. package/dist/lib/modules/group/roles/RoleGroupsReader.js +2 -0
  53. package/dist/lib/modules/group/roles/RoleGroupsReader.js.map +1 -1
  54. package/dist/lib/modules/group/types/GroupEvents.d.ts +8 -0
  55. package/dist/lib/modules/group/types/GroupEvents.js +3 -0
  56. package/dist/lib/modules/group/types/GroupEvents.js.map +1 -0
  57. package/dist/lib/modules/group/types/GroupsApi.d.ts +1 -1
  58. package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -5
  59. package/dist/lib/modules/measure/MeasureExporter.js +20 -20
  60. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
  61. package/dist/lib/modules/measure/MeasureService.d.ts +2 -2
  62. package/dist/lib/modules/measure/MeasureService.js +5 -5
  63. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  64. package/dist/lib/modules/measure/MeasureTargetBuilder.d.ts +1 -1
  65. package/dist/lib/modules/measure/MeasureTargetBuilder.js +2 -2
  66. package/dist/lib/modules/measure/MeasureTargetBuilder.js.map +1 -1
  67. package/dist/lib/modules/measure/types/MeasureTarget.d.ts +1 -1
  68. package/dist/lib/modules/measure/types/MeasureTarget.js +1 -1
  69. package/dist/lib/modules/measure/types/MeasureTarget.js.map +1 -1
  70. package/dist/lib/modules/model/MetadataReferential.d.ts +119 -0
  71. package/dist/lib/modules/model/MetadataReferential.js +342 -0
  72. package/dist/lib/modules/model/MetadataReferential.js.map +1 -0
  73. package/dist/lib/modules/model/ModelSerializer.js +13 -13
  74. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  75. package/dist/lib/modules/model/ModelService.d.ts +120 -22
  76. package/dist/lib/modules/model/ModelService.js +548 -263
  77. package/dist/lib/modules/model/ModelService.js.map +1 -1
  78. package/dist/lib/modules/model/ModelsConflicts.d.ts +23 -0
  79. package/dist/lib/modules/model/ModelsConflicts.js +54 -4
  80. package/dist/lib/modules/model/ModelsConflicts.js.map +1 -1
  81. package/dist/lib/modules/model/ModelsController.d.ts +11 -2
  82. package/dist/lib/modules/model/ModelsController.js +151 -54
  83. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  84. package/dist/lib/modules/model/ModelsRegister.d.ts +37 -5
  85. package/dist/lib/modules/model/ModelsRegister.js +107 -9
  86. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  87. package/dist/lib/modules/model/collections/modelsMappings.js +15 -1
  88. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  89. package/dist/lib/modules/model/types/ModelApi.d.ts +105 -14
  90. package/dist/lib/modules/model/types/ModelContent.d.ts +73 -7
  91. package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
  92. package/dist/lib/modules/model/types/ModelDefinition.d.ts +6 -3
  93. package/dist/lib/modules/model/types/ModelEvents.d.ts +9 -4
  94. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +58 -25
  95. package/dist/lib/modules/plugin/DeviceManagerEngine.js +184 -88
  96. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  97. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +46 -4
  98. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +72 -9
  99. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  100. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +11 -0
  101. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +8 -8
  102. package/dist/lib/modules/shared/services/AbstractExporter.js +9 -9
  103. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  104. package/dist/lib/modules/shared/services/BaseService.d.ts +7 -7
  105. package/dist/lib/modules/shared/services/BaseService.js +20 -17
  106. package/dist/lib/modules/shared/services/BaseService.js.map +1 -1
  107. package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +3 -3
  108. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +18 -18
  109. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  110. package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +8 -8
  111. package/dist/lib/modules/shared/services/DigitalTwinService.js +39 -39
  112. package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -1
  113. package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +1 -1
  114. package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +2 -2
  115. package/dist/lib/modules/shared/utils/lock.d.ts +7 -1
  116. package/dist/lib/modules/shared/utils/lock.js +2 -2
  117. package/dist/lib/modules/shared/utils/lock.js.map +1 -1
  118. package/package.json +3 -2
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,133 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /* eslint-disable no-console */
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ /**
6
+ * Renames the `engineGroups` field of the model documents to `tenantClasses`,
7
+ * then updates every device-manager engine so the tenant collections get the
8
+ * mappings of the migrated models.
9
+ *
10
+ * Run it against a Kuzzle that already runs the new Device Manager version.
11
+ * See doc/3/guides/rename-engine-groups-to-tenant-classes.
12
+ */
13
+ const kuzzle_sdk_1 = require("kuzzle-sdk");
14
+ const args = {};
15
+ for (const val of process.argv.slice(2)) {
16
+ if (val.startsWith("--")) {
17
+ const [key, ...value] = val.slice(2).split("=");
18
+ args[key] = value.length > 0 ? value.join("=") : true;
19
+ }
20
+ }
21
+ function option(name, env, defaultValue) {
22
+ const value = args[name] ?? process.env[env] ?? defaultValue;
23
+ return typeof value === "string" ? value : undefined;
24
+ }
25
+ const host = option("host", "KUZZLE_HOST", "localhost");
26
+ const port = Number(option("port", "KUZZLE_PORT", "7512"));
27
+ const protocol = option("protocol", "KUZZLE_PROTOCOL", "websocket");
28
+ const ssl = args.ssl === true || process.env.KUZZLE_SSL === "true";
29
+ const username = option("username", "KUZZLE_USERNAME");
30
+ const password = option("password", "KUZZLE_PASSWORD");
31
+ const platformIndex = option("platform-index", "PLATFORM_INDEX", "device-manager");
32
+ const dryRun = args["dry-run"] === true;
33
+ const skipEngines = args["skip-engines"] === true;
34
+ const MODELS = "models";
35
+ const CHUNK_SIZE = 200;
36
+ async function connect() {
37
+ const Protocol = protocol === "http" ? kuzzle_sdk_1.Http : kuzzle_sdk_1.WebSocket;
38
+ const sdk = new kuzzle_sdk_1.Kuzzle(new Protocol(host, { port, ssl }));
39
+ await sdk.connect();
40
+ if (username) {
41
+ await sdk.auth.login("local", { password, username });
42
+ }
43
+ return sdk;
44
+ }
45
+ async function assertNewMappings(sdk) {
46
+ const mappings = await sdk.collection.getMapping(platformIndex, MODELS);
47
+ if (!mappings.properties?.tenantClasses) {
48
+ throw new Error(`The "${platformIndex}:${MODELS}" collection has no "tenantClasses" field. ` +
49
+ "Start Kuzzle with the new Device Manager version before running this script.");
50
+ }
51
+ }
52
+ async function fetchLegacyModels(sdk) {
53
+ const documents = [];
54
+ let result = await sdk.document.search(platformIndex, MODELS, { query: { exists: { field: "engineGroups" } } }, { lang: "elasticsearch", scroll: "1m", size: CHUNK_SIZE });
55
+ while (result) {
56
+ documents.push(...result.hits);
57
+ result = await result.next();
58
+ }
59
+ return documents;
60
+ }
61
+ async function migrateModels(sdk) {
62
+ const legacyModels = await fetchLegacyModels(sdk);
63
+ console.info(`${legacyModels.length} model(s) still use "engineGroups"`);
64
+ const documents = legacyModels.map(({ _id, _source }) => {
65
+ const { engineGroups, ...body } = _source;
66
+ delete body._kuzzle_info;
67
+ // A model registered by the application at startup may already have
68
+ // been rewritten with `tenantClasses`: the new value wins.
69
+ body.tenantClasses ?? (body.tenantClasses = engineGroups);
70
+ console.info(` ${_id}: ${JSON.stringify(body.tenantClasses)}`);
71
+ return { _id, body };
72
+ });
73
+ if (dryRun) {
74
+ return;
75
+ }
76
+ for (let i = 0; i < documents.length; i += CHUNK_SIZE) {
77
+ const { errors } = await sdk.document.mReplace(platformIndex, MODELS, documents.slice(i, i + CHUNK_SIZE), { refresh: "wait_for" });
78
+ if (errors.length > 0) {
79
+ for (const error of errors) {
80
+ console.error(` Cannot migrate ${error.document._id}: ${error.reason}`);
81
+ }
82
+ throw new Error(`${errors.length} model(s) could not be migrated`);
83
+ }
84
+ }
85
+ const remaining = await sdk.document.count(platformIndex, MODELS, {
86
+ query: { exists: { field: "engineGroups" } },
87
+ });
88
+ if (remaining > 0) {
89
+ throw new Error(`${remaining} model(s) still use "engineGroups"`);
90
+ }
91
+ }
92
+ async function updateEngines(sdk) {
93
+ const { result } = await sdk.query({
94
+ action: "list",
95
+ controller: "device-manager/engine",
96
+ });
97
+ const engines = result.engines;
98
+ console.info(`Updating ${engines.length} engine(s)`);
99
+ for (const engine of engines) {
100
+ console.info(` ${engine.index} (${engine.group})`);
101
+ if (dryRun) {
102
+ continue;
103
+ }
104
+ await sdk.query({
105
+ action: "update",
106
+ controller: "device-manager/engine",
107
+ group: engine.group,
108
+ index: engine.index,
109
+ });
110
+ }
111
+ }
112
+ async function run() {
113
+ const sdk = await connect();
114
+ try {
115
+ if (dryRun) {
116
+ console.info("Dry run: nothing will be written");
117
+ }
118
+ await assertNewMappings(sdk);
119
+ await migrateModels(sdk);
120
+ if (!skipEngines) {
121
+ await updateEngines(sdk);
122
+ }
123
+ console.info("Done");
124
+ }
125
+ finally {
126
+ sdk.disconnect();
127
+ }
128
+ }
129
+ run().catch((error) => {
130
+ console.error(error.message ?? error);
131
+ process.exitCode = 1;
132
+ });
133
+ //# sourceMappingURL=migrate-tenant-classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-tenant-classes.js","sourceRoot":"","sources":["../../../bin/migration/migrate-tenant-classes.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ import { KuzzleLogger } from "kuzzle-logger";
5
5
  export declare class AssetHistoryService extends BaseService {
6
6
  readonly logger: KuzzleLogger;
7
7
  constructor(plugin: DeviceManagerPlugin, assetLogger: KuzzleLogger);
8
- add<TAssetHistoryEvent extends AssetHistoryEvent>(engineId: string, histories: AssetHistoryContent[]): Promise<void>;
8
+ add<TAssetHistoryEvent extends AssetHistoryEvent>(index: string, histories: AssetHistoryContent[]): Promise<void>;
9
9
  }
@@ -8,9 +8,9 @@ class AssetHistoryService extends shared_1.BaseService {
8
8
  constructor(plugin, assetLogger) {
9
9
  super(plugin);
10
10
  this.logger = assetLogger;
11
- (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:asset:history:add", async ({ engineId, histories }) => this.add(engineId, histories));
11
+ (0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:asset:history:add", async ({ index, histories }) => this.add(index, histories));
12
12
  }
13
- async add(engineId, histories) {
13
+ async add(index, histories) {
14
14
  const contents = [];
15
15
  for (const { asset, event, id, timestamp } of histories) {
16
16
  contents.push({
@@ -22,7 +22,7 @@ class AssetHistoryService extends shared_1.BaseService {
22
22
  },
23
23
  });
24
24
  }
25
- await this.sdk.document.mCreate(engineId, plugin_1.InternalCollection.ASSETS_HISTORY, contents, { strict: true });
25
+ await this.sdk.document.mCreate(index, plugin_1.InternalCollection.ASSETS_HISTORY, contents, { strict: true });
26
26
  }
27
27
  }
28
28
  exports.AssetHistoryService = AssetHistoryService;
@@ -1 +1 @@
1
- {"version":3,"file":"AssetHistoryService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetHistoryService.ts"],"names":[],"mappings":";;;AAAA,iEAA8C;AAG9C,sCAAoE;AACpE,sCAAwC;AASxC,MAAa,mBAAoB,SAAQ,oBAAW;IAElD,YAAY,MAA2B,EAAE,WAAyB;QAChE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,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;AArCD,kDAqCC"}
1
+ {"version":3,"file":"AssetHistoryService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetHistoryService.ts"],"names":[],"mappings":";;;AAAA,iEAA8C;AAG9C,sCAAoE;AACpE,sCAAwC;AASxC,MAAa,mBAAoB,SAAQ,oBAAW;IAElD,YAAY,MAA2B,EAAE,WAAyB;QAChE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAA,6BAAK,EACH,sCAAsC,EACtC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CACP,KAAa,EACb,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,KAAK,EACL,2BAAkB,CAAC,cAAc,EACjC,QAAQ,EACR,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;IACJ,CAAC;CACF;AArCD,kDAqCC"}
@@ -11,35 +11,35 @@ export declare class AssetService extends DigitalTwinService {
11
11
  readonly logger: KuzzleLogger;
12
12
  constructor(plugin: DeviceManagerPlugin, assetHistoryService: AssetHistoryService, assetLogger: KuzzleLogger);
13
13
  registerAskEvents(): void;
14
- get(engineId: string, assetId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
14
+ get(index: string, assetId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
15
15
  /**
16
16
  * Update an asset metadata
17
17
  */
18
- update(engineId: string, assetId: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
18
+ update(index: string, assetId: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
19
19
  /**
20
20
  * Replace an asset metadata
21
21
  */
22
- replaceMetadata(engineId: string, assetId: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
22
+ replaceMetadata(index: string, assetId: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
23
23
  /**
24
24
  * Update or Create an asset metadata
25
25
  */
26
- upsert(engineId: string, model: string, reference: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
26
+ upsert(index: string, model: string, reference: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
27
27
  private _create;
28
28
  /**
29
29
  * Create an asset metadata
30
30
  */
31
- create(engineId: string, model: string, reference: string, metadata: JSONObject, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
31
+ create(index: string, model: string, reference: string, metadata: JSONObject, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
32
32
  /**
33
33
  * Delete an asset metadata
34
34
  */
35
- delete(engineId: string, assetId: string, request: KuzzleRequest): Promise<void>;
36
- search(engineId: string, searchParams: SearchParams, request: KuzzleRequest): Promise<SearchResult<KHit<AssetContent>>>;
35
+ delete(index: string, assetId: string, request: KuzzleRequest): Promise<void>;
36
+ search(index: string, searchParams: SearchParams, request: KuzzleRequest): Promise<SearchResult<KHit<AssetContent>>>;
37
37
  unlinkDevices(assetId: string, allMeasures: boolean, deviceIds: string[], measureSlots: string[], request: KuzzleRequest): Promise<ApiAssetUnlinkDevicesResult>;
38
- migrateTenant(user: User, assetsList: string[], engineId: string, newEngineId: string, includeDevices: boolean, request: KuzzleRequest): Promise<ApiAssetMigrateTenantResult>;
38
+ migrateTenant(user: User, assetsList: string[], index: string, newIndex: string, includeDevices: boolean, request: KuzzleRequest): Promise<ApiAssetMigrateTenantResult>;
39
39
  /**
40
40
  * Replace an asset metadata
41
41
  */
42
- mReplaceAndHistorize(engineId: string, assets: KDocument<AssetContent>[], removedMetadata: string[], { refresh }: {
42
+ mReplaceAndHistorize(index: string, assets: KDocument<AssetContent>[], removedMetadata: string[], { refresh }: {
43
43
  refresh: any;
44
44
  }): Promise<mReplaceResponse>;
45
45
  /**
@@ -49,13 +49,19 @@ export declare class AssetService extends DigitalTwinService {
49
49
  * @param model
50
50
  */
51
51
  updateModelLocales(request: KuzzleRequest, model: string): Promise<ApiAssetUpdateModelLocales[]>;
52
- addMeasureSlot(assetId: string, measureSlot: AssetContent["measureSlots"][0], engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
53
- removeMeasureSlot(assetId: string, measureSlotName: string, engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
52
+ addMeasureSlot(assetId: string, measureSlot: AssetContent["measureSlots"][0], index: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
53
+ removeMeasureSlot(assetId: string, measureSlotName: string, index: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
54
54
  /**
55
55
  * Update the display name of a measure slot on an asset
56
56
  */
57
57
  updateMeasureSlotDisplayName(assetId: string, measureSlotName: string, displayName: {
58
58
  [locale: string]: string;
59
- }, engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
59
+ }, index: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
60
60
  private refreshModel;
61
+ /**
62
+ * Lists the engines whose assets use the given model:
63
+ * the model indexes for a tenant-scoped model, every engine for a commons model,
64
+ * and the engines of the model tenantClasses otherwise.
65
+ */
66
+ private getModelEngines;
61
67
  }