kuzzle-device-manager 2.4.0-beta.2 → 2.4.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/modules/asset/AssetHistoryService.d.ts +2 -4
- package/dist/lib/modules/asset/AssetHistoryService.js +4 -7
- package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
- package/dist/lib/modules/asset/AssetModule.js +30 -0
- package/dist/lib/modules/asset/AssetModule.js.map +1 -1
- package/dist/lib/modules/asset/AssetService.d.ts +25 -26
- package/dist/lib/modules/asset/AssetService.js +236 -43
- package/dist/lib/modules/asset/AssetService.js.map +1 -1
- package/dist/lib/modules/asset/AssetsController.d.ts +8 -1
- package/dist/lib/modules/asset/AssetsController.js +152 -25
- package/dist/lib/modules/asset/AssetsController.js.map +1 -1
- package/dist/lib/modules/asset/AssetsGroupsController.js +1 -1
- package/dist/lib/modules/asset/AssetsGroupsController.js.map +1 -1
- package/dist/lib/modules/asset/model/AssetSerializer.js +1 -0
- package/dist/lib/modules/asset/model/AssetSerializer.js.map +1 -1
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +3 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
- package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +4 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js +8 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.d.ts +8 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.js +20 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.js.map +1 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.d.ts +8 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.js +24 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.js.map +1 -0
- package/dist/lib/modules/asset/roles/specificRoles/index.d.ts +2 -0
- package/dist/lib/modules/asset/roles/specificRoles/index.js +19 -0
- package/dist/lib/modules/asset/roles/specificRoles/index.js.map +1 -0
- package/dist/lib/modules/asset/types/AssetApi.d.ts +43 -2
- package/dist/lib/modules/asset/types/AssetContent.d.ts +1 -1
- package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -1
- package/dist/lib/modules/decoder/Decoder.d.ts +11 -0
- package/dist/lib/modules/decoder/Decoder.js +1 -0
- package/dist/lib/modules/decoder/Decoder.js.map +1 -1
- package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -1
- package/dist/lib/modules/decoder/DecodingState.js +1 -1
- package/dist/lib/modules/decoder/DecodingState.js.map +1 -1
- package/dist/lib/modules/decoder/PayloadService.d.ts +3 -6
- package/dist/lib/modules/decoder/PayloadService.js +11 -17
- package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
- package/dist/lib/modules/decoder/PayloadsController.js.map +1 -1
- package/dist/lib/modules/decoder/types/DecoderContent.d.ts +1 -0
- package/dist/lib/modules/device/DeviceModule.js +30 -0
- package/dist/lib/modules/device/DeviceModule.js.map +1 -1
- package/dist/lib/modules/device/DeviceService.d.ts +31 -46
- package/dist/lib/modules/device/DeviceService.js +177 -73
- package/dist/lib/modules/device/DeviceService.js.map +1 -1
- package/dist/lib/modules/device/DevicesController.d.ts +7 -1
- package/dist/lib/modules/device/DevicesController.js +142 -41
- package/dist/lib/modules/device/DevicesController.js.map +1 -1
- package/dist/lib/modules/device/collections/deviceMappings.d.ts +2 -46
- package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
- package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +4 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js +8 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js +20 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.js.map +1 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.js +20 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.js.map +1 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.js +24 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.js.map +1 -0
- package/dist/lib/modules/device/roles/specificRoles/index.d.ts +3 -0
- package/dist/lib/modules/device/roles/specificRoles/index.js +20 -0
- package/dist/lib/modules/device/roles/specificRoles/index.js.map +1 -0
- package/dist/lib/modules/device/types/DeviceApi.d.ts +23 -2
- package/dist/lib/modules/device/types/DeviceEvents.d.ts +29 -0
- package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -2
- package/dist/lib/modules/measure/MeasureExporter.js +35 -14
- package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
- package/dist/lib/modules/measure/MeasureService.d.ts +2 -6
- package/dist/lib/modules/measure/MeasureService.js +6 -11
- package/dist/lib/modules/measure/MeasureService.js.map +1 -1
- package/dist/lib/modules/measure/collections/measuresMappings.d.ts +18 -0
- package/dist/lib/modules/measure/collections/measuresMappings.js +14 -0
- package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
- package/dist/lib/modules/measure/measures/BatteryMeasure.js +12 -0
- package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +1 -1
- package/dist/lib/modules/measure/measures/HumidityMeasure.js +12 -0
- package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +1 -1
- package/dist/lib/modules/measure/measures/MovementMeasure.js +10 -0
- package/dist/lib/modules/measure/measures/MovementMeasure.js.map +1 -1
- package/dist/lib/modules/measure/measures/PositionMeasure.js +22 -0
- package/dist/lib/modules/measure/measures/PositionMeasure.js.map +1 -1
- package/dist/lib/modules/measure/measures/TemperatureMeasure.js +12 -0
- package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +1 -1
- package/dist/lib/modules/measure/types/MeasureContent.d.ts +4 -0
- package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +28 -3
- package/dist/lib/modules/model/MappingsConflictsError.d.ts +7 -0
- package/dist/lib/modules/model/MappingsConflictsError.js +20 -0
- package/dist/lib/modules/model/MappingsConflictsError.js.map +1 -0
- package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
- package/dist/lib/modules/model/ModelService.d.ts +17 -9
- package/dist/lib/modules/model/ModelService.js +250 -42
- package/dist/lib/modules/model/ModelService.js.map +1 -1
- package/dist/lib/modules/model/ModelsConflicts.d.ts +30 -0
- package/dist/lib/modules/model/ModelsConflicts.js +107 -0
- package/dist/lib/modules/model/ModelsConflicts.js.map +1 -0
- package/dist/lib/modules/model/ModelsController.d.ts +5 -1
- package/dist/lib/modules/model/ModelsController.js +54 -3
- package/dist/lib/modules/model/ModelsController.js.map +1 -1
- package/dist/lib/modules/model/ModelsRegister.d.ts +28 -3
- package/dist/lib/modules/model/ModelsRegister.js +50 -5
- package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
- package/dist/lib/modules/model/collections/modelsMappings.js +24 -0
- package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
- package/dist/lib/modules/model/types/ModelApi.d.ts +50 -4
- package/dist/lib/modules/model/types/ModelContent.d.ts +263 -2
- package/dist/lib/modules/model/types/ModelContent.js +15 -0
- package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
- package/dist/lib/modules/model/types/ModelDefinition.d.ts +141 -5
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +141 -5
- package/dist/lib/modules/plugin/DeviceManagerEngine.js +238 -41
- package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
- package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +113 -8
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js +149 -19
- package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
- package/dist/lib/modules/plugin/exports.d.ts +1 -1
- package/dist/lib/modules/plugin/exports.js +1 -1
- package/dist/lib/modules/plugin/exports.js.map +1 -1
- package/dist/lib/modules/plugin/index.d.ts +1 -2
- package/dist/lib/modules/plugin/index.js +1 -2
- package/dist/lib/modules/plugin/index.js.map +1 -1
- package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +27 -5
- package/dist/lib/modules/plugin/types/InternalCollection.js +1 -1
- package/dist/lib/modules/plugin/types/InternalCollection.js.map +1 -1
- package/dist/lib/modules/plugin/types/Pipes.d.ts +17 -0
- package/dist/lib/modules/plugin/types/Pipes.js +3 -0
- package/dist/lib/modules/plugin/types/Pipes.js.map +1 -0
- package/dist/lib/modules/plugin/types/exports.d.ts +1 -0
- package/dist/lib/modules/plugin/types/exports.js +18 -0
- package/dist/lib/modules/plugin/types/exports.js.map +1 -0
- package/dist/lib/modules/plugin/types/index.d.ts +3 -0
- package/dist/lib/modules/plugin/types/index.js +20 -0
- package/dist/lib/modules/plugin/types/index.js.map +1 -0
- package/dist/lib/modules/shared/exports.d.ts +2 -0
- package/dist/lib/modules/shared/exports.js +2 -0
- package/dist/lib/modules/shared/exports.js.map +1 -1
- package/dist/lib/modules/shared/index.d.ts +6 -4
- package/dist/lib/modules/shared/index.js +6 -4
- package/dist/lib/modules/shared/index.js.map +1 -1
- package/dist/lib/modules/shared/services/AbstractExporter.d.ts +1 -0
- package/dist/lib/modules/shared/services/AbstractExporter.js +7 -1
- package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
- package/dist/lib/modules/shared/services/BaseService.d.ts +69 -0
- package/dist/lib/modules/shared/services/BaseService.js +157 -0
- package/dist/lib/modules/shared/services/BaseService.js.map +1 -0
- package/dist/lib/modules/shared/services/DigitalTwinExporter.js +9 -3
- package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
- package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +21 -0
- package/dist/lib/modules/shared/services/DigitalTwinService.js +162 -0
- package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -0
- package/dist/lib/modules/shared/services/index.d.ts +2 -0
- package/dist/lib/modules/shared/services/index.js +2 -0
- package/dist/lib/modules/shared/services/index.js.map +1 -1
- package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +34 -0
- package/dist/lib/modules/shared/types/DigitalTwinApi.js +3 -0
- package/dist/lib/modules/shared/types/DigitalTwinApi.js.map +1 -0
- package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +2 -4
- package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +9 -0
- package/dist/lib/modules/shared/types/DigitalTwinEvents.js +3 -0
- package/dist/lib/modules/shared/types/DigitalTwinEvents.js.map +1 -0
- package/dist/lib/modules/shared/types/DigitalTwinMeasures.d.ts +5 -0
- package/dist/lib/modules/shared/types/DigitalTwinMeasures.js +3 -0
- package/dist/lib/modules/shared/types/DigitalTwinMeasures.js.map +1 -0
- package/dist/lib/modules/shared/utils/flattenObject.js.map +1 -1
- package/dist/lib/modules/shared/utils/lock.js.map +1 -1
- package/dist/lib/modules/shared/utils/objectDiff.js.map +1 -1
- package/package.json +26 -26
- package/dist/lib/modules/shared/utils/ask.d.ts +0 -8
- package/dist/lib/modules/shared/utils/ask.js +0 -12
- package/dist/lib/modules/shared/utils/ask.js.map +0 -1
|
@@ -1,25 +1,33 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { KuzzleRequest } from "kuzzle";
|
|
2
|
+
import { JSONObject, KDocument, KHit, SearchResult } from "kuzzle-sdk";
|
|
2
3
|
import { DeviceManagerPlugin } from "../plugin";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
private get sdk();
|
|
4
|
+
import { BaseService, SearchParams } from "../shared";
|
|
5
|
+
import { AssetModelContent, DeviceModelContent, MeasureModelContent, MetadataDetails, MetadataGroups, MetadataMappings, TooltipModels } from "./types/ModelContent";
|
|
6
|
+
import { MeasureValuesDetails } from "../measure";
|
|
7
|
+
export declare class ModelService extends BaseService {
|
|
8
8
|
constructor(plugin: DeviceManagerPlugin);
|
|
9
9
|
registerAskEvents(): void;
|
|
10
|
-
|
|
10
|
+
private checkModelsConflicts;
|
|
11
|
+
writeAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: AssetModelContent["asset"]["measures"], tooltipModels: TooltipModels): Promise<KDocument<AssetModelContent>>;
|
|
11
12
|
private checkDefaultValues;
|
|
12
|
-
writeDevice(model: string, metadataMappings:
|
|
13
|
-
writeMeasure(type: string, valuesMappings: JSONObject): Promise<KDocument<MeasureModelContent>>;
|
|
13
|
+
writeDevice(model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: DeviceModelContent["device"]["measures"]): Promise<KDocument<DeviceModelContent>>;
|
|
14
|
+
writeMeasure(type: string, valuesMappings: JSONObject, valuesDetails?: MeasureValuesDetails): Promise<KDocument<MeasureModelContent>>;
|
|
14
15
|
deleteAsset(_id: string): Promise<void>;
|
|
15
16
|
deleteDevice(_id: string): Promise<void>;
|
|
16
17
|
deleteMeasure(_id: string): Promise<void>;
|
|
17
18
|
listAsset(engineGroup: string): Promise<KDocument<AssetModelContent>[]>;
|
|
18
19
|
listDevices(): Promise<KDocument<DeviceModelContent>[]>;
|
|
19
20
|
listMeasures(): Promise<KDocument<MeasureModelContent>[]>;
|
|
21
|
+
searchAssets(engineGroup: string, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<AssetModelContent>>>;
|
|
22
|
+
searchDevices(searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<DeviceModelContent>>>;
|
|
23
|
+
searchMeasures(searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<MeasureModelContent>>>;
|
|
20
24
|
assetExists(model: string): Promise<boolean>;
|
|
21
25
|
deviceExists(model: string): Promise<boolean>;
|
|
22
26
|
getAsset(engineGroup: string, model: string): Promise<KDocument<AssetModelContent>>;
|
|
23
27
|
getDevice(model: string): Promise<KDocument<DeviceModelContent>>;
|
|
24
28
|
getMeasure(type: string): Promise<KDocument<MeasureModelContent>>;
|
|
29
|
+
/**
|
|
30
|
+
* Update an asset model
|
|
31
|
+
*/
|
|
32
|
+
updateAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: AssetModelContent["asset"]["measures"], tooltipModels: TooltipModels, request: KuzzleRequest): Promise<KDocument<AssetModelContent>>;
|
|
25
33
|
}
|
|
@@ -2,84 +2,186 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ModelService = void 0;
|
|
4
4
|
const kuzzle_1 = require("kuzzle");
|
|
5
|
+
const kuzzle_plugin_commons_1 = require("kuzzle-plugin-commons");
|
|
5
6
|
const plugin_1 = require("../plugin");
|
|
6
|
-
const
|
|
7
|
-
const flattenObject_1 = require("../shared/utils/flattenObject");
|
|
7
|
+
const shared_1 = require("../shared");
|
|
8
8
|
const ModelSerializer_1 = require("./ModelSerializer");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return this.context.accessors.sdk;
|
|
12
|
-
}
|
|
9
|
+
const MappingsConflictsError_1 = require("./MappingsConflictsError");
|
|
10
|
+
class ModelService extends shared_1.BaseService {
|
|
13
11
|
constructor(plugin) {
|
|
14
|
-
|
|
15
|
-
this.context = plugin.context;
|
|
12
|
+
super(plugin);
|
|
16
13
|
this.registerAskEvents();
|
|
17
14
|
}
|
|
18
15
|
registerAskEvents() {
|
|
19
|
-
(0,
|
|
16
|
+
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:model:asset:get", async ({ engineGroup, model }) => {
|
|
20
17
|
const assetModel = await this.getAsset(engineGroup, model);
|
|
21
18
|
return assetModel._source;
|
|
22
19
|
});
|
|
23
|
-
(0,
|
|
20
|
+
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:model:device:get", async ({ model }) => {
|
|
24
21
|
const deviceModel = await this.getDevice(model);
|
|
25
22
|
return deviceModel._source;
|
|
26
23
|
});
|
|
27
|
-
(0,
|
|
24
|
+
(0, kuzzle_plugin_commons_1.onAsk)("ask:device-manager:model:measure:get", async ({ type }) => {
|
|
28
25
|
const measureModel = await this.getMeasure(type);
|
|
29
26
|
return measureModel._source;
|
|
30
27
|
});
|
|
28
|
+
const genericModelsHandler = async (documents, request) => {
|
|
29
|
+
const { index, collection } = request.input.args;
|
|
30
|
+
if (index === this.config.adminIndex && collection === "models") {
|
|
31
|
+
const models = documents.map((elt) => {
|
|
32
|
+
return elt._source;
|
|
33
|
+
});
|
|
34
|
+
await this.checkModelsConflicts(models);
|
|
35
|
+
}
|
|
36
|
+
return documents;
|
|
37
|
+
};
|
|
38
|
+
this.app.pipe.register("generic:document:beforeWrite", genericModelsHandler);
|
|
39
|
+
this.app.pipe.register("generic:document:beforeUpdate", genericModelsHandler);
|
|
40
|
+
this.app.hook.register("generic:document:afterUpdate", async (documents, request) => {
|
|
41
|
+
const { index, collection } = request.input.args;
|
|
42
|
+
if (index === this.config.adminIndex && collection === "models") {
|
|
43
|
+
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:updateAll");
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async checkModelsConflicts(documents) {
|
|
48
|
+
const assets = documents.filter((elt) => {
|
|
49
|
+
return elt.type === "asset";
|
|
50
|
+
});
|
|
51
|
+
const devices = documents.filter((elt) => {
|
|
52
|
+
return elt.type === "device";
|
|
53
|
+
});
|
|
54
|
+
const measures = documents.filter((elt) => {
|
|
55
|
+
return elt.type === "measure";
|
|
56
|
+
});
|
|
57
|
+
if (assets.length > 0) {
|
|
58
|
+
const conflicts = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:doesUpdateConflict", {
|
|
59
|
+
twin: {
|
|
60
|
+
models: assets,
|
|
61
|
+
type: "asset",
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
if (conflicts.length > 0) {
|
|
65
|
+
throw new MappingsConflictsError_1.MappingsConflictsError(`New assets mappings are causing conflicts`, conflicts);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (devices.length > 0) {
|
|
69
|
+
const conflicts = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:doesUpdateConflict", {
|
|
70
|
+
twin: {
|
|
71
|
+
models: devices,
|
|
72
|
+
type: "device",
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
if (conflicts.length > 0) {
|
|
76
|
+
throw new MappingsConflictsError_1.MappingsConflictsError(`New devices mappings are causing conflicts`, conflicts);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (measures.length > 0) {
|
|
80
|
+
const conflicts = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:doesUpdateConflict", {
|
|
81
|
+
measuresModels: measures,
|
|
82
|
+
});
|
|
83
|
+
if (conflicts.length > 0) {
|
|
84
|
+
throw new MappingsConflictsError_1.MappingsConflictsError(`New measures mappings are causing conflicts`, conflicts);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
31
87
|
}
|
|
32
|
-
async writeAsset(engineGroup, model, metadataMappings, defaultMetadata, measures) {
|
|
88
|
+
async writeAsset(engineGroup, model, metadataMappings, defaultMetadata, metadataDetails, metadataGroups, measures, tooltipModels) {
|
|
33
89
|
if (kuzzle_1.Inflector.pascalCase(model) !== model) {
|
|
34
90
|
throw new kuzzle_1.BadRequestError(`Asset model "${model}" must be PascalCase.`);
|
|
35
91
|
}
|
|
36
92
|
const modelContent = {
|
|
37
|
-
asset: {
|
|
93
|
+
asset: {
|
|
94
|
+
defaultMetadata,
|
|
95
|
+
measures,
|
|
96
|
+
metadataDetails,
|
|
97
|
+
metadataGroups,
|
|
98
|
+
metadataMappings,
|
|
99
|
+
model,
|
|
100
|
+
tooltipModels,
|
|
101
|
+
},
|
|
38
102
|
engineGroup,
|
|
39
103
|
type: "asset",
|
|
40
104
|
};
|
|
41
105
|
this.checkDefaultValues(metadataMappings, defaultMetadata);
|
|
106
|
+
const conflicts = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:doesUpdateConflict", { twin: { models: [modelContent], type: "asset" } });
|
|
107
|
+
if (conflicts.length > 0) {
|
|
108
|
+
throw new MappingsConflictsError_1.MappingsConflictsError(`New assets mappings are causing conflicts`, conflicts);
|
|
109
|
+
}
|
|
42
110
|
const assetModel = await this.sdk.document.createOrReplace(this.config.adminIndex, plugin_1.InternalCollection.MODELS, ModelSerializer_1.ModelSerializer.id("asset", modelContent), modelContent);
|
|
43
111
|
await this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.MODELS);
|
|
44
|
-
await (0,
|
|
45
|
-
await (0,
|
|
112
|
+
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:updateAll");
|
|
113
|
+
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:refresh-model", {
|
|
46
114
|
assetModel: modelContent,
|
|
47
115
|
});
|
|
48
116
|
return assetModel;
|
|
49
117
|
}
|
|
50
118
|
checkDefaultValues(metadataMappings, defaultMetadata) {
|
|
51
|
-
const
|
|
119
|
+
const flattenedMetadataMappings = (0, shared_1.flattenObject)(metadataMappings);
|
|
120
|
+
const metadata = Object.keys(JSON.parse(JSON.stringify(flattenedMetadataMappings)
|
|
52
121
|
.replace(/properties\./g, "")
|
|
53
122
|
.replace(/\.type/g, "")));
|
|
54
|
-
const values = Object.keys((0,
|
|
123
|
+
const values = Object.keys((0, shared_1.flattenObject)(defaultMetadata));
|
|
55
124
|
for (let i = 0; i < values.length; i++) {
|
|
56
|
-
|
|
125
|
+
const key = values[i];
|
|
126
|
+
// ? Check if the exact key exists in the metadata
|
|
127
|
+
if (!metadata.includes(key)) {
|
|
128
|
+
// ? Extract base key for complex types like geo_point or geo_shape
|
|
129
|
+
const baseKey = key.includes(".") ? key.split(".")[0] : key;
|
|
130
|
+
// ? Check if the base key is in the metadata
|
|
131
|
+
if (!metadata.includes(baseKey)) {
|
|
132
|
+
throw new kuzzle_1.BadRequestError(`The default value "${key}" is not in the metadata mappings.`);
|
|
133
|
+
}
|
|
134
|
+
// ? Accept nested properties for geo_point or geo_shape
|
|
135
|
+
const baseKeyMetadata = flattenedMetadataMappings[`${baseKey}.type`];
|
|
136
|
+
if (baseKeyMetadata === "geo_point" ||
|
|
137
|
+
baseKeyMetadata === "geo_shape") {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
57
140
|
throw new kuzzle_1.BadRequestError(`The default value "${values[i]}" is not in the metadata mappings.`);
|
|
58
141
|
}
|
|
59
142
|
}
|
|
60
143
|
}
|
|
61
|
-
async writeDevice(model, metadataMappings, defaultMetadata, measures) {
|
|
144
|
+
async writeDevice(model, metadataMappings, defaultMetadata, metadataDetails, metadataGroups, measures) {
|
|
62
145
|
if (kuzzle_1.Inflector.pascalCase(model) !== model) {
|
|
63
146
|
throw new kuzzle_1.BadRequestError(`Device model "${model}" must be PascalCase.`);
|
|
64
147
|
}
|
|
65
148
|
const modelContent = {
|
|
66
|
-
device: {
|
|
149
|
+
device: {
|
|
150
|
+
defaultMetadata,
|
|
151
|
+
measures,
|
|
152
|
+
metadataDetails,
|
|
153
|
+
metadataGroups,
|
|
154
|
+
metadataMappings,
|
|
155
|
+
model,
|
|
156
|
+
},
|
|
67
157
|
type: "device",
|
|
68
158
|
};
|
|
69
|
-
const
|
|
159
|
+
const conflicts = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:doesUpdateConflict", { twin: { models: [modelContent], type: "device" } });
|
|
160
|
+
if (conflicts.length > 0) {
|
|
161
|
+
throw new MappingsConflictsError_1.MappingsConflictsError(`New assets mappings are causing conflicts`, conflicts);
|
|
162
|
+
}
|
|
163
|
+
const deviceModel = await this.sdk.document.createOrReplace(this.config.adminIndex, plugin_1.InternalCollection.MODELS, ModelSerializer_1.ModelSerializer.id("device", modelContent), modelContent);
|
|
70
164
|
await this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.MODELS);
|
|
71
|
-
await (0,
|
|
72
|
-
return
|
|
165
|
+
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:updateAll");
|
|
166
|
+
return deviceModel;
|
|
73
167
|
}
|
|
74
|
-
async writeMeasure(type, valuesMappings) {
|
|
168
|
+
async writeMeasure(type, valuesMappings, valuesDetails) {
|
|
75
169
|
const modelContent = {
|
|
76
|
-
measure: {
|
|
170
|
+
measure: {
|
|
171
|
+
type,
|
|
172
|
+
valuesDetails,
|
|
173
|
+
valuesMappings,
|
|
174
|
+
},
|
|
77
175
|
type: "measure",
|
|
78
176
|
};
|
|
79
|
-
const
|
|
177
|
+
const conflicts = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:doesUpdateConflict", { measuresModels: [modelContent] });
|
|
178
|
+
if (conflicts.length > 0) {
|
|
179
|
+
throw new MappingsConflictsError_1.MappingsConflictsError(`New assets mappings are causing conflicts`, conflicts);
|
|
180
|
+
}
|
|
181
|
+
const measureModel = await this.sdk.document.createOrReplace(this.config.adminIndex, plugin_1.InternalCollection.MODELS, ModelSerializer_1.ModelSerializer.id("measure", modelContent), modelContent);
|
|
80
182
|
await this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.MODELS);
|
|
81
|
-
await (0,
|
|
82
|
-
return
|
|
183
|
+
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:updateAll");
|
|
184
|
+
return measureModel;
|
|
83
185
|
}
|
|
84
186
|
async deleteAsset(_id) {
|
|
85
187
|
await this.sdk.document.delete(this.config.adminIndex, plugin_1.InternalCollection.MODELS, _id);
|
|
@@ -91,28 +193,90 @@ class ModelService {
|
|
|
91
193
|
await this.sdk.document.delete(this.config.adminIndex, plugin_1.InternalCollection.MODELS, _id);
|
|
92
194
|
}
|
|
93
195
|
async listAsset(engineGroup) {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
196
|
+
const result = await this.searchAssets(engineGroup, {
|
|
197
|
+
searchBody: {
|
|
198
|
+
sort: { "asset.model": "asc" },
|
|
199
|
+
},
|
|
200
|
+
size: 5000,
|
|
201
|
+
});
|
|
99
202
|
return result.hits;
|
|
100
203
|
}
|
|
101
204
|
async listDevices() {
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
205
|
+
const result = await this.searchDevices({
|
|
206
|
+
searchBody: {
|
|
207
|
+
sort: { "device.model": "asc" },
|
|
208
|
+
},
|
|
209
|
+
size: 5000,
|
|
210
|
+
});
|
|
107
211
|
return result.hits;
|
|
108
212
|
}
|
|
109
213
|
async listMeasures() {
|
|
214
|
+
const result = await this.searchMeasures({
|
|
215
|
+
searchBody: {
|
|
216
|
+
sort: { "measure.type": "asc" },
|
|
217
|
+
},
|
|
218
|
+
size: 5000,
|
|
219
|
+
});
|
|
220
|
+
return result.hits;
|
|
221
|
+
}
|
|
222
|
+
async searchAssets(engineGroup, searchParams) {
|
|
110
223
|
const query = {
|
|
111
|
-
|
|
224
|
+
bool: {
|
|
225
|
+
must: [
|
|
226
|
+
searchParams.searchBody.query,
|
|
227
|
+
{ match: { type: "asset" } },
|
|
228
|
+
{
|
|
229
|
+
bool: {
|
|
230
|
+
should: [
|
|
231
|
+
{ match: { engineGroup } },
|
|
232
|
+
{ match: { engineGroup: "commons" } },
|
|
233
|
+
],
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
},
|
|
112
238
|
};
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
239
|
+
return this.sdk.document.search(this.config.adminIndex, plugin_1.InternalCollection.MODELS, {
|
|
240
|
+
...searchParams.searchBody,
|
|
241
|
+
query,
|
|
242
|
+
}, {
|
|
243
|
+
from: searchParams.from,
|
|
244
|
+
lang: "elasticsearch",
|
|
245
|
+
scroll: searchParams.scrollTTL,
|
|
246
|
+
size: searchParams.size,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
async searchDevices(searchParams) {
|
|
250
|
+
const query = {
|
|
251
|
+
bool: {
|
|
252
|
+
must: [searchParams.searchBody.query, { match: { type: "device" } }],
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
return this.sdk.document.search(this.config.adminIndex, plugin_1.InternalCollection.MODELS, {
|
|
256
|
+
...searchParams.searchBody,
|
|
257
|
+
query,
|
|
258
|
+
}, {
|
|
259
|
+
from: searchParams.from,
|
|
260
|
+
lang: "elasticsearch",
|
|
261
|
+
scroll: searchParams.scrollTTL,
|
|
262
|
+
size: searchParams.size,
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
async searchMeasures(searchParams) {
|
|
266
|
+
const query = {
|
|
267
|
+
bool: {
|
|
268
|
+
must: [searchParams.searchBody.query, { match: { type: "measure" } }],
|
|
269
|
+
},
|
|
270
|
+
};
|
|
271
|
+
return this.sdk.document.search(this.config.adminIndex, plugin_1.InternalCollection.MODELS, {
|
|
272
|
+
...searchParams.searchBody,
|
|
273
|
+
query,
|
|
274
|
+
}, {
|
|
275
|
+
from: searchParams.from,
|
|
276
|
+
lang: "elasticsearch",
|
|
277
|
+
scroll: searchParams.scrollTTL,
|
|
278
|
+
size: searchParams.size,
|
|
279
|
+
});
|
|
116
280
|
}
|
|
117
281
|
async assetExists(model) {
|
|
118
282
|
const query = {
|
|
@@ -174,6 +338,50 @@ class ModelService {
|
|
|
174
338
|
}
|
|
175
339
|
return result.hits[0];
|
|
176
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* Update an asset model
|
|
343
|
+
*/
|
|
344
|
+
async updateAsset(engineGroup, model, metadataMappings, defaultMetadata, metadataDetails, metadataGroups, measures, tooltipModels, request) {
|
|
345
|
+
if (kuzzle_1.Inflector.pascalCase(model) !== model) {
|
|
346
|
+
throw new kuzzle_1.BadRequestError(`Asset model "${model}" must be PascalCase.`);
|
|
347
|
+
}
|
|
348
|
+
this.checkDefaultValues(metadataMappings, defaultMetadata);
|
|
349
|
+
const existingAsset = await this.getAsset(engineGroup, model);
|
|
350
|
+
// The field must be deleted if an element of the table is to be deleted
|
|
351
|
+
await this.sdk.document.deleteFields(this.config.adminIndex, plugin_1.InternalCollection.MODELS, existingAsset._id, ["asset.tooltipModels"], { source: true });
|
|
352
|
+
const measuresUpdated = measures.length === 0 ? existingAsset._source.asset.measures : measures;
|
|
353
|
+
const assetModelContent = {
|
|
354
|
+
asset: {
|
|
355
|
+
defaultMetadata,
|
|
356
|
+
measures: measuresUpdated,
|
|
357
|
+
metadataDetails,
|
|
358
|
+
metadataGroups,
|
|
359
|
+
metadataMappings,
|
|
360
|
+
model,
|
|
361
|
+
tooltipModels,
|
|
362
|
+
},
|
|
363
|
+
engineGroup,
|
|
364
|
+
type: "asset",
|
|
365
|
+
};
|
|
366
|
+
const assetModel = {
|
|
367
|
+
_id: existingAsset._id,
|
|
368
|
+
_source: assetModelContent,
|
|
369
|
+
};
|
|
370
|
+
const conflicts = await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:doesUpdateConflict", { twin: { models: [assetModelContent], type: "asset" } });
|
|
371
|
+
if (conflicts.length > 0) {
|
|
372
|
+
throw new MappingsConflictsError_1.MappingsConflictsError(`Assets mappings are causing conflicts`, conflicts);
|
|
373
|
+
}
|
|
374
|
+
const endDocument = await this.updateDocument(request, assetModel, {
|
|
375
|
+
collection: plugin_1.InternalCollection.MODELS,
|
|
376
|
+
engineId: this.config.adminIndex,
|
|
377
|
+
}, { source: true });
|
|
378
|
+
await this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.MODELS);
|
|
379
|
+
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:engine:updateAll");
|
|
380
|
+
await (0, kuzzle_plugin_commons_1.ask)("ask:device-manager:asset:refresh-model", {
|
|
381
|
+
assetModel: assetModelContent,
|
|
382
|
+
});
|
|
383
|
+
return endDocument;
|
|
384
|
+
}
|
|
177
385
|
}
|
|
178
386
|
exports.ModelService = ModelService;
|
|
179
387
|
//# sourceMappingURL=ModelService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelService.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModelService.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TwinModelContent, TwinType } from "../plugin";
|
|
2
|
+
import { MeasureModelContent } from "./exports";
|
|
3
|
+
export type ConflictChunk = {
|
|
4
|
+
sourceModel: string;
|
|
5
|
+
newModel: string;
|
|
6
|
+
modelType: string;
|
|
7
|
+
conflicts: MappingsConflict[];
|
|
8
|
+
};
|
|
9
|
+
export type MappingsConflict = {
|
|
10
|
+
path: string;
|
|
11
|
+
currentType: string | undefined;
|
|
12
|
+
newType: string | undefined;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Return every conflicts between the mappings of twins and a new twin model
|
|
16
|
+
*
|
|
17
|
+
* @param twinType The target twin type
|
|
18
|
+
* @param models The already present twin models
|
|
19
|
+
* @param additional The new asset
|
|
20
|
+
* @returns An array of ConflictChunk between current twins and the new twin
|
|
21
|
+
*/
|
|
22
|
+
export declare function getTwinConflicts<TDigitalTwin extends TwinModelContent>(twinType: TwinType, models: TDigitalTwin[], additional: TDigitalTwin): ConflictChunk[];
|
|
23
|
+
/**
|
|
24
|
+
* Return every conflicts between the mappings of measure models and a new measure model
|
|
25
|
+
*
|
|
26
|
+
* @param measures The already present measure models
|
|
27
|
+
* @param additional The new measure
|
|
28
|
+
* @returns An array of ConflictChunk between current measures and the new measure
|
|
29
|
+
*/
|
|
30
|
+
export declare function getMeasureConflicts(measures: MeasureModelContent[], additional: MeasureModelContent): ConflictChunk[];
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getMeasureConflicts = exports.getTwinConflicts = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
/**
|
|
9
|
+
* Return every conflicts between the mappings of models and a new model
|
|
10
|
+
*
|
|
11
|
+
* @param modelType The target model type
|
|
12
|
+
* @param models The already present models used as comparison source
|
|
13
|
+
* @param additional The new model
|
|
14
|
+
* @param mappingsPath The object path to the mappings
|
|
15
|
+
* @param modelIdPath The object path to the model ID
|
|
16
|
+
* @returns An array of ConflictChunk between current models and the new model
|
|
17
|
+
*/
|
|
18
|
+
function getModelConflicts(modelType, models, additional, mappingsPath, modelIdPath) {
|
|
19
|
+
const conflicts = [];
|
|
20
|
+
for (const model of models) {
|
|
21
|
+
const baseMappings = lodash_1.default.get(model, mappingsPath);
|
|
22
|
+
const updatedMappings = JSON.parse(JSON.stringify(baseMappings));
|
|
23
|
+
lodash_1.default.merge(updatedMappings, lodash_1.default.get(additional, mappingsPath));
|
|
24
|
+
const mappingsConflict = findConflicts(baseMappings, updatedMappings, mappingsPath);
|
|
25
|
+
if (mappingsConflict.length > 0) {
|
|
26
|
+
conflicts.push({
|
|
27
|
+
conflicts: mappingsConflict,
|
|
28
|
+
modelType: modelType,
|
|
29
|
+
newModel: lodash_1.default.get(additional, modelIdPath),
|
|
30
|
+
sourceModel: lodash_1.default.get(model, modelIdPath),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return conflicts;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Return every conflicts between the mappings of twins and a new twin model
|
|
38
|
+
*
|
|
39
|
+
* @param twinType The target twin type
|
|
40
|
+
* @param models The already present twin models
|
|
41
|
+
* @param additional The new asset
|
|
42
|
+
* @returns An array of ConflictChunk between current twins and the new twin
|
|
43
|
+
*/
|
|
44
|
+
function getTwinConflicts(twinType, models, additional) {
|
|
45
|
+
const metadataPath = twinType + ".metadataMappings";
|
|
46
|
+
const modelIdPath = twinType + ".model";
|
|
47
|
+
return getModelConflicts(twinType, models, additional, metadataPath, modelIdPath);
|
|
48
|
+
}
|
|
49
|
+
exports.getTwinConflicts = getTwinConflicts;
|
|
50
|
+
/**
|
|
51
|
+
* Return every conflicts between the mappings of measure models and a new measure model
|
|
52
|
+
*
|
|
53
|
+
* @param measures The already present measure models
|
|
54
|
+
* @param additional The new measure
|
|
55
|
+
* @returns An array of ConflictChunk between current measures and the new measure
|
|
56
|
+
*/
|
|
57
|
+
function getMeasureConflicts(measures, additional) {
|
|
58
|
+
const modelType = "measure";
|
|
59
|
+
const mappingsPath = "measure.valuesMappings";
|
|
60
|
+
const modelIdPath = "measure.type";
|
|
61
|
+
return getModelConflicts(modelType, measures, additional, mappingsPath, modelIdPath);
|
|
62
|
+
}
|
|
63
|
+
exports.getMeasureConflicts = getMeasureConflicts;
|
|
64
|
+
/**
|
|
65
|
+
* Find every conflicts between two objects.
|
|
66
|
+
* WARNING: "undefined" type of conflicts are not registered
|
|
67
|
+
* @param sourceObject The source object used to compare
|
|
68
|
+
* @param objectToCompare The target object to compare to
|
|
69
|
+
* @param basePath Optional path to be added before conflicts paths
|
|
70
|
+
* @returns An array of MappingsConflict
|
|
71
|
+
*/
|
|
72
|
+
function findConflicts(sourceObject, objectToCompare, basePath = "") {
|
|
73
|
+
if (sourceObject === objectToCompare) {
|
|
74
|
+
return [];
|
|
75
|
+
}
|
|
76
|
+
if (lodash_1.default.isEqual(sourceObject, objectToCompare)) {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
const conflicts = [];
|
|
80
|
+
function compareObjects(source, toCompare, path = "") {
|
|
81
|
+
//Loop over the source object properties of distinct depth level
|
|
82
|
+
lodash_1.default.forOwn(source, (value, key) => {
|
|
83
|
+
//Construct full path from the previous path and the current key
|
|
84
|
+
const fullPath = path ? `${path}.${key}` : key;
|
|
85
|
+
//Check the object to compare key availibility, if there's nothing return to continue on the next property
|
|
86
|
+
if (!lodash_1.default.has(toCompare, key)) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
//If the property to compare is an object, recursively call the method to advance on the next depth level
|
|
90
|
+
if (lodash_1.default.isObject(value) && lodash_1.default.isObject(toCompare[key])) {
|
|
91
|
+
compareObjects(value, toCompare[key], fullPath);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
//If the property to compare is not an object and is not equal to the source value, add the current/new value with it's corresponding full path
|
|
95
|
+
if (!lodash_1.default.isEqual(value, toCompare[key])) {
|
|
96
|
+
conflicts.push({
|
|
97
|
+
currentType: source[key],
|
|
98
|
+
newType: toCompare[key],
|
|
99
|
+
path: fullPath,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
compareObjects(sourceObject, objectToCompare, basePath);
|
|
105
|
+
return conflicts;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=ModelsConflicts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelsConflicts.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsConflicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ControllerDefinition, KuzzleRequest } from "kuzzle";
|
|
2
2
|
import { ModelService } from "./ModelService";
|
|
3
|
-
import { ApiModelWriteAssetResult, ApiModelWriteDeviceResult, ApiModelWriteMeasureResult, ApiModelDeleteAssetResult, ApiModelDeleteDeviceResult, ApiModelDeleteMeasureResult, ApiModelListAssetsResult, ApiModelListDevicesResult, ApiModelListMeasuresResult, ApiModelGetAssetResult, ApiModelGetDeviceResult, ApiModelGetMeasureResult } from "./types/ModelApi";
|
|
3
|
+
import { ApiModelWriteAssetResult, ApiModelWriteDeviceResult, ApiModelWriteMeasureResult, ApiModelUpdateAssetResult, ApiModelDeleteAssetResult, ApiModelDeleteDeviceResult, ApiModelDeleteMeasureResult, ApiModelListAssetsResult, ApiModelListDevicesResult, ApiModelListMeasuresResult, ApiModelGetAssetResult, ApiModelGetDeviceResult, ApiModelGetMeasureResult, ApiModelSearchAssetsResult, ApiModelSearchDevicesResult, ApiModelSearchMeasuresResult } from "./types/ModelApi";
|
|
4
4
|
export declare class ModelsController {
|
|
5
5
|
private modelService;
|
|
6
6
|
definition: ControllerDefinition;
|
|
@@ -17,4 +17,8 @@ export declare class ModelsController {
|
|
|
17
17
|
listAssets(request: KuzzleRequest): Promise<ApiModelListAssetsResult>;
|
|
18
18
|
listDevices(): Promise<ApiModelListDevicesResult>;
|
|
19
19
|
listMeasures(): Promise<ApiModelListMeasuresResult>;
|
|
20
|
+
searchAssets(request: KuzzleRequest): Promise<ApiModelSearchAssetsResult>;
|
|
21
|
+
searchDevices(request: KuzzleRequest): Promise<ApiModelSearchDevicesResult>;
|
|
22
|
+
searchMeasures(request: KuzzleRequest): Promise<ApiModelSearchMeasuresResult>;
|
|
23
|
+
updateAsset(request: KuzzleRequest): Promise<ApiModelUpdateAssetResult>;
|
|
20
24
|
}
|