kuzzle-device-manager-types 2.0.0-rc29 → 2.0.0-rc38
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/README.md +17 -0
- package/dist/features/fixtures/application/decoders/DummyTempDecoder.d.ts +1 -1
- package/dist/features/fixtures/application/decoders/DummyTempPositionDecoder.d.ts +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/lib/core/DeviceManagerConfiguration.d.ts +1 -1
- package/dist/lib/core/DeviceManagerEngine.d.ts +3 -2
- package/dist/lib/core/DeviceManagerPlugin.d.ts +5 -4
- package/dist/lib/core/InternalCollection.d.ts +1 -0
- package/dist/lib/core/exports.d.ts +2 -0
- package/dist/lib/core/registers/ModelsRegister.d.ts +4 -3
- package/dist/lib/modules/asset/AssetHistoryService.d.ts +11 -0
- package/dist/lib/modules/asset/AssetModule.d.ts +1 -0
- package/dist/lib/modules/asset/AssetService.d.ts +11 -5
- package/dist/lib/modules/asset/collections/assetsHistoryMappings.d.ts +63 -0
- package/dist/lib/modules/asset/collections/assetsMappings.d.ts +9 -3
- package/dist/lib/modules/asset/exports.d.ts +6 -0
- package/dist/lib/modules/asset/index.d.ts +4 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.d.ts +22 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +21 -0
- package/dist/lib/modules/asset/types/AssetApi.d.ts +6 -6
- package/dist/lib/modules/asset/types/AssetContent.d.ts +10 -7
- package/dist/lib/modules/asset/types/AssetEvents.d.ts +15 -2
- package/dist/lib/modules/asset/types/AssetHistoryContent.d.ts +50 -0
- package/dist/lib/modules/decoder/DecodedPayload.d.ts +1 -0
- package/dist/lib/modules/decoder/Decoder.d.ts +3 -2
- package/dist/lib/modules/decoder/exports.d.ts +6 -0
- package/dist/lib/modules/decoder/index.d.ts +2 -0
- package/dist/lib/modules/decoder/roles/RoleDecodersAdmin.d.ts +14 -0
- package/dist/lib/modules/decoder/roles/RolePayloadsAll.d.ts +12 -0
- package/dist/lib/modules/decoder/types/DecoderApi.d.ts +2 -2
- package/dist/lib/modules/decoder/types/PayloadApi.d.ts +1 -1
- package/dist/lib/modules/device/DeviceService.d.ts +15 -8
- package/dist/lib/modules/device/exports.d.ts +6 -0
- package/dist/lib/modules/device/index.d.ts +3 -0
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +27 -0
- package/dist/lib/modules/device/roles/RoleDevicesPlatformAdmin.d.ts +21 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +21 -0
- package/dist/lib/modules/device/types/DeviceApi.d.ts +19 -16
- package/dist/lib/modules/device/types/DeviceEvents.d.ts +14 -3
- package/dist/lib/modules/measure/MeasureModule.d.ts +0 -1
- package/dist/lib/modules/measure/MeasureService.d.ts +3 -16
- package/dist/lib/modules/measure/collections/measuresMappings.d.ts +0 -23
- package/dist/lib/modules/measure/exports.d.ts +6 -0
- package/dist/lib/modules/measure/index.d.ts +2 -1
- package/dist/lib/modules/measure/measures/BatteryMeasure.d.ts +2 -2
- package/dist/lib/modules/measure/measures/HumidityMeasure.d.ts +2 -2
- package/dist/lib/modules/measure/measures/MovementMeasure.d.ts +2 -2
- package/dist/lib/modules/measure/measures/PositionMeasure.d.ts +2 -2
- package/dist/lib/modules/measure/measures/TemperatureMeasure.d.ts +2 -2
- package/dist/lib/modules/measure/roles/RoleMeasuresAdmin.d.ts +16 -0
- package/dist/lib/modules/measure/roles/RoleMeasuresReader.d.ts +14 -0
- package/dist/lib/modules/measure/types/MeasureContent.d.ts +47 -32
- package/dist/lib/modules/measure/types/MeasureEvents.d.ts +12 -5
- package/dist/lib/modules/model/ModelService.d.ts +2 -2
- package/dist/lib/modules/model/ModelsController.d.ts +4 -4
- package/dist/lib/modules/model/exports.d.ts +3 -0
- package/dist/lib/modules/model/index.d.ts +1 -0
- package/dist/lib/modules/model/types/ModelApi.d.ts +18 -21
- package/dist/lib/modules/model/types/ModelContent.d.ts +12 -11
- package/dist/lib/modules/model/types/ModelDefinition.d.ts +55 -5
- package/dist/lib/modules/model/types/ModelEvents.d.ts +2 -2
- package/dist/lib/modules/shared/exports.d.ts +3 -0
- package/dist/lib/modules/shared/index.d.ts +3 -0
- package/dist/lib/modules/shared/types/EmbeddedMeasure.d.ts +1 -1
- package/dist/lib/modules/shared/types/KuzzleRole.d.ts +5 -0
- package/dist/lib/modules/shared/types/Metadata.d.ts +2 -2
- package/dist/lib/modules/shared/utils/ask.d.ts +2 -2
- package/dist/lib/modules/shared/utils/snakeCase.d.ts +7 -0
- package/package.json +1 -1
- package/dist/lib/modules/asset/roles/assetsAdmin.d.ts +0 -16
- package/dist/lib/modules/asset/roles/assetsReader.d.ts +0 -16
- package/dist/lib/modules/decoder/roles/decodersAdmin.d.ts +0 -9
- package/dist/lib/modules/device/roles/devicesAdmin.d.ts +0 -22
- package/dist/lib/modules/device/roles/devicesPlatformAdmin.d.ts +0 -16
- package/dist/lib/modules/device/roles/devicesReader.d.ts +0 -15
- package/dist/lib/modules/measure/MeasuresController.d.ts +0 -9
- package/dist/lib/modules/measure/roles/measuresAdmin.d.ts +0 -16
- package/dist/lib/modules/measure/roles/measuresReader.d.ts +0 -9
- package/dist/lib/modules/measure/types/MeasureApi.d.ts +0 -23
package/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Kuzzle Device Manager Types
|
|
2
|
+
|
|
3
|
+
This package only contains types to work with in a frontend application.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
import { DeviceContent } from 'kuzzle-device-manager-types';
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
let device: DeviceContent;
|
|
11
|
+
|
|
12
|
+
device.model = "Abeeway";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
See main package for more informations:
|
|
16
|
+
- [Github](https://github.com/kuzzleio/kuzzle-device-manager)
|
|
17
|
+
- [NPM](https://www.npmjs.com/package/kuzzle-device-manager)
|
|
@@ -7,5 +7,5 @@ export declare class DummyTempDecoder extends Decoder {
|
|
|
7
7
|
}];
|
|
8
8
|
constructor();
|
|
9
9
|
validate(payload: JSONObject): Promise<boolean>;
|
|
10
|
-
decode(payload: JSONObject): Promise<DecodedPayload<
|
|
10
|
+
decode(decodedPayload: DecodedPayload<DummyTempDecoder>, payload: JSONObject): Promise<DecodedPayload<DummyTempDecoder>>;
|
|
11
11
|
}
|
|
@@ -12,5 +12,5 @@ export declare class DummyTempPositionDecoder extends Decoder {
|
|
|
12
12
|
readonly type: "position";
|
|
13
13
|
}];
|
|
14
14
|
validate(payload: JSONObject): Promise<boolean>;
|
|
15
|
-
decode(payload: JSONObject): Promise<DecodedPayload<
|
|
15
|
+
decode(decodedPayload: DecodedPayload<DummyTempPositionDecoder>, payload: JSONObject): Promise<DecodedPayload<DummyTempPositionDecoder>>;
|
|
16
16
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './lib/core/
|
|
2
|
-
export * from './lib/
|
|
3
|
-
export * from './lib/modules/
|
|
4
|
-
export * from './lib/modules/
|
|
5
|
-
export * from './lib/modules/
|
|
6
|
-
export * from './lib/modules/
|
|
7
|
-
export * from './lib/modules/
|
|
1
|
+
export * from './lib/core/exports';
|
|
2
|
+
export * from './lib/modules/asset/exports';
|
|
3
|
+
export * from './lib/modules/device/exports';
|
|
4
|
+
export * from './lib/modules/measure/exports';
|
|
5
|
+
export * from './lib/modules/decoder/exports';
|
|
6
|
+
export * from './lib/modules/shared/exports';
|
|
7
|
+
export * from './lib/modules/model/exports';
|
|
@@ -3,7 +3,7 @@ import { AbstractEngine, ConfigManager } from "kuzzle-plugin-commons";
|
|
|
3
3
|
import { DeviceManagerConfiguration } from "./DeviceManagerConfiguration";
|
|
4
4
|
import { DeviceManagerPlugin } from "./DeviceManagerPlugin";
|
|
5
5
|
import { InternalCollection } from "./InternalCollection";
|
|
6
|
-
export
|
|
6
|
+
export type AskEngineUpdateAll = {
|
|
7
7
|
name: "ask:device-manager:engine:updateAll";
|
|
8
8
|
payload: void;
|
|
9
9
|
result: void;
|
|
@@ -20,9 +20,10 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
|
|
|
20
20
|
collections: any[];
|
|
21
21
|
}>;
|
|
22
22
|
onDelete(index: string): Promise<{
|
|
23
|
-
collections:
|
|
23
|
+
collections: InternalCollection[];
|
|
24
24
|
}>;
|
|
25
25
|
createAssetsCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
|
|
26
|
+
createAssetsHistoryCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
|
|
26
27
|
private getDigitalTwinMappings;
|
|
27
28
|
createDevicesCollection(engineId: string): Promise<InternalCollection>;
|
|
28
29
|
createMeasuresCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Plugin, PluginContext, JSONObject } from "kuzzle";
|
|
2
2
|
import { MeasureDefinition } from "../modules/measure";
|
|
3
3
|
import { AssetModelDefinition, DeviceModelDefinition } from "../modules/model";
|
|
4
|
+
import { KuzzleRole } from "../modules/shared";
|
|
4
5
|
import { DeviceManagerConfiguration } from "./DeviceManagerConfiguration";
|
|
5
6
|
export declare class DeviceManagerPlugin extends Plugin {
|
|
6
7
|
config: DeviceManagerConfiguration;
|
|
7
|
-
roles:
|
|
8
|
+
roles: KuzzleRole[];
|
|
8
9
|
private deviceManagerEngine;
|
|
9
10
|
private adminConfigManager;
|
|
10
11
|
private engineConfigManager;
|
|
@@ -23,7 +24,7 @@ export declare class DeviceManagerPlugin extends Plugin {
|
|
|
23
24
|
*
|
|
24
25
|
* @param engineGroup Engine group name
|
|
25
26
|
* @param model Name of the asset model
|
|
26
|
-
* @param definition.
|
|
27
|
+
* @param definition.measures Array describing measures names and types
|
|
27
28
|
* @param definition.metadataMappings Metadata mappings definition
|
|
28
29
|
* @param definition.defaultMetadata Default metadata values
|
|
29
30
|
*
|
|
@@ -31,9 +32,9 @@ export declare class DeviceManagerPlugin extends Plugin {
|
|
|
31
32
|
* ```
|
|
32
33
|
* deviceManager.models.registerAsset(
|
|
33
34
|
* "logistic",
|
|
34
|
-
* "
|
|
35
|
+
* "Container",
|
|
35
36
|
* {
|
|
36
|
-
*
|
|
37
|
+
* measures: [
|
|
37
38
|
* { name: "temperatureExt", type: "temperature" },
|
|
38
39
|
* { name: "temperatureInt", type: "temperature" },
|
|
39
40
|
* { name: "position", type: "position" },
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JSONObject } from "kuzzle";
|
|
2
|
-
import {
|
|
2
|
+
import { NamedMeasures } from "../../modules/decoder";
|
|
3
|
+
import { MeasureDefinition } from "../../modules/measure";
|
|
3
4
|
import { DeviceManagerPlugin } from "../DeviceManagerPlugin";
|
|
4
5
|
export declare class ModelsRegister {
|
|
5
6
|
private config;
|
|
@@ -10,8 +11,8 @@ export declare class ModelsRegister {
|
|
|
10
11
|
private get sdk();
|
|
11
12
|
init(plugin: DeviceManagerPlugin): void;
|
|
12
13
|
loadModels(): Promise<void>;
|
|
13
|
-
registerAsset(engineGroup: string, model: string,
|
|
14
|
-
registerDevice(model: string,
|
|
14
|
+
registerAsset(engineGroup: string, model: string, measures: NamedMeasures, metadataMappings?: JSONObject, defaultMetadata?: JSONObject): void;
|
|
15
|
+
registerDevice(model: string, measures: NamedMeasures, metadataMappings?: JSONObject, defaultMetadata?: JSONObject): void;
|
|
15
16
|
registerMeasure(type: string, measureDefinition: MeasureDefinition): void;
|
|
16
17
|
private load;
|
|
17
18
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { KDocument } from "kuzzle";
|
|
2
|
+
import { DeviceManagerPlugin } from "../../core";
|
|
3
|
+
import { AssetHistoryEvent } from "./types/AssetHistoryContent";
|
|
4
|
+
import { AssetContent } from "./types/AssetContent";
|
|
5
|
+
export declare class AssetHistoryService {
|
|
6
|
+
private context;
|
|
7
|
+
private config;
|
|
8
|
+
private get sdk();
|
|
9
|
+
constructor(plugin: DeviceManagerPlugin);
|
|
10
|
+
add<TAssetHistoryEvent extends AssetHistoryEvent>(engineId: string, event: TAssetHistoryEvent, asset: KDocument<AssetContent>): Promise<void>;
|
|
11
|
+
}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { JSONObject, KDocument, KHit, SearchResult } from "kuzzle";
|
|
1
|
+
import { JSONObject, KDocument, KHit, SearchResult, User } from "kuzzle";
|
|
2
2
|
import { MeasureContent } from "../measure/";
|
|
3
3
|
import { Metadata } from "../shared";
|
|
4
4
|
import { DeviceManagerPlugin } from "../../core";
|
|
5
5
|
import { AssetContent } from "./types/AssetContent";
|
|
6
|
+
import { AssetHistoryService } from "./AssetHistoryService";
|
|
6
7
|
export declare class AssetService {
|
|
7
8
|
private context;
|
|
8
9
|
private config;
|
|
10
|
+
private assetHistoryService;
|
|
9
11
|
private get sdk();
|
|
10
12
|
private get app();
|
|
11
|
-
|
|
13
|
+
private get impersonatedSdk();
|
|
14
|
+
constructor(plugin: DeviceManagerPlugin, assetHistoryService: AssetHistoryService);
|
|
12
15
|
/**
|
|
13
16
|
* Returns measures history for an asset
|
|
14
17
|
*
|
|
@@ -24,13 +27,16 @@ export declare class AssetService {
|
|
|
24
27
|
endAt?: string;
|
|
25
28
|
}): Promise<KDocument<MeasureContent>[]>;
|
|
26
29
|
get(engineId: string, assetId: string): Promise<KDocument<AssetContent>>;
|
|
27
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Updates an asset metadata
|
|
32
|
+
*/
|
|
33
|
+
update(user: User, engineId: string, assetId: string, metadata: Metadata, { refresh }: {
|
|
28
34
|
refresh: any;
|
|
29
35
|
}): Promise<KDocument<AssetContent>>;
|
|
30
|
-
create(engineId: string, model: string, reference: string, metadata: JSONObject, { refresh }: {
|
|
36
|
+
create(user: User, engineId: string, model: string, reference: string, metadata: JSONObject, { refresh }: {
|
|
31
37
|
refresh: any;
|
|
32
38
|
}): Promise<KDocument<AssetContent>>;
|
|
33
|
-
delete(engineId: string, assetId: string, { refresh, strict }: {
|
|
39
|
+
delete(user: User, engineId: string, assetId: string, { refresh, strict }: {
|
|
34
40
|
refresh: any;
|
|
35
41
|
strict: boolean;
|
|
36
42
|
}): Promise<void>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export declare const assetsHistoryMappings: {
|
|
2
|
+
dynamic: string;
|
|
3
|
+
properties: {
|
|
4
|
+
event: {
|
|
5
|
+
properties: {
|
|
6
|
+
name: {
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
measure: {
|
|
10
|
+
properties: {
|
|
11
|
+
names: {
|
|
12
|
+
type: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
metadata: {
|
|
17
|
+
properties: {
|
|
18
|
+
names: {
|
|
19
|
+
type: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
link: {
|
|
24
|
+
properties: {
|
|
25
|
+
deviceId: {
|
|
26
|
+
type: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
unlink: {
|
|
31
|
+
properties: {
|
|
32
|
+
deviceId: {
|
|
33
|
+
type: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
id: {
|
|
40
|
+
type: string;
|
|
41
|
+
};
|
|
42
|
+
asset: {
|
|
43
|
+
properties: {
|
|
44
|
+
_kuzzle_info: {
|
|
45
|
+
properties: {
|
|
46
|
+
author: {
|
|
47
|
+
type: string;
|
|
48
|
+
};
|
|
49
|
+
createdAt: {
|
|
50
|
+
type: string;
|
|
51
|
+
};
|
|
52
|
+
updatedAt: {
|
|
53
|
+
type: string;
|
|
54
|
+
};
|
|
55
|
+
updater: {
|
|
56
|
+
type: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
};
|
|
@@ -28,9 +28,15 @@ export declare const assetsMappings: {
|
|
|
28
28
|
_id: {
|
|
29
29
|
type: string;
|
|
30
30
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
measureNames: {
|
|
32
|
+
properties: {
|
|
33
|
+
asset: {
|
|
34
|
+
type: string;
|
|
35
|
+
};
|
|
36
|
+
device: {
|
|
37
|
+
type: string;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
34
40
|
};
|
|
35
41
|
};
|
|
36
42
|
};
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
export * from "./collections/assetsMappings";
|
|
2
|
+
export * from "./collections/assetsHistoryMappings";
|
|
2
3
|
export * from "./types/AssetContent";
|
|
4
|
+
export * from "./types/AssetHistoryContent";
|
|
3
5
|
export * from "./types/AssetEvents";
|
|
4
6
|
export * from "./types/AssetApi";
|
|
5
7
|
export * from "./model/AssetSerializer";
|
|
6
8
|
export * from "./AssetModule";
|
|
9
|
+
export * from "./roles/RoleAssetsAdmin";
|
|
10
|
+
export * from "./roles/RoleAssetsReader";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { KuzzleRole } from "../../shared/types/KuzzleRole";
|
|
2
|
+
/**
|
|
3
|
+
* This role allows to manage assets and their models.
|
|
4
|
+
*
|
|
5
|
+
* It's a tenant role.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
*
|
|
9
|
+
"device-manager/assets": {
|
|
10
|
+
actions: {
|
|
11
|
+
"*": true,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
"device-manager/models": {
|
|
15
|
+
actions: {
|
|
16
|
+
deleteAsset: true,
|
|
17
|
+
listAssets: true,
|
|
18
|
+
writeAsset: true,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
*/
|
|
22
|
+
export declare const RoleAssetsAdmin: KuzzleRole;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { KuzzleRole } from "../../shared/types/KuzzleRole";
|
|
2
|
+
/**
|
|
3
|
+
* This role only gives a read-only access to assets and their models.
|
|
4
|
+
*
|
|
5
|
+
* It's a tenant role.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
"device-manager/assets": {
|
|
9
|
+
actions: {
|
|
10
|
+
get: true,
|
|
11
|
+
getMeasures: true,
|
|
12
|
+
search: true,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
"device-manager/models": {
|
|
16
|
+
actions: {
|
|
17
|
+
listAssets: true,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
*/
|
|
21
|
+
export declare const RoleAssetsReader: KuzzleRole;
|
|
@@ -10,7 +10,7 @@ export interface ApiAssetGetRequest extends AssetsControllerRequest {
|
|
|
10
10
|
action: "get";
|
|
11
11
|
_id: string;
|
|
12
12
|
}
|
|
13
|
-
export
|
|
13
|
+
export type ApiAssetGetResult = KDocument<AssetContent>;
|
|
14
14
|
export interface ApiAssetUpdateRequest extends AssetsControllerRequest {
|
|
15
15
|
action: "update";
|
|
16
16
|
_id: string;
|
|
@@ -19,7 +19,7 @@ export interface ApiAssetUpdateRequest extends AssetsControllerRequest {
|
|
|
19
19
|
metadata: Metadata;
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
export
|
|
22
|
+
export type ApiAssetUpdateResult = KDocument<AssetContent>;
|
|
23
23
|
export interface ApiAssetCreateRequest extends AssetsControllerRequest {
|
|
24
24
|
action: "create";
|
|
25
25
|
refresh?: string;
|
|
@@ -29,14 +29,14 @@ export interface ApiAssetCreateRequest extends AssetsControllerRequest {
|
|
|
29
29
|
metadata?: Metadata;
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
export
|
|
32
|
+
export type ApiAssetCreateResult = KDocument<AssetContent>;
|
|
33
33
|
export interface ApiAssetDeleteRequest extends AssetsControllerRequest {
|
|
34
34
|
action: "delete";
|
|
35
35
|
_id: string;
|
|
36
36
|
refresh?: string;
|
|
37
37
|
strict?: boolean;
|
|
38
38
|
}
|
|
39
|
-
export
|
|
39
|
+
export type ApiAssetDeleteResult = void;
|
|
40
40
|
export interface ApiAssetSearchRequest extends AssetsControllerRequest {
|
|
41
41
|
action: "search";
|
|
42
42
|
from?: number;
|
|
@@ -44,7 +44,7 @@ export interface ApiAssetSearchRequest extends AssetsControllerRequest {
|
|
|
44
44
|
scrollTTL?: string;
|
|
45
45
|
body: JSONObject;
|
|
46
46
|
}
|
|
47
|
-
export
|
|
47
|
+
export type ApiAssetSearchResult = SearchResult<KHit<AssetContent>>;
|
|
48
48
|
export interface ApiAssetGetMeasuresRequest extends AssetsControllerRequest {
|
|
49
49
|
action: "getMeasures";
|
|
50
50
|
_id: string;
|
|
@@ -52,7 +52,7 @@ export interface ApiAssetGetMeasuresRequest extends AssetsControllerRequest {
|
|
|
52
52
|
startAt?: string;
|
|
53
53
|
endAt?: string;
|
|
54
54
|
}
|
|
55
|
-
export
|
|
55
|
+
export type ApiAssetGetMeasuresResult = {
|
|
56
56
|
measures: Array<KDocument<MeasureContent<JSONObject>>>;
|
|
57
57
|
};
|
|
58
58
|
export {};
|
|
@@ -13,23 +13,26 @@ export interface AssetContent<TMeasures extends JSONObject = any, TMetadata exte
|
|
|
13
13
|
*/
|
|
14
14
|
_id: string;
|
|
15
15
|
/**
|
|
16
|
-
* Names
|
|
16
|
+
* Names of the linked measures
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
* Array<{ asset: string, device: string }>
|
|
19
19
|
*
|
|
20
20
|
* @example
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
* "
|
|
24
|
-
*
|
|
22
|
+
* [
|
|
23
|
+
* { asset: "externalTemperature", device: "temperature" }
|
|
24
|
+
* ]
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
measureNames: Array<{
|
|
27
|
+
asset: string;
|
|
28
|
+
device: string;
|
|
29
|
+
}>;
|
|
27
30
|
}>;
|
|
28
31
|
}
|
|
29
32
|
/**
|
|
30
33
|
* Asset description used to contextualize each measure data point
|
|
31
34
|
*/
|
|
32
|
-
export
|
|
35
|
+
export type AssetMeasureContext<TMetadata extends Metadata = Metadata> = {
|
|
33
36
|
/**
|
|
34
37
|
* ID of the asset
|
|
35
38
|
*/
|
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
import { KDocument } from "kuzzle";
|
|
2
2
|
import { Metadata } from "../../../modules/shared";
|
|
3
3
|
import { AssetContent } from "./AssetContent";
|
|
4
|
-
|
|
4
|
+
import { AssetHistoryEvent } from "./AssetHistoryContent";
|
|
5
|
+
export type EventAssetUpdateBefore = {
|
|
5
6
|
name: "device-manager:asset:update:before";
|
|
6
7
|
args: [{
|
|
7
8
|
asset: KDocument<AssetContent>;
|
|
8
9
|
metadata: Metadata;
|
|
9
10
|
}];
|
|
10
11
|
};
|
|
11
|
-
export
|
|
12
|
+
export type EventAssetUpdateAfter = {
|
|
12
13
|
name: "device-manager:asset:update:after";
|
|
13
14
|
args: [{
|
|
14
15
|
asset: KDocument<AssetContent>;
|
|
15
16
|
metadata: Metadata;
|
|
16
17
|
}];
|
|
17
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export type AskAssetHistoryAdd<TAssetHistoryEvent extends AssetHistoryEvent> = {
|
|
23
|
+
name: "ask:device-manager:asset:history:add";
|
|
24
|
+
payload: {
|
|
25
|
+
engineId: string;
|
|
26
|
+
event: TAssetHistoryEvent;
|
|
27
|
+
asset: KDocument<AssetContent>;
|
|
28
|
+
};
|
|
29
|
+
result: void;
|
|
30
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { JSONObject, KDocumentContent } from "kuzzle";
|
|
2
|
+
import { Metadata } from "../../shared";
|
|
3
|
+
import { AssetContent } from "./AssetContent";
|
|
4
|
+
export type AssetHistoryEventMeasure = {
|
|
5
|
+
name: "measure";
|
|
6
|
+
measure: {
|
|
7
|
+
names: string[];
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export type AssetHistoryEventMetadata = {
|
|
11
|
+
name: "metadata";
|
|
12
|
+
metadata: {
|
|
13
|
+
names: string[];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export type AssetHistoryEventLink = {
|
|
17
|
+
name: "link";
|
|
18
|
+
link: {
|
|
19
|
+
deviceId: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export type AssetHistoryEventUnlink = {
|
|
23
|
+
name: "unlink";
|
|
24
|
+
unlink: {
|
|
25
|
+
deviceId: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export type AssetHistoryEvent = AssetHistoryEventMeasure | AssetHistoryEventMetadata | AssetHistoryEventLink | AssetHistoryEventUnlink;
|
|
29
|
+
/**
|
|
30
|
+
* Asset History document content
|
|
31
|
+
*/
|
|
32
|
+
export interface AssetHistoryContent<TAssetHistoryEvent extends AssetHistoryEvent = any, TMeasures extends JSONObject = any, TMetadata extends Metadata = any> extends KDocumentContent {
|
|
33
|
+
/**
|
|
34
|
+
* Name of the event who caused the historization
|
|
35
|
+
*
|
|
36
|
+
* - `measure` a new measure has been received
|
|
37
|
+
* - `metadata` the asset metadata has been updated
|
|
38
|
+
* - `link` a device has been linked or unlinked to the asset
|
|
39
|
+
* - `unlink` a device has been unlinked from the asset
|
|
40
|
+
*/
|
|
41
|
+
event: TAssetHistoryEvent;
|
|
42
|
+
/**
|
|
43
|
+
* ID of the historized asset
|
|
44
|
+
*/
|
|
45
|
+
id: string;
|
|
46
|
+
/**
|
|
47
|
+
* Asset content after the event
|
|
48
|
+
*/
|
|
49
|
+
asset: AssetContent<TMeasures, TMetadata>;
|
|
50
|
+
}
|
|
@@ -4,7 +4,7 @@ import { DecoderContent } from "./types/DecoderContent";
|
|
|
4
4
|
/**
|
|
5
5
|
* Array of measures declaration
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export type NamedMeasures = ReadonlyArray<{
|
|
8
8
|
name: string;
|
|
9
9
|
type: string;
|
|
10
10
|
}>;
|
|
@@ -82,12 +82,13 @@ export declare abstract class Decoder {
|
|
|
82
82
|
* - set "reference"
|
|
83
83
|
* - fetch measures
|
|
84
84
|
*
|
|
85
|
+
* @param decodedPayload Decoded payload to store decoded measures
|
|
85
86
|
* @param payload Raw payload received in the API action body
|
|
86
87
|
* @param request Original request
|
|
87
88
|
*
|
|
88
89
|
* @returns DecodedPayload
|
|
89
90
|
*/
|
|
90
|
-
abstract decode(payload: JSONObject, request: KuzzleRequest): Promise<DecodedPayload<
|
|
91
|
+
abstract decode(decodedPayload: DecodedPayload<any>, payload: JSONObject, request: KuzzleRequest): Promise<DecodedPayload<any>>;
|
|
91
92
|
/**
|
|
92
93
|
* Checks if the provided properties are present in the payload
|
|
93
94
|
*
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { KuzzleRole } from "../../shared/types/KuzzleRole";
|
|
2
|
+
/**
|
|
3
|
+
* Role used to manage decoders and their payloads.
|
|
4
|
+
*
|
|
5
|
+
* It's a platform role.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
"device-manager/decoders": {
|
|
9
|
+
actions: {
|
|
10
|
+
"*": true,
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
*/
|
|
14
|
+
export declare const RoleDecodersAdmin: KuzzleRole;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KuzzleRole } from "../../shared/types/KuzzleRole";
|
|
2
|
+
/**
|
|
3
|
+
* This role allows to receive any kind of payloads.
|
|
4
|
+
*
|
|
5
|
+
@example
|
|
6
|
+
"device-manager/payloads": {
|
|
7
|
+
actions: {
|
|
8
|
+
"*": true,
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
*/
|
|
12
|
+
export declare const RolePayloadsAll: KuzzleRole;
|
|
@@ -6,14 +6,14 @@ export interface ApiDecoderListRequest extends DecodersControllerRequest {
|
|
|
6
6
|
action: "list";
|
|
7
7
|
_id: string;
|
|
8
8
|
}
|
|
9
|
-
export
|
|
9
|
+
export type ApiDecoderListResult = {
|
|
10
10
|
decoders: DecoderContent[];
|
|
11
11
|
};
|
|
12
12
|
export interface ApiDecoderPrunePayloadsRequest extends DecodersControllerRequest {
|
|
13
13
|
action: "prunePayloads";
|
|
14
14
|
_id: string;
|
|
15
15
|
}
|
|
16
|
-
export
|
|
16
|
+
export type ApiDecoderPrunePayloadsResult = {
|
|
17
17
|
deleted: number;
|
|
18
18
|
};
|
|
19
19
|
export {};
|