kuzzle-device-manager 3.0.0-3-dev.20 → 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.
- package/dist/lib/modules/asset/AssetService.d.ts +6 -0
- package/dist/lib/modules/asset/AssetService.js +46 -46
- package/dist/lib/modules/asset/AssetService.js.map +1 -1
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.d.ts +1 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +2 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
- package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +1 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js +2 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
- package/dist/lib/modules/device/DeviceService.js +23 -23
- package/dist/lib/modules/device/DeviceService.js.map +1 -1
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +1 -0
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +2 -0
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -1
- package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +1 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js +2 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
- package/dist/lib/modules/group/GroupsService.d.ts +5 -0
- package/dist/lib/modules/group/GroupsService.js +39 -0
- package/dist/lib/modules/group/GroupsService.js.map +1 -1
- package/dist/lib/modules/group/index.d.ts +1 -0
- package/dist/lib/modules/group/index.js +1 -0
- package/dist/lib/modules/group/index.js.map +1 -1
- package/dist/lib/modules/group/roles/RoleGroupsAdmin.d.ts +1 -0
- package/dist/lib/modules/group/roles/RoleGroupsAdmin.js +2 -0
- package/dist/lib/modules/group/roles/RoleGroupsAdmin.js.map +1 -1
- package/dist/lib/modules/group/roles/RoleGroupsReader.d.ts +1 -0
- package/dist/lib/modules/group/roles/RoleGroupsReader.js +2 -0
- package/dist/lib/modules/group/roles/RoleGroupsReader.js.map +1 -1
- package/dist/lib/modules/group/types/GroupEvents.d.ts +8 -0
- package/dist/lib/modules/group/types/GroupEvents.js +3 -0
- package/dist/lib/modules/group/types/GroupEvents.js.map +1 -0
- package/dist/lib/modules/model/MetadataReferential.d.ts +119 -0
- package/dist/lib/modules/model/MetadataReferential.js +342 -0
- package/dist/lib/modules/model/MetadataReferential.js.map +1 -0
- package/dist/lib/modules/model/ModelService.d.ts +103 -1
- package/dist/lib/modules/model/ModelService.js +486 -185
- package/dist/lib/modules/model/ModelService.js.map +1 -1
- package/dist/lib/modules/model/ModelsConflicts.d.ts +23 -0
- package/dist/lib/modules/model/ModelsConflicts.js +54 -4
- package/dist/lib/modules/model/ModelsConflicts.js.map +1 -1
- package/dist/lib/modules/model/ModelsController.d.ts +11 -2
- package/dist/lib/modules/model/ModelsController.js +109 -11
- package/dist/lib/modules/model/ModelsController.js.map +1 -1
- package/dist/lib/modules/model/ModelsRegister.d.ts +33 -1
- package/dist/lib/modules/model/ModelsRegister.js +101 -3
- package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
- package/dist/lib/modules/model/collections/modelsMappings.js +7 -0
- package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
- package/dist/lib/modules/model/types/ModelApi.d.ts +93 -2
- package/dist/lib/modules/model/types/ModelContent.d.ts +67 -1
- package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
- package/dist/lib/modules/model/types/ModelDefinition.d.ts +6 -3
- package/dist/lib/modules/model/types/ModelEvents.d.ts +6 -1
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +33 -0
- package/dist/lib/modules/plugin/DeviceManagerEngine.js +106 -10
- package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +36 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js +42 -0
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
- package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +11 -0
- package/dist/lib/modules/shared/utils/lock.d.ts +7 -1
- package/dist/lib/modules/shared/utils/lock.js +2 -2
- package/dist/lib/modules/shared/utils/lock.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DeviceManagerPlugin } from "../plugin";
|
|
2
2
|
import { NamedMeasures } from "../decoder";
|
|
3
3
|
import { MeasureDefinition } from "../measure";
|
|
4
|
-
import { GroupAffinity, LocaleDetails, MetadataDetails, MetadataGroups, MetadataMappings, TooltipModels } from "./types/ModelContent";
|
|
4
|
+
import { GroupAffinity, LocaleDetails, MetadataDetails, MetadataGroups, MetadataMappings, MetadataReferentialEntry, TooltipModels } from "./types/ModelContent";
|
|
5
5
|
import { JSONObject } from "kuzzle-sdk";
|
|
6
6
|
export declare class ModelsRegister {
|
|
7
7
|
private config;
|
|
@@ -10,10 +10,42 @@ export declare class ModelsRegister {
|
|
|
10
10
|
private deviceModels;
|
|
11
11
|
private groupModels;
|
|
12
12
|
private measureModels;
|
|
13
|
+
private metadataReferential;
|
|
13
14
|
private logger;
|
|
14
15
|
private get sdk();
|
|
15
16
|
init(plugin: DeviceManagerPlugin): void;
|
|
16
17
|
loadModels(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Merges the metadata registered from code over the stored metadata referential and saves it.
|
|
20
|
+
* Metadata added through the API are kept, the details of metadata registered from code win.
|
|
21
|
+
*
|
|
22
|
+
* @throws PluginImplementationError if the mappings of a stored metadata are modified, or if a new
|
|
23
|
+
* metadata conflicts with the stored models or the engines collections mappings
|
|
24
|
+
*/
|
|
25
|
+
private loadMetadataReferential;
|
|
26
|
+
/**
|
|
27
|
+
* Checks the metadata registered from code that are not in the stored referential yet
|
|
28
|
+
* against the inline metadata of the stored models and the engines collections mappings
|
|
29
|
+
*
|
|
30
|
+
* @throws PluginImplementationError on a conflict
|
|
31
|
+
*/
|
|
32
|
+
private checkNewMetadata;
|
|
33
|
+
/**
|
|
34
|
+
* Validates the metadata of models registered from code against the metadata referential
|
|
35
|
+
* and enriches the details and default values of the metadata coming from it
|
|
36
|
+
*/
|
|
37
|
+
private resolveModels;
|
|
38
|
+
/**
|
|
39
|
+
* Registers a metadata in the metadata referential.
|
|
40
|
+
* Asset, device and group models can then use it with `{ referential: true }` in their metadataMappings.
|
|
41
|
+
* Its mappings cannot be modified once loaded, they are merged into the engines collections.
|
|
42
|
+
* Registering again an identical definition is allowed, so several modules can share a metadata.
|
|
43
|
+
*
|
|
44
|
+
* @param name - Name of the metadata
|
|
45
|
+
* @param definition - Mappings, default translations, editor hint, default value and icon of the metadata
|
|
46
|
+
* @throws PluginImplementationError if the metadata is invalid or already registered with another definition
|
|
47
|
+
*/
|
|
48
|
+
registerMetadata(name: string, definition: MetadataReferentialEntry): void;
|
|
17
49
|
/**
|
|
18
50
|
* Registers an asset model.
|
|
19
51
|
*
|
|
@@ -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,14 +31,105 @@ 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
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelsRegister.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsRegister.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModelsRegister.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsRegister.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,13 @@ exports.modelsMappings = {
|
|
|
18
18
|
* `DeviceManagerPlugin.migrateModelIndexes`), after which nothing writes it.
|
|
19
19
|
*/
|
|
20
20
|
engineIds: { type: "keyword" },
|
|
21
|
+
/**
|
|
22
|
+
* Metadata referential
|
|
23
|
+
*/
|
|
24
|
+
metadata: {
|
|
25
|
+
dynamic: "false",
|
|
26
|
+
properties: {},
|
|
27
|
+
},
|
|
21
28
|
/**
|
|
22
29
|
* Measure model
|
|
23
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 {
|
|
@@ -9,16 +9,28 @@ export interface ApiModelGetAssetRequest extends ModelsControllerRequest {
|
|
|
9
9
|
action: "getAsset";
|
|
10
10
|
model: string;
|
|
11
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 {
|
|
@@ -30,7 +42,10 @@ export type ApiModelGetMeasureResult = KDocument<MeasureModelContent>;
|
|
|
30
42
|
export interface ApiModelWriteAssetRequest extends ModelsControllerRequest {
|
|
31
43
|
action: "writeAsset";
|
|
32
44
|
body: {
|
|
33
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Mutually exclusive with `indexes`
|
|
47
|
+
*/
|
|
48
|
+
tenantClasses?: string[];
|
|
34
49
|
indexes?: string[];
|
|
35
50
|
model: string;
|
|
36
51
|
icon?: string;
|
|
@@ -76,6 +91,43 @@ 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: {
|
|
@@ -132,6 +184,10 @@ export type ApiModelDeleteMeasureResult = void;
|
|
|
132
184
|
export interface ApiModelListAssetsRequest extends ModelsControllerRequest {
|
|
133
185
|
action: "listAssets";
|
|
134
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>[];
|
|
@@ -147,6 +207,10 @@ export type ApiModelListDevicesResult = {
|
|
|
147
207
|
export interface ApiModelListGroupsRequest extends ModelsControllerRequest {
|
|
148
208
|
action: "listGroups";
|
|
149
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>[];
|
|
@@ -163,6 +227,10 @@ export type ApiModelListMeasuresResult = {
|
|
|
163
227
|
export interface ApiModelSearchAssetsRequest extends ModelsControllerRequest {
|
|
164
228
|
action: "searchAssets";
|
|
165
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;
|
|
@@ -180,6 +252,10 @@ export type ApiModelSearchDevicesResult = SearchResult<KHit<DeviceModelContent>>
|
|
|
180
252
|
export interface ApiModelSearchGroupsRequest extends ModelsControllerRequest {
|
|
181
253
|
action: "searchGroups";
|
|
182
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;
|
|
@@ -195,4 +271,19 @@ export interface ApiModelSearchMeasuresRequest extends ModelsControllerRequest {
|
|
|
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 {};
|
|
@@ -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?:
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelContent.js","sourceRoot":"","sources":["../../../../../lib/modules/model/types/ModelContent.ts"],"names":[],"mappings":";;;
|
|
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,4 +1,4 @@
|
|
|
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: {
|
|
@@ -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
|
+
};
|
|
@@ -5,6 +5,7 @@ import { DeviceManagerPlugin } from "./DeviceManagerPlugin";
|
|
|
5
5
|
import { DeviceManagerConfiguration } from "./types/DeviceManagerConfiguration";
|
|
6
6
|
import { InternalCollection } from "./types/InternalCollection";
|
|
7
7
|
import { ConflictChunk } from "../model/ModelsConflicts";
|
|
8
|
+
import { MetadataMappings } from "../model/types/ModelContent";
|
|
8
9
|
export type TwinType = "asset" | "device";
|
|
9
10
|
export type TwinModelContent = AssetModelContent | DeviceModelContent;
|
|
10
11
|
export interface EngineDocument extends KDocumentContent {
|
|
@@ -39,10 +40,42 @@ export type AskEngineUpdateConflict = {
|
|
|
39
40
|
};
|
|
40
41
|
result: ConflictChunk[];
|
|
41
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Checks a metadata of the metadata referential against the actual metadata mappings
|
|
45
|
+
* of the assets, devices and groups collections of every engine
|
|
46
|
+
*/
|
|
47
|
+
export type AskEngineMetadataConflict = {
|
|
48
|
+
name: "ask:device-manager:engine:doesMetadataConflict";
|
|
49
|
+
payload: {
|
|
50
|
+
metadataMappings: MetadataMappings;
|
|
51
|
+
};
|
|
52
|
+
result: ConflictChunk[];
|
|
53
|
+
};
|
|
42
54
|
export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlugin> {
|
|
43
55
|
config: DeviceManagerConfiguration;
|
|
44
56
|
get app(): Backend;
|
|
45
57
|
constructor(plugin: Plugin, platformConfigManager: ConfigManager, engineConfigManager: ConfigManager);
|
|
58
|
+
/**
|
|
59
|
+
* Returns the actual metadata mappings of an engine collection
|
|
60
|
+
*
|
|
61
|
+
* @returns The mappings of the metadata properties, empty if the collection does not exist
|
|
62
|
+
*/
|
|
63
|
+
private getCollectionMetadataMappings;
|
|
64
|
+
/**
|
|
65
|
+
* Return conflicts between the metadata mappings of models and the actual mappings
|
|
66
|
+
* of their collection in an engine
|
|
67
|
+
*
|
|
68
|
+
* @param engineIndex The target engine
|
|
69
|
+
* @param modelType The models type
|
|
70
|
+
* @param models The new or updated models, with their referential metadata resolved
|
|
71
|
+
* @returns An array of ConflictChunk
|
|
72
|
+
*/
|
|
73
|
+
private getModelsMetadataConflicts;
|
|
74
|
+
/**
|
|
75
|
+
* Merges the mappings of the metadata referential and of models into metadata mappings.
|
|
76
|
+
* Every referential metadata is merged, used by a model or not.
|
|
77
|
+
*/
|
|
78
|
+
private mergeMetadataMappings;
|
|
46
79
|
/**
|
|
47
80
|
* Return conflicts between the new and already present twin models
|
|
48
81
|
*
|