kuzzle-device-manager-types 2.2.7 → 2.3.2
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/AssetModule.d.ts +1 -0
- package/dist/lib/modules/asset/AssetsGroupsController.d.ts +20 -0
- package/dist/lib/modules/asset/collections/assetsGroupsMapping.d.ts +2 -0
- package/dist/lib/modules/asset/collections/assetsMappings.d.ts +2 -47
- package/dist/lib/modules/asset/exports.d.ts +4 -0
- package/dist/lib/modules/asset/index.d.ts +3 -0
- package/dist/lib/modules/asset/roles/RoleAssetsGroupsAdmin.d.ts +24 -0
- package/dist/lib/modules/asset/roles/RoleAssetsGroupsReader.d.ts +24 -0
- package/dist/lib/modules/asset/types/AssetContent.d.ts +7 -0
- package/dist/lib/modules/asset/types/AssetGroupContent.d.ts +8 -0
- package/dist/lib/modules/asset/types/AssetGroupsApi.d.ts +59 -0
- package/dist/lib/modules/measure/MeasureExporter.d.ts +1 -0
- package/dist/lib/modules/model/types/ModelEvents.d.ts +8 -1
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +1 -0
- package/dist/lib/modules/plugin/types/InternalCollection.d.ts +1 -0
- package/dist/tests/application/decoders/DummyTempDecoder.d.ts +3 -0
- package/dist/tests/application/measures/AccelerationMeasure.d.ts +10 -0
- package/index.js +2 -0
- package/package.json +4 -5
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ControllerDefinition, KuzzleRequest } from "kuzzle";
|
|
2
|
+
import { DeviceManagerPlugin } from "../plugin";
|
|
3
|
+
import { ApiGroupAddAssetsResult, ApiGroupCreateResult, ApiGroupDeleteResult, ApiGroupGetResult, ApiGroupRemoveAssetsResult, ApiGroupSearchResult, ApiGroupUpdateResult, AssetsGroupsBodyRequest } from "./types/AssetGroupsApi";
|
|
4
|
+
export declare class AssetsGroupsController {
|
|
5
|
+
private plugin;
|
|
6
|
+
definition: ControllerDefinition;
|
|
7
|
+
constructor(plugin: DeviceManagerPlugin);
|
|
8
|
+
private get sdk();
|
|
9
|
+
private get as();
|
|
10
|
+
checkParent(engineId: string, parent: AssetsGroupsBodyRequest["parent"]): Promise<void>;
|
|
11
|
+
checkChildren(engineId: string, children: AssetsGroupsBodyRequest["children"]): Promise<void>;
|
|
12
|
+
checkGroupName(engineId: string, name: AssetsGroupsBodyRequest["name"], assetId?: string): Promise<void>;
|
|
13
|
+
create(request: KuzzleRequest): Promise<ApiGroupCreateResult>;
|
|
14
|
+
get(request: KuzzleRequest): Promise<ApiGroupGetResult>;
|
|
15
|
+
update(request: KuzzleRequest): Promise<ApiGroupUpdateResult>;
|
|
16
|
+
delete(request: KuzzleRequest): Promise<ApiGroupDeleteResult>;
|
|
17
|
+
search(request: KuzzleRequest): Promise<ApiGroupSearchResult>;
|
|
18
|
+
addAsset(request: KuzzleRequest): Promise<ApiGroupAddAssetsResult>;
|
|
19
|
+
removeAsset(request: KuzzleRequest): Promise<ApiGroupRemoveAssetsResult>;
|
|
20
|
+
}
|
|
@@ -1,52 +1,7 @@
|
|
|
1
|
+
import { CollectionMappings } from "kuzzle";
|
|
1
2
|
/**
|
|
2
3
|
* Base mappings for the "assets" collection.
|
|
3
4
|
*
|
|
4
5
|
* Those mappings does not contains the `measures` and `metadata` mappings.
|
|
5
6
|
*/
|
|
6
|
-
export declare const assetsMappings:
|
|
7
|
-
dynamic: string;
|
|
8
|
-
properties: {
|
|
9
|
-
model: {
|
|
10
|
-
type: string;
|
|
11
|
-
fields: {
|
|
12
|
-
text: {
|
|
13
|
-
type: string;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
reference: {
|
|
18
|
-
type: string;
|
|
19
|
-
fields: {
|
|
20
|
-
text: {
|
|
21
|
-
type: string;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
metadata: {
|
|
26
|
-
properties: {};
|
|
27
|
-
};
|
|
28
|
-
measures: {
|
|
29
|
-
properties: {};
|
|
30
|
-
};
|
|
31
|
-
linkedDevices: {
|
|
32
|
-
properties: {
|
|
33
|
-
_id: {
|
|
34
|
-
type: string;
|
|
35
|
-
};
|
|
36
|
-
measureNames: {
|
|
37
|
-
properties: {
|
|
38
|
-
asset: {
|
|
39
|
-
type: string;
|
|
40
|
-
};
|
|
41
|
-
device: {
|
|
42
|
-
type: string;
|
|
43
|
-
};
|
|
44
|
-
type: {
|
|
45
|
-
type: string;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
};
|
|
7
|
+
export declare const assetsMappings: CollectionMappings;
|
|
@@ -2,7 +2,11 @@ export * from "./types/AssetContent";
|
|
|
2
2
|
export * from "./types/AssetHistoryContent";
|
|
3
3
|
export * from "./types/AssetEvents";
|
|
4
4
|
export * from "./types/AssetApi";
|
|
5
|
+
export * from "./types/AssetGroupContent";
|
|
6
|
+
export * from "./types/AssetGroupsApi";
|
|
5
7
|
export * from "./roles/RoleAssetsAdmin";
|
|
6
8
|
export * from "./roles/RoleAssetsReader";
|
|
9
|
+
export * from "./roles/RoleAssetsGroupsAdmin";
|
|
10
|
+
export * from "./roles/RoleAssetsGroupsReader";
|
|
7
11
|
export * from "./collections/assetsMappings";
|
|
8
12
|
export * from "./collections/assetsHistoryMappings";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./collections/assetsMappings";
|
|
2
2
|
export * from "./collections/assetsHistoryMappings";
|
|
3
|
+
export * from "./collections/assetsGroupsMapping";
|
|
3
4
|
export * from "./types/AssetContent";
|
|
4
5
|
export * from "./types/AssetHistoryContent";
|
|
5
6
|
export * from "./types/AssetEvents";
|
|
@@ -8,3 +9,5 @@ export * from "./model/AssetSerializer";
|
|
|
8
9
|
export * from "./AssetModule";
|
|
9
10
|
export * from "./roles/RoleAssetsAdmin";
|
|
10
11
|
export * from "./roles/RoleAssetsReader";
|
|
12
|
+
export * from "./roles/RoleAssetsGroupsAdmin";
|
|
13
|
+
export * from "./roles/RoleAssetsGroupsReader";
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
getAsset: true,
|
|
19
|
+
writeAsset: true,
|
|
20
|
+
listMeasures: true,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
*/
|
|
24
|
+
export declare const RoleAssetsGroupsAdmin: KuzzleRole;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
getAsset: true,
|
|
19
|
+
writeAsset: true,
|
|
20
|
+
listMeasures: true,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
*/
|
|
24
|
+
export declare const RoleAssetsGroupsReader: KuzzleRole;
|
|
@@ -29,6 +29,13 @@ export interface AssetContent<TMeasures extends JSONObject = any, TMetadata exte
|
|
|
29
29
|
type: string;
|
|
30
30
|
}>;
|
|
31
31
|
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Id's of asset groups
|
|
34
|
+
*/
|
|
35
|
+
groups: Array<{
|
|
36
|
+
id: string;
|
|
37
|
+
date: number;
|
|
38
|
+
}>;
|
|
32
39
|
}
|
|
33
40
|
/**
|
|
34
41
|
* Asset description used to contextualize each measure data point
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { JSONObject, KDocument, KHit, SearchResult, mUpdateResponse } from "kuzzle-sdk";
|
|
2
|
+
import { AssetsGroupsBody, AssetsGroupContent } from "./AssetGroupContent";
|
|
3
|
+
type AssetsGroupsRequest = Omit<AssetsGroupsBody, "lastUpdate">;
|
|
4
|
+
export type AssetsGroupsBodyRequest = Partial<AssetsGroupsRequest> & Omit<AssetsGroupsRequest, "parent">;
|
|
5
|
+
export type UpdateAssetLinkResponse = mUpdateResponse & {
|
|
6
|
+
assetsGroups: KDocument<AssetsGroupContent>;
|
|
7
|
+
};
|
|
8
|
+
interface GroupControllerRequest {
|
|
9
|
+
controller: "device-manager/assetsGroup";
|
|
10
|
+
engineId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ApiGroupCreateRequest extends GroupControllerRequest {
|
|
13
|
+
action: "create";
|
|
14
|
+
_id?: string;
|
|
15
|
+
body: Omit<AssetsGroupsBodyRequest, "children">;
|
|
16
|
+
}
|
|
17
|
+
export type ApiGroupCreateResult = KDocument<AssetsGroupContent>;
|
|
18
|
+
export interface ApiGroupGetRequest extends GroupControllerRequest {
|
|
19
|
+
action: "get";
|
|
20
|
+
_id: string;
|
|
21
|
+
}
|
|
22
|
+
export type ApiGroupGetResult = KDocument<AssetsGroupContent>;
|
|
23
|
+
export interface ApiGroupUpdateRequest extends GroupControllerRequest {
|
|
24
|
+
action: "update";
|
|
25
|
+
_id: string;
|
|
26
|
+
body: AssetsGroupsBodyRequest;
|
|
27
|
+
}
|
|
28
|
+
export type ApiGroupUpdateResult = KDocument<AssetsGroupContent>;
|
|
29
|
+
export interface ApiGroupDeleteRequest extends GroupControllerRequest {
|
|
30
|
+
action: "delete";
|
|
31
|
+
_id: string;
|
|
32
|
+
}
|
|
33
|
+
export type ApiGroupDeleteResult = void;
|
|
34
|
+
export interface ApiGroupSearchRequest extends GroupControllerRequest {
|
|
35
|
+
action: "search";
|
|
36
|
+
from?: number;
|
|
37
|
+
size?: number;
|
|
38
|
+
scrollTTL?: string;
|
|
39
|
+
lang?: "koncorde" | "elasticsearch";
|
|
40
|
+
body: JSONObject;
|
|
41
|
+
}
|
|
42
|
+
export type ApiGroupSearchResult = SearchResult<KHit<AssetsGroupContent>>;
|
|
43
|
+
export interface ApiGroupAddAssetsRequest extends GroupControllerRequest {
|
|
44
|
+
action: "addAsset";
|
|
45
|
+
_id: string;
|
|
46
|
+
body: {
|
|
47
|
+
assetIds: string[];
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export type ApiGroupAddAssetsResult = UpdateAssetLinkResponse;
|
|
51
|
+
export interface ApiGroupRemoveAssetsRequest extends GroupControllerRequest {
|
|
52
|
+
action: "removeAsset";
|
|
53
|
+
_id: string;
|
|
54
|
+
body: {
|
|
55
|
+
assetIds: string[];
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export type ApiGroupRemoveAssetsResult = UpdateAssetLinkResponse;
|
|
59
|
+
export {};
|
|
@@ -53,6 +53,7 @@ export declare class MeasureExporter {
|
|
|
53
53
|
* the stream.
|
|
54
54
|
*/
|
|
55
55
|
sendExport(stream: PassThrough, exportId: string): Promise<void>;
|
|
56
|
+
private generateMeasureColumns;
|
|
56
57
|
getExport(exportId: string): Promise<ExportParams>;
|
|
57
58
|
private exportRedisKey;
|
|
58
59
|
private prepareMeasureSearch;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AssetModelContent, DeviceModelContent } from "./ModelContent";
|
|
1
|
+
import { AssetModelContent, DeviceModelContent, MeasureModelContent } from "./ModelContent";
|
|
2
2
|
export type AskModelAssetGet = {
|
|
3
3
|
name: "ask:device-manager:model:asset:get";
|
|
4
4
|
payload: {
|
|
@@ -14,3 +14,10 @@ export type AskModelDeviceGet = {
|
|
|
14
14
|
};
|
|
15
15
|
result: DeviceModelContent;
|
|
16
16
|
};
|
|
17
|
+
export type AskModelMeasureGet = {
|
|
18
|
+
name: "ask:device-manager:model:measure:get";
|
|
19
|
+
payload: {
|
|
20
|
+
type: string;
|
|
21
|
+
};
|
|
22
|
+
result: MeasureModelContent;
|
|
23
|
+
};
|
|
@@ -32,6 +32,7 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
|
|
|
32
32
|
}>;
|
|
33
33
|
createAssetsCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
|
|
34
34
|
createAssetsHistoryCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
|
|
35
|
+
createAssetsGroupsCollection(engineId: string): Promise<InternalCollection>;
|
|
35
36
|
private getDigitalTwinMappings;
|
|
36
37
|
createDevicesCollection(engineId: string): Promise<InternalCollection>;
|
|
37
38
|
createMeasuresCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
|
|
@@ -4,6 +4,9 @@ export declare class DummyTempDecoder extends Decoder {
|
|
|
4
4
|
measures: readonly [{
|
|
5
5
|
readonly name: "temperature";
|
|
6
6
|
readonly type: "temperature";
|
|
7
|
+
}, {
|
|
8
|
+
readonly name: "accelerationSensor";
|
|
9
|
+
readonly type: "acceleration";
|
|
7
10
|
}, {
|
|
8
11
|
readonly name: "battery";
|
|
9
12
|
readonly type: "battery";
|
package/index.js
ADDED
package/package.json
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kuzzle-device-manager-types",
|
|
3
|
-
"version": "2.2
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "Shared types for Kuzzle Device Manager",
|
|
5
5
|
"author": "The Kuzzle Team (support@kuzzle.io)",
|
|
6
|
+
"main": "index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
7
8
|
"repository": {
|
|
8
9
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/kuzzleio/kuzzle-plugin-device-manager"
|
|
10
|
+
"url": "git+https://github.com/kuzzleio/kuzzle-plugin-device-manager.git"
|
|
10
11
|
},
|
|
11
12
|
"scripts": {
|
|
12
13
|
"prepack": "npm run build",
|
|
13
|
-
"build": "
|
|
14
|
+
"build": "./copy-types.sh && node scripts/copy-version.js"
|
|
14
15
|
},
|
|
15
16
|
"license": "Apache-2.0",
|
|
16
|
-
"dependencies": {},
|
|
17
|
-
"devDependencies": {},
|
|
18
17
|
"files": [
|
|
19
18
|
"dist/**/*.d.ts"
|
|
20
19
|
]
|