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
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.ModelsRegister = void 0;
4
7
  const kuzzle_1 = require("kuzzle");
@@ -8,12 +11,16 @@ const AJValidator_1 = require("../shared/utils/AJValidator");
8
11
  const SchemaValidationError_1 = require("../shared/errors/SchemaValidationError");
9
12
  const MeasuresDuplicates_1 = require("./MeasuresDuplicates");
10
13
  const MeasuresNamesDuplicatesError_1 = require("./MeasuresNamesDuplicatesError");
14
+ const MetadataReferential_1 = require("./MetadataReferential");
15
+ const kuzzle_plugin_commons_1 = require("kuzzle-plugin-commons");
16
+ const lodash_1 = __importDefault(require("lodash"));
11
17
  class ModelsRegister {
12
18
  constructor() {
13
19
  this.assetModels = [];
14
20
  this.deviceModels = [];
15
21
  this.groupModels = [];
16
22
  this.measureModels = [];
23
+ this.metadataReferential = {};
17
24
  }
18
25
  get sdk() {
19
26
  return this.context.accessors.sdk;
@@ -24,18 +31,109 @@ class ModelsRegister {
24
31
  this.logger = this.context.logger.child("models-module:register");
25
32
  }
26
33
  async loadModels() {
34
+ const referential = await this.loadMetadataReferential();
27
35
  await Promise.all([
28
- this.load("asset", this.assetModels),
29
- this.load("device", this.deviceModels),
30
- this.load("group", this.groupModels),
36
+ this.load("asset", this.resolveModels(referential, this.assetModels)),
37
+ this.load("device", this.resolveModels(referential, this.deviceModels)),
38
+ this.load("group", this.resolveModels(referential, this.groupModels)),
31
39
  this.load("measure", this.measureModels),
32
40
  ]);
33
41
  await this.sdk.collection.refresh(this.config.platformIndex, plugin_1.InternalCollection.MODELS);
34
42
  }
43
+ /**
44
+ * Merges the metadata registered from code over the stored metadata referential and saves it.
45
+ * Metadata added through the API are kept, the details of metadata registered from code win.
46
+ *
47
+ * @throws PluginImplementationError if the mappings of a stored metadata are modified, or if a new
48
+ * metadata conflicts with the stored models or the engines collections mappings
49
+ */
50
+ async loadMetadataReferential() {
51
+ const stored = await (0, MetadataReferential_1.fetchMetadataReferential)(this.sdk, this.config.platformIndex);
52
+ const added = Object.keys(this.metadataReferential).filter((name) => !stored[name]);
53
+ for (const [name, entry] of Object.entries(this.metadataReferential)) {
54
+ if (stored[name] && !lodash_1.default.isEqual(stored[name].mappings, entry.mappings)) {
55
+ throw new kuzzle_1.PluginImplementationError(`The mappings of metadata "${name}" cannot be modified, they are already merged into the engines collections`);
56
+ }
57
+ }
58
+ await this.checkNewMetadata(added);
59
+ // ? Only the metadata still registered from code are managed, the others become editable through the API
60
+ const referential = {
61
+ ...lodash_1.default.mapValues(stored, (entry) => lodash_1.default.omit(entry, "managed")),
62
+ ...lodash_1.default.mapValues(this.metadataReferential, (entry) => ({
63
+ ...entry,
64
+ managed: true,
65
+ })),
66
+ };
67
+ if (!lodash_1.default.isEqual(stored, referential)) {
68
+ await (0, MetadataReferential_1.saveMetadataReferential)(this.sdk, this.config.platformIndex, referential);
69
+ }
70
+ this.logger.info(`Successfully load metadata referential: ${Object.keys(referential).join(", ")}`);
71
+ return referential;
72
+ }
73
+ /**
74
+ * Checks the metadata registered from code that are not in the stored referential yet
75
+ * against the inline metadata of the stored models and the engines collections mappings
76
+ *
77
+ * @throws PluginImplementationError on a conflict
78
+ */
79
+ async checkNewMetadata(names) {
80
+ if (names.length === 0) {
81
+ return;
82
+ }
83
+ const models = (await (0, MetadataReferential_1.fetchMetadataModels)(this.sdk, this.config.platformIndex)).map(({ _source }) => _source);
84
+ const conflicts = [];
85
+ for (const name of names) {
86
+ conflicts.push(...(0, MetadataReferential_1.getEntryModelsConflicts)(name, this.metadataReferential[name], models));
87
+ }
88
+ conflicts.push(...(await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:doesMetadataConflict", {
89
+ metadataMappings: lodash_1.default.mapValues(lodash_1.default.pick(this.metadataReferential, names), (entry) => entry.mappings),
90
+ })));
91
+ if (conflicts.length > 0) {
92
+ throw new kuzzle_1.PluginImplementationError(`Metadata registered from code conflict with the existing mappings: ${JSON.stringify(conflicts)}`);
93
+ }
94
+ }
95
+ /**
96
+ * Validates the metadata of models registered from code against the metadata referential
97
+ * and enriches the details and default values of the metadata coming from it
98
+ */
99
+ resolveModels(referential, models) {
100
+ return models.map((content) => {
101
+ const twin = content[content.type];
102
+ const { fields, warnings } = (0, MetadataReferential_1.enrichModelMetadata)(referential, twin, {
103
+ createError: (message) => new kuzzle_1.PluginImplementationError(message),
104
+ model: twin.model,
105
+ modelType: content.type,
106
+ });
107
+ // ? Only logged, rejecting would prevent the application from starting
108
+ for (const warning of warnings) {
109
+ this.logger.warn(warning);
110
+ }
111
+ return { ...content, [content.type]: { ...twin, ...fields } };
112
+ });
113
+ }
114
+ /**
115
+ * Registers a metadata in the metadata referential.
116
+ * Asset, device and group models can then use it with `{ referential: true }` in their metadataMappings.
117
+ * Its mappings cannot be modified once loaded, they are merged into the engines collections.
118
+ * Registering again an identical definition is allowed, so several modules can share a metadata.
119
+ *
120
+ * @param name - Name of the metadata
121
+ * @param definition - Mappings, default translations, editor hint, default value and icon of the metadata
122
+ * @throws PluginImplementationError if the metadata is invalid or already registered with another definition
123
+ */
124
+ registerMetadata(name, definition) {
125
+ (0, MetadataReferential_1.checkMetadataReferentialEntry)(name, definition, (message) => new kuzzle_1.PluginImplementationError(message));
126
+ const entry = { locales: {}, ...lodash_1.default.omit(definition, "managed") };
127
+ const registered = this.metadataReferential[name];
128
+ if (registered && !lodash_1.default.isEqual(registered, entry)) {
129
+ throw new kuzzle_1.PluginImplementationError(`Metadata "${name}" is already registered in the metadata referential with another definition`);
130
+ }
131
+ this.metadataReferential[name] = entry;
132
+ }
35
133
  /**
36
134
  * Registers an asset model.
37
135
  *
38
- * @param engineGroups - The engine group names.
136
+ * @param tenantClasses - The tenant class names.
39
137
  * @param model - The name of the asset model, which must be in PascalCase.
40
138
  * @param measures - The measures associated with this asset model.
41
139
  * @param metadataMappings - The metadata mappings for the model, defaults to an empty object.
@@ -46,7 +144,7 @@ class ModelsRegister {
46
144
  * @param icon - Optional icon representing the model.
47
145
  * @throws PluginImplementationError if the model name is not in PascalCase.
48
146
  */
49
- registerAsset(engineGroups, model, measures, metadataMappings = {}, defaultMetadata = {}, metadataDetails = {}, metadataGroups = {}, tooltipModels = {}, locales = {}, icon) {
147
+ registerAsset(tenantClasses, model, measures, metadataMappings = {}, defaultMetadata = {}, metadataDetails = {}, metadataGroups = {}, tooltipModels = {}, locales = {}, icon) {
50
148
  if (kuzzle_1.Inflector.pascalCase(model) !== model) {
51
149
  throw new kuzzle_1.PluginImplementationError(`Asset model "${model}" must be PascalCase`);
52
150
  }
@@ -67,7 +165,7 @@ class ModelsRegister {
67
165
  model,
68
166
  tooltipModels,
69
167
  },
70
- engineGroups,
168
+ tenantClasses,
71
169
  type: "asset",
72
170
  });
73
171
  }
@@ -109,7 +207,7 @@ class ModelsRegister {
109
207
  * Registers a group model.
110
208
  *
111
209
  *
112
- * @param engineGroups - The engine group names.
210
+ * @param tenantClasses - The tenant class names.
113
211
  * @param model - The name of the group model, which must be in PascalCase.
114
212
  * @param affinity - The type of object accepted and their model affinity.
115
213
  * @param metadataMappings - The metadata mappings for the model, defaults to an empty object.
@@ -120,13 +218,13 @@ class ModelsRegister {
120
218
  * @param locales - Optional translations specific to the model.
121
219
  * @throws PluginImplementationError if the model name is not in PascalCase.
122
220
  */
123
- registerGroup(engineGroups, model, affinity, metadataMappings = {}, defaultMetadata = {}, metadataDetails = {}, metadataGroups = {}, icon, locales = {}) {
221
+ registerGroup(tenantClasses, model, affinity, metadataMappings = {}, defaultMetadata = {}, metadataDetails = {}, metadataGroups = {}, icon, locales = {}) {
124
222
  if (kuzzle_1.Inflector.pascalCase(model) !== model) {
125
223
  throw new kuzzle_1.PluginImplementationError(`Group model "${model}" must be PascalCase`);
126
224
  }
127
225
  // Construct and push the new group model to the groupModels array
128
226
  this.groupModels.push({
129
- engineGroups,
227
+ tenantClasses,
130
228
  group: {
131
229
  affinity,
132
230
  defaultMetadata,
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsRegister.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsRegister.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelsRegister.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsRegister.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,22 @@ exports.modelsMappings = {
9
9
  dynamic: "strict",
10
10
  properties: {
11
11
  type: { type: "keyword" },
12
- engineGroups: { type: "keyword" },
12
+ tenantClasses: { type: "keyword" },
13
+ indexes: { type: "keyword" },
14
+ /**
15
+ * @deprecated Former name of `indexes`. Kept in the mapping so the documents
16
+ * written before the rename stay valid under the strict mapping; their
17
+ * values are moved to `indexes` at startup (see
18
+ * `DeviceManagerPlugin.migrateModelIndexes`), after which nothing writes it.
19
+ */
13
20
  engineIds: { type: "keyword" },
21
+ /**
22
+ * Metadata referential
23
+ */
24
+ metadata: {
25
+ dynamic: "false",
26
+ properties: {},
27
+ },
14
28
  /**
15
29
  * Measure model
16
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"modelsMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/model/collections/modelsMappings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modelsMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/model/collections/modelsMappings.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { JSONObject, KDocument, KHit, SearchResult } from "kuzzle-sdk";
2
- import { AssetModelContent, DeviceModelContent, GroupAffinity, GroupModelContent, LocaleDetails, MeasureModelContent, MetadataDetails, MetadataGroups, MetadataMappings, TooltipModels } from "./ModelContent";
2
+ import { AssetModelContent, DeviceModelContent, GroupAffinity, GroupModelContent, LocaleDetails, MeasureModelContent, MetadataDetails, MetadataGroups, MetadataMappings, MetadataReferential, MetadataReferentialEntry, TooltipModels } from "./ModelContent";
3
3
  import { SchemaObject } from "ajv";
4
4
  import { MeasureValuesDetails } from "../../measure/types/MeasureDefinition";
5
5
  interface ModelsControllerRequest {
@@ -8,30 +8,45 @@ interface ModelsControllerRequest {
8
8
  export interface ApiModelGetAssetRequest extends ModelsControllerRequest {
9
9
  action: "getAsset";
10
10
  model: string;
11
- engineGroups: string[];
11
+ tenantClasses: string[];
12
+ /**
13
+ * Returns the stored model, without resolving its referential metadata
14
+ */
15
+ rawModel?: boolean;
12
16
  }
13
17
  export type ApiModelGetAssetResult = KDocument<AssetModelContent>;
14
18
  export interface ApiModelGetDeviceRequest extends ModelsControllerRequest {
15
19
  action: "getDevice";
16
20
  model: string;
21
+ /**
22
+ * Returns the stored model, without resolving its referential metadata
23
+ */
24
+ rawModel?: boolean;
17
25
  }
18
26
  export type ApiModelGetDeviceResult = KDocument<DeviceModelContent>;
19
27
  export interface ApiModelGetGroupRequest extends ModelsControllerRequest {
20
28
  action: "getGroup";
21
29
  model: string;
30
+ /**
31
+ * Returns the stored model, without resolving its referential metadata
32
+ */
33
+ rawModel?: boolean;
22
34
  }
23
35
  export type ApiModelGetGroupResult = KDocument<GroupModelContent>;
24
36
  export interface ApiModelGetMeasureRequest extends ModelsControllerRequest {
25
37
  action: "getMeasure";
26
38
  type: string;
27
- engineId?: string;
39
+ index?: string;
28
40
  }
29
41
  export type ApiModelGetMeasureResult = KDocument<MeasureModelContent>;
30
42
  export interface ApiModelWriteAssetRequest extends ModelsControllerRequest {
31
43
  action: "writeAsset";
32
44
  body: {
33
- engineGroups: string[];
34
- engineIds?: string[];
45
+ /**
46
+ * Mutually exclusive with `indexes`
47
+ */
48
+ tenantClasses?: string[];
49
+ indexes?: string[];
35
50
  model: string;
36
51
  icon?: string;
37
52
  metadataDetails?: MetadataDetails;
@@ -63,7 +78,7 @@ export interface ApiModelWriteGroupRequest extends ModelsControllerRequest {
63
78
  action: "writeGroup";
64
79
  body: {
65
80
  affinity: GroupAffinity;
66
- engineGroups: string[];
81
+ tenantClasses: string[];
67
82
  model: string;
68
83
  icon?: string;
69
84
  metadataDetails?: MetadataDetails;
@@ -76,11 +91,48 @@ export interface ApiModelWriteGroupRequest extends ModelsControllerRequest {
76
91
  };
77
92
  }
78
93
  export type ApiModelWriteGroupResult = KDocument<GroupModelContent>;
94
+ export interface ApiModelUpdateDeviceRequest extends ModelsControllerRequest {
95
+ action: "updateDevice";
96
+ model: string;
97
+ body: {
98
+ /**
99
+ * Full set of metadata mappings: the existing ones, unchanged, and the new ones,
100
+ * which must be metadata of the referential (`{ referential: true }`)
101
+ */
102
+ metadataMappings: MetadataMappings;
103
+ /**
104
+ * Replaces the metadata details when present
105
+ */
106
+ metadataDetails?: MetadataDetails;
107
+ /**
108
+ * Replaces the default values when present
109
+ */
110
+ defaultValues?: JSONObject;
111
+ };
112
+ }
113
+ export type ApiModelUpdateDeviceResult = KDocument<DeviceModelContent>;
114
+ export interface ApiModelUpdateGroupRequest extends ModelsControllerRequest {
115
+ action: "updateGroup";
116
+ tenantClasses?: string[];
117
+ model: string;
118
+ body: {
119
+ affinity?: GroupAffinity;
120
+ icon?: string;
121
+ metadataDetails?: MetadataDetails;
122
+ metadataGroups?: MetadataGroups;
123
+ metadataMappings?: MetadataMappings;
124
+ defaultValues?: JSONObject;
125
+ locales?: {
126
+ [valueName: string]: LocaleDetails;
127
+ };
128
+ };
129
+ }
130
+ export type ApiModelUpdateGroupResult = KDocument<GroupModelContent>;
79
131
  export interface ApiModelWriteMeasureRequest extends ModelsControllerRequest {
80
132
  action: "writeMeasure";
81
133
  body: {
82
134
  type: string;
83
- engineIds?: string[];
135
+ indexes?: string[];
84
136
  icon?: string;
85
137
  locales?: {
86
138
  [valueName: string]: LocaleDetails;
@@ -93,7 +145,7 @@ export interface ApiModelWriteMeasureRequest extends ModelsControllerRequest {
93
145
  export type ApiModelWriteMeasureResult = KDocument<MeasureModelContent>;
94
146
  export interface ApiModelUpdateAssetRequest extends ModelsControllerRequest {
95
147
  action: "updateAsset";
96
- engineGroups: string[];
148
+ tenantClasses: string[];
97
149
  model: string;
98
150
  body: {
99
151
  icon?: string;
@@ -131,7 +183,11 @@ export interface ApiModelDeleteMeasureRequest extends ModelsControllerRequest {
131
183
  export type ApiModelDeleteMeasureResult = void;
132
184
  export interface ApiModelListAssetsRequest extends ModelsControllerRequest {
133
185
  action: "listAssets";
134
- engineGroups: string[];
186
+ tenantClasses: string[];
187
+ /**
188
+ * Returns the stored model, without resolving its referential metadata
189
+ */
190
+ rawModel?: boolean;
135
191
  }
136
192
  export type ApiModelListAssetsResult = {
137
193
  models: KDocument<AssetModelContent>[];
@@ -139,6 +195,10 @@ export type ApiModelListAssetsResult = {
139
195
  };
140
196
  export interface ApiModelListDevicesRequest extends ModelsControllerRequest {
141
197
  action: "listDevices";
198
+ /**
199
+ * Returns the stored model, without resolving its referential metadata
200
+ */
201
+ rawModel?: boolean;
142
202
  }
143
203
  export type ApiModelListDevicesResult = {
144
204
  models: KDocument<DeviceModelContent>[];
@@ -146,7 +206,11 @@ export type ApiModelListDevicesResult = {
146
206
  };
147
207
  export interface ApiModelListGroupsRequest extends ModelsControllerRequest {
148
208
  action: "listGroups";
149
- engineGroups: string[];
209
+ tenantClasses: string[];
210
+ /**
211
+ * Returns the stored model, without resolving its referential metadata
212
+ */
213
+ rawModel?: boolean;
150
214
  }
151
215
  export type ApiModelListGroupsResult = {
152
216
  models: KDocument<GroupModelContent>[];
@@ -154,7 +218,7 @@ export type ApiModelListGroupsResult = {
154
218
  };
155
219
  export interface ApiModelListMeasuresRequest extends ModelsControllerRequest {
156
220
  action: "listMeasures";
157
- engineId?: string;
221
+ index?: string;
158
222
  }
159
223
  export type ApiModelListMeasuresResult = {
160
224
  models: KDocument<MeasureModelContent>[];
@@ -162,7 +226,11 @@ export type ApiModelListMeasuresResult = {
162
226
  };
163
227
  export interface ApiModelSearchAssetsRequest extends ModelsControllerRequest {
164
228
  action: "searchAssets";
165
- engineGroups: string[];
229
+ tenantClasses: string[];
230
+ /**
231
+ * Returns the stored model, without resolving its referential metadata
232
+ */
233
+ rawModel?: boolean;
166
234
  from?: number;
167
235
  size?: number;
168
236
  scrollTTL?: string;
@@ -171,6 +239,10 @@ export interface ApiModelSearchAssetsRequest extends ModelsControllerRequest {
171
239
  export type ApiModelSearchAssetsResult = SearchResult<KHit<AssetModelContent>>;
172
240
  export interface ApiModelSearchDevicesRequest extends ModelsControllerRequest {
173
241
  action: "searchDevices";
242
+ /**
243
+ * Returns the stored model, without resolving its referential metadata
244
+ */
245
+ rawModel?: boolean;
174
246
  from?: number;
175
247
  size?: number;
176
248
  scrollTTL?: string;
@@ -179,7 +251,11 @@ export interface ApiModelSearchDevicesRequest extends ModelsControllerRequest {
179
251
  export type ApiModelSearchDevicesResult = SearchResult<KHit<DeviceModelContent>>;
180
252
  export interface ApiModelSearchGroupsRequest extends ModelsControllerRequest {
181
253
  action: "searchGroups";
182
- engineGroups: string[];
254
+ tenantClasses: string[];
255
+ /**
256
+ * Returns the stored model, without resolving its referential metadata
257
+ */
258
+ rawModel?: boolean;
183
259
  from?: number;
184
260
  size?: number;
185
261
  scrollTTL?: string;
@@ -188,11 +264,26 @@ export interface ApiModelSearchGroupsRequest extends ModelsControllerRequest {
188
264
  export type ApiModelSearchGroupsResult = SearchResult<KHit<GroupModelContent>>;
189
265
  export interface ApiModelSearchMeasuresRequest extends ModelsControllerRequest {
190
266
  action: "searchMeasures";
191
- engineId?: string;
267
+ index?: string;
192
268
  from?: number;
193
269
  size?: number;
194
270
  scrollTTL?: string;
195
271
  body?: JSONObject;
196
272
  }
197
273
  export type ApiModelSearchMeasuresResult = SearchResult<KHit<MeasureModelContent>>;
274
+ export interface ApiModelGetMetadataReferentialRequest extends ModelsControllerRequest {
275
+ action: "getMetadataReferential";
276
+ }
277
+ export type ApiModelGetMetadataReferentialResult = MetadataReferential;
278
+ export interface ApiModelWriteMetadataRequest extends ModelsControllerRequest {
279
+ action: "writeMetadata";
280
+ name: string;
281
+ body: MetadataReferentialEntry;
282
+ }
283
+ export type ApiModelWriteMetadataResult = MetadataReferential;
284
+ export interface ApiModelDeleteMetadataRequest extends ModelsControllerRequest {
285
+ action: "deleteMetadata";
286
+ name: string;
287
+ }
288
+ export type ApiModelDeleteMetadataResult = MetadataReferential;
198
289
  export {};
@@ -3,8 +3,8 @@ import { NamedMeasures } from "../../decoder";
3
3
  import { MeasureDefinition } from "../../measure";
4
4
  export interface MeasureModelContent extends KDocumentContent {
5
5
  type: "measure";
6
- engineGroups?: string[];
7
- engineIds?: string[];
6
+ tenantClasses?: string[];
7
+ indexes?: string[];
8
8
  measure: MeasureDefinition & {
9
9
  type: string;
10
10
  locales?: {
@@ -22,7 +22,20 @@ export interface MetadataObject {
22
22
  [key: string]: MetadataProperty | MetadataObject;
23
23
  };
24
24
  }
25
+ /**
26
+ * Marks, in the metadataMappings of a model, a metadata defined in the metadata referential.
27
+ * Its mappings are the referential ones, they are already merged into the engines collections.
28
+ */
29
+ export interface ReferentialMetadataMapping {
30
+ referential: true;
31
+ }
25
32
  export interface MetadataMappings {
33
+ [key: string]: MetadataProperty | MetadataObject | ReferentialMetadataMapping;
34
+ }
35
+ /**
36
+ * Metadata mappings without referential markers, as merged into the engines collections
37
+ */
38
+ export interface ResolvedMetadataMappings {
26
39
  [key: string]: MetadataProperty | MetadataObject;
27
40
  }
28
41
  export interface GroupAffinity {
@@ -95,9 +108,62 @@ export interface MetadataDetails {
95
108
  * Then add a new field in EditorHintEnum to define the type of your hint.
96
109
  * Finally add the new editor hint interface with a pipe to take in account the new type.
97
110
  */
98
- editorHint?: BaseEditorHint | OptionsSelectorEditorHint | DatetimeEditorHint;
111
+ editorHint?: EditorHint;
112
+ /**
113
+ * Icon representing the metadata.
114
+ * Free-form string, e.g. a FontAwesome icon name, a URL to a PNG/SVG image, or inline SVG markup.
115
+ */
116
+ icon?: string;
99
117
  };
100
118
  }
119
+ export type EditorHint = BaseEditorHint | OptionsSelectorEditorHint | DatetimeEditorHint;
120
+ /**
121
+ * A metadata defined once in the application metadata referential.
122
+ * Its mappings are merged into the engines collections when it is written,
123
+ * models use it with `{ referential: true }` in their metadataMappings.
124
+ */
125
+ export interface MetadataReferentialEntry {
126
+ /**
127
+ * Mappings of the metadata.
128
+ * They cannot be modified once written, as they are merged into the engines collections.
129
+ *
130
+ * @example
131
+ * { type: "keyword" }
132
+ * { properties: { name: { type: "keyword" } } }
133
+ */
134
+ mappings: MetadataProperty | MetadataObject;
135
+ /**
136
+ * Default translations of the metadata, copied into the metadataDetails of a model using it
137
+ */
138
+ locales: {
139
+ [locale: string]: LocaleDetails;
140
+ };
141
+ /**
142
+ * Default editor hint of the metadata
143
+ */
144
+ editorHint?: EditorHint;
145
+ /**
146
+ * Default value of the metadata
147
+ */
148
+ defaultValue?: unknown;
149
+ /**
150
+ * Default icon of the metadata.
151
+ * Free-form string, e.g. a FontAwesome icon name, a URL to a PNG/SVG image, or inline SVG markup.
152
+ */
153
+ icon?: string;
154
+ /**
155
+ * Set by the plugin: true for a metadata registered from code.
156
+ * It is written at every startup and cannot be modified or deleted through the API.
157
+ */
158
+ managed?: boolean;
159
+ }
160
+ export interface MetadataReferential {
161
+ [name: string]: MetadataReferentialEntry;
162
+ }
163
+ export interface MetadataReferentialContent extends KDocumentContent {
164
+ type: "metadata-referential";
165
+ metadata: MetadataReferential;
166
+ }
101
167
  export interface MetadataGroupLocale {
102
168
  groupFriendlyName: string;
103
169
  description: string;
@@ -155,13 +221,13 @@ export interface TooltipModels {
155
221
  }
156
222
  export interface AssetModelContent extends KDocumentContent {
157
223
  type: "asset";
158
- engineGroups: string[];
224
+ tenantClasses: string[];
159
225
  /**
160
226
  * Optional list of engine IDs (tenant IDs) this model is scoped to.
161
227
  * When set, the model is only available to the specified tenants.
162
- * When absent, the model is available to all tenants in the engineGroups.
228
+ * When absent, the model is available to all tenants in the tenantClasses.
163
229
  */
164
- engineIds?: string[];
230
+ indexes?: string[];
165
231
  asset: {
166
232
  /**
167
233
  * Name of the model
@@ -408,7 +474,7 @@ export interface DeviceModelContent extends KDocumentContent {
408
474
  }
409
475
  export interface GroupModelContent extends KDocumentContent {
410
476
  type: "group";
411
- engineGroups: string[];
477
+ tenantClasses: string[];
412
478
  group: {
413
479
  /**
414
480
  * Name of the model
@@ -1 +1 @@
1
- {"version":3,"file":"ModelContent.js","sourceRoot":"","sources":["../../../../../lib/modules/model/types/ModelContent.ts"],"names":[],"mappings":";;;AA8DA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,oDAAkC,CAAA;IAClC,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAgGD,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,2CAAe,CAAA;IACf,yCAAa,CAAA;IACb,2CAAe,CAAA;IACf,mDAAuB,CAAA;AACzB,CAAC,EANW,wBAAwB,wCAAxB,wBAAwB,QAMnC"}
1
+ {"version":3,"file":"ModelContent.js","sourceRoot":"","sources":["../../../../../lib/modules/model/types/ModelContent.ts"],"names":[],"mappings":";;;AA6EA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,oDAAkC,CAAA;IAClC,uCAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AA0JD,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,2CAAe,CAAA;IACf,yCAAa,CAAA;IACb,2CAAe,CAAA;IACf,mDAAuB,CAAA;AACzB,CAAC,EANW,wBAAwB,wCAAxB,wBAAwB,QAMnC"}
@@ -118,7 +118,8 @@ export type AssetModelDefinition = {
118
118
  */
119
119
  icon?: string;
120
120
  /**
121
- * Metadata mappings definition
121
+ * Metadata mappings definition.
122
+ * Use `{ referential: true }` for a metadata of the metadata referential.
122
123
  */
123
124
  metadataMappings?: MetadataMappings;
124
125
  /**
@@ -201,7 +202,8 @@ export type DeviceModelDefinition = {
201
202
  */
202
203
  icon?: string;
203
204
  /**
204
- * Metadata mappings definition
205
+ * Metadata mappings definition.
206
+ * Use `{ referential: true }` for a metadata of the metadata referential.
205
207
  */
206
208
  metadataMappings?: MetadataMappings;
207
209
  /**
@@ -296,7 +298,8 @@ export type GroupModelDefinition = {
296
298
  */
297
299
  icon?: string;
298
300
  /**
299
- * Metadata mappings definition
301
+ * Metadata mappings definition.
302
+ * Use `{ referential: true }` for a metadata of the metadata referential.
300
303
  */
301
304
  metadataMappings?: MetadataMappings;
302
305
  /**
@@ -1,9 +1,9 @@
1
- import { AssetModelContent, DeviceModelContent, GroupModelContent, MeasureModelContent } from "./ModelContent";
1
+ import { AssetModelContent, DeviceModelContent, GroupModelContent, MeasureModelContent, MetadataReferential } from "./ModelContent";
2
2
  export type AskModelAssetGet = {
3
3
  name: "ask:device-manager:model:asset:get";
4
4
  payload: {
5
- engineGroups: string[];
6
- engineId?: string;
5
+ tenantClasses: string[];
6
+ index?: string;
7
7
  model: string;
8
8
  };
9
9
  result: AssetModelContent;
@@ -19,7 +19,7 @@ export type AskModelMeasureGet = {
19
19
  name: "ask:device-manager:model:measure:get";
20
20
  payload: {
21
21
  type: string;
22
- engineId?: string;
22
+ index?: string;
23
23
  };
24
24
  result: MeasureModelContent;
25
25
  };
@@ -30,3 +30,8 @@ export type AskModelGroupGet = {
30
30
  };
31
31
  result: GroupModelContent;
32
32
  };
33
+ export type AskModelMetadataReferentialGet = {
34
+ name: "ask:device-manager:model:metadata-referential:get";
35
+ payload: void;
36
+ result: MetadataReferential;
37
+ };