kuzzle-device-manager-types 3.0.0-next.2 → 3.0.0-next.4
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/index.d.ts +1 -0
- package/dist/lib/modules/asset/AssetModule.d.ts +0 -1
- package/dist/lib/modules/asset/AssetService.d.ts +9 -1
- package/dist/lib/modules/asset/AssetsController.d.ts +7 -1
- package/dist/lib/modules/asset/exports.d.ts +0 -4
- package/dist/lib/modules/asset/index.d.ts +1 -3
- package/dist/lib/modules/asset/types/AssetApi.d.ts +5 -2
- package/dist/lib/modules/asset/types/AssetContent.d.ts +1 -1
- package/dist/lib/modules/asset/types/AssetHistoryContent.d.ts +1 -8
- package/dist/lib/modules/decoder/DecodedPayload.d.ts +2 -0
- package/dist/lib/modules/decoder/types/DecoderApi.d.ts +0 -1
- package/dist/lib/modules/device/DeviceService.d.ts +18 -1
- package/dist/lib/modules/device/types/DeviceApi.d.ts +0 -1
- package/dist/lib/modules/{asset/AssetsGroupsController.d.ts → group/GroupsController.d.ts} +14 -6
- package/dist/lib/modules/group/GroupsModule.d.ts +6 -0
- package/dist/lib/modules/group/GroupsService.d.ts +47 -0
- package/dist/lib/modules/group/collections/groupsMappings.d.ts +2 -0
- package/dist/lib/modules/group/exports.d.ts +5 -0
- package/dist/lib/modules/group/index.d.ts +4 -0
- package/dist/lib/modules/{asset/roles/RoleAssetsGroupsAdmin.d.ts → group/roles/RoleGroupsAdmin.d.ts} +3 -3
- package/dist/lib/modules/{asset/roles/RoleAssetsGroupsReader.d.ts → group/roles/RoleGroupsReader.d.ts} +3 -3
- package/dist/lib/modules/group/types/GroupContent.d.ts +10 -0
- package/dist/lib/modules/{asset/types/AssetGroupsApi.d.ts → group/types/GroupsApi.d.ts} +13 -13
- package/dist/lib/modules/measure/MeasureExporter.d.ts +2 -0
- package/dist/lib/modules/measure/MeasureService.d.ts +11 -38
- package/dist/lib/modules/measure/MeasureSourcesBuilder.d.ts +1 -2
- package/dist/lib/modules/measure/collections/measuresMappings.d.ts +1 -1
- package/dist/lib/modules/measure/exports.d.ts +0 -1
- package/dist/lib/modules/measure/index.d.ts +0 -1
- package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +4 -0
- package/dist/lib/modules/measure/types/MeasureEvents.d.ts +5 -148
- package/dist/lib/modules/measure/types/MeasureSources.d.ts +1 -0
- package/dist/lib/modules/model/ModelService.d.ts +15 -4
- package/dist/lib/modules/model/ModelsConflicts.d.ts +9 -1
- package/dist/lib/modules/model/ModelsController.d.ts +6 -1
- package/dist/lib/modules/model/ModelsRegister.d.ts +18 -2
- package/dist/lib/modules/model/types/ModelApi.d.ts +49 -1
- package/dist/lib/modules/model/types/ModelContent.d.ts +133 -2
- package/dist/lib/modules/model/types/ModelDefinition.d.ts +106 -2
- package/dist/lib/modules/model/types/ModelEvents.d.ts +8 -1
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +22 -5
- package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +55 -1
- package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +4 -3
- package/dist/lib/modules/plugin/types/InternalCollection.d.ts +1 -1
- package/dist/lib/modules/plugin/types/exports.d.ts +1 -0
- package/dist/lib/modules/shared/errors/index.d.ts +1 -0
- package/dist/lib/modules/shared/exports.d.ts +1 -5
- package/dist/lib/modules/shared/index.d.ts +3 -11
- package/dist/lib/modules/shared/services/AbstractExporter.d.ts +2 -0
- package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +2 -0
- package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +4 -0
- package/dist/lib/modules/shared/types/Models.d.ts +18 -0
- package/dist/lib/modules/shared/types/exports.d.ts +6 -0
- package/dist/lib/modules/shared/types/index.d.ts +9 -0
- package/dist/lib/modules/shared/utils/index.d.ts +5 -0
- package/dist/tests/application/assets/Container.d.ts +6 -3
- package/dist/tests/application/assets/MagicHouse.d.ts +2 -2
- package/dist/tests/application/assets/Room.d.ts +2 -2
- package/dist/tests/application/assets/StreetLamp.d.ts +2 -2
- package/dist/tests/application/assets/Warehouse.d.ts +2 -2
- package/dist/tests/application/assets/index.d.ts +1 -0
- package/dist/tests/application/decoders/EmptyTempDecoder.d.ts +8 -0
- package/dist/tests/application/devices/DummyTemp.d.ts +2 -0
- package/dist/tests/application/devices/DummyTempPosition.d.ts +2 -0
- package/dist/tests/application/devices/EmptyTemp.d.ts +2 -0
- package/dist/tests/application/devices/index.d.ts +3 -0
- package/dist/tests/application/groups/Parking.d.ts +14 -0
- package/dist/tests/application/groups/index.d.ts +1 -0
- package/dist/tests/application/measures/{AccelerationMeasure.d.ts → Acceleration.d.ts} +2 -2
- package/dist/tests/application/measures/BatteryMeasure.d.ts +5 -0
- package/dist/tests/application/measures/Brightness.d.ts +2 -0
- package/dist/tests/application/measures/CO2.d.ts +2 -0
- package/dist/tests/application/measures/HumidityMeasure.d.ts +5 -0
- package/dist/tests/application/measures/Illuminance.d.ts +2 -0
- package/dist/tests/application/measures/Magicule.d.ts +2 -2
- package/dist/tests/application/measures/MovementMeasure.d.ts +5 -0
- package/dist/{lib/modules/measure → tests/application}/measures/PositionMeasure.d.ts +2 -2
- package/dist/tests/application/measures/PowerConsumption.d.ts +2 -0
- package/dist/tests/application/measures/TemperatureMeasure.d.ts +5 -0
- package/dist/tests/application/measures/index.d.ts +11 -0
- package/dist/tests/application/models.d.ts +2 -0
- package/package.json +1 -1
- package/dist/lib/modules/asset/collections/assetsGroupsMapping.d.ts +0 -2
- package/dist/lib/modules/asset/types/AssetGroupContent.d.ts +0 -8
- package/dist/lib/modules/measure/measures/BatteryMeasure.d.ts +0 -5
- package/dist/lib/modules/measure/measures/HumidityMeasure.d.ts +0 -5
- package/dist/lib/modules/measure/measures/MovementMeasure.d.ts +0 -5
- package/dist/lib/modules/measure/measures/TemperatureMeasure.d.ts +0 -5
- package/dist/lib/modules/measure/measures/index.d.ts +0 -5
- package/dist/tests/application/decoders/index.d.ts +0 -2
- package/dist/tests/application/measures/BrightnessMeasure.d.ts +0 -2
- package/dist/tests/application/measures/CO2Measure.d.ts +0 -2
- package/dist/tests/application/measures/IlluminanceMeasure.d.ts +0 -2
- package/dist/tests/application/measures/PowerConsumptionMeasure.d.ts +0 -2
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { JSONObject, KDocument, KHit, SearchResult, mReplaceResponse } from "kuz
|
|
|
3
3
|
import { DeviceManagerPlugin } from "../plugin";
|
|
4
4
|
import { DigitalTwinService, Metadata, SearchParams } from "../shared";
|
|
5
5
|
import { AssetHistoryService } from "./AssetHistoryService";
|
|
6
|
-
import { ApiAssetMigrateTenantResult } from "./types/AssetApi";
|
|
6
|
+
import { ApiAssetMigrateTenantResult, ApiAssetUpdateModelLocales } from "./types/AssetApi";
|
|
7
7
|
import { AssetContent } from "./types/AssetContent";
|
|
8
8
|
export declare class AssetService extends DigitalTwinService {
|
|
9
9
|
private assetHistoryService;
|
|
@@ -22,6 +22,7 @@ export declare class AssetService extends DigitalTwinService {
|
|
|
22
22
|
* Update or Create an asset metadata
|
|
23
23
|
*/
|
|
24
24
|
upsert(engineId: string, model: string, reference: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
|
|
25
|
+
private _create;
|
|
25
26
|
/**
|
|
26
27
|
* Create an asset metadata
|
|
27
28
|
*/
|
|
@@ -38,6 +39,13 @@ export declare class AssetService extends DigitalTwinService {
|
|
|
38
39
|
mReplaceAndHistorize(engineId: string, assets: KDocument<AssetContent>[], removedMetadata: string[], { refresh }: {
|
|
39
40
|
refresh: any;
|
|
40
41
|
}): Promise<mReplaceResponse>;
|
|
42
|
+
/**
|
|
43
|
+
* Retrieve locales with the specified model and search all assets related to the model to update the locales.
|
|
44
|
+
* The operation is historized.
|
|
45
|
+
* @param request
|
|
46
|
+
* @param model
|
|
47
|
+
*/
|
|
48
|
+
updateModelLocales(request: KuzzleRequest, model: string): Promise<ApiAssetUpdateModelLocales[]>;
|
|
41
49
|
private getEngine;
|
|
42
50
|
private refreshModel;
|
|
43
51
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ControllerDefinition, KuzzleRequest } from "kuzzle";
|
|
2
2
|
import { DeviceManagerPlugin } from "../plugin";
|
|
3
3
|
import { AssetService } from "./AssetService";
|
|
4
|
-
import { ApiAssetCreateResult, ApiAssetUpsertResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult, ApiAssetMigrateTenantResult, ApiAssetMetadataReplaceResult, ApiAssetGetLastMeasuresResult, ApiAssetMGetLastMeasuredAtResult, ApiAssetMGetLastMeasuresResult, ApiAssetGetLastMeasuredAtResult } from "./types/AssetApi";
|
|
4
|
+
import { ApiAssetCreateResult, ApiAssetUpsertResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult, ApiAssetMigrateTenantResult, ApiAssetMetadataReplaceResult, ApiAssetGetLastMeasuresResult, ApiAssetMGetLastMeasuredAtResult, ApiAssetMGetLastMeasuresResult, ApiAssetGetLastMeasuredAtResult, ApiAssetUpdateModelLocales } from "./types/AssetApi";
|
|
5
5
|
export declare class AssetsController {
|
|
6
6
|
private plugin;
|
|
7
7
|
private assetService;
|
|
@@ -36,4 +36,10 @@ export declare class AssetsController {
|
|
|
36
36
|
migrateTenant(request: KuzzleRequest): Promise<ApiAssetMigrateTenantResult>;
|
|
37
37
|
getLastMeasuredAt(request: KuzzleRequest): Promise<ApiAssetGetLastMeasuredAtResult>;
|
|
38
38
|
mGetLastMeasuredAt(request: KuzzleRequest): Promise<ApiAssetMGetLastMeasuredAtResult>;
|
|
39
|
+
/**
|
|
40
|
+
* Update modelLocales of all assets related to the specified asset model.
|
|
41
|
+
* This operation is done to make the search assets feature up to date
|
|
42
|
+
* @param request
|
|
43
|
+
*/
|
|
44
|
+
updateModelLocales(request: KuzzleRequest): Promise<ApiAssetUpdateModelLocales[]>;
|
|
39
45
|
}
|
|
@@ -2,11 +2,7 @@ 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";
|
|
7
5
|
export * from "./roles/RoleAssetsAdmin";
|
|
8
6
|
export * from "./roles/RoleAssetsReader";
|
|
9
|
-
export * from "./roles/RoleAssetsGroupsAdmin";
|
|
10
|
-
export * from "./roles/RoleAssetsGroupsReader";
|
|
11
7
|
export * from "./collections/assetsMappings";
|
|
12
8
|
export * from "./collections/assetsHistoryMappings";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from "./collections/assetsMappings";
|
|
2
2
|
export * from "./collections/assetsHistoryMappings";
|
|
3
|
-
export * from "
|
|
3
|
+
export * from "../group/collections/groupsMappings";
|
|
4
4
|
export * from "./types/AssetContent";
|
|
5
5
|
export * from "./types/AssetHistoryContent";
|
|
6
6
|
export * from "./types/AssetEvents";
|
|
@@ -9,5 +9,3 @@ export * from "./model/AssetSerializer";
|
|
|
9
9
|
export * from "./AssetModule";
|
|
10
10
|
export * from "./roles/RoleAssetsAdmin";
|
|
11
11
|
export * from "./roles/RoleAssetsReader";
|
|
12
|
-
export * from "./roles/RoleAssetsGroupsAdmin";
|
|
13
|
-
export * from "./roles/RoleAssetsGroupsReader";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JSONObject, KDocument, KHit, SearchResult } from "kuzzle-sdk";
|
|
1
|
+
import { JSONObject, KDocument, KHit, SearchResult, UpdateByQueryResponse } from "kuzzle-sdk";
|
|
2
2
|
import { MeasureContent, Measurement } from "../../../modules/measure";
|
|
3
3
|
import { ApiDigitalTwinGetLastMeasuredAtRequest, ApiDigitalTwinGetLastMeasuredAtResult, ApiDigitalTwinGetLastMeasuresRequest, ApiDigitalTwinGetLastMeasuresResult, ApiDigitalTwinMGetLastMeasuredAtRequest, ApiDigitalTwinMGetLastMeasuredAtResult, ApiDigitalTwinMGetLastMeasuresRequest, ApiDigitalTwinMGetLastMeasuresResult, Metadata } from "../../shared";
|
|
4
4
|
import { AssetContent } from "./AssetContent";
|
|
@@ -33,7 +33,6 @@ export interface ApiAssetMetadataReplaceRequest extends AssetsControllerRequest
|
|
|
33
33
|
export type ApiAssetMetadataReplaceResult = KDocument<AssetContent>;
|
|
34
34
|
export interface ApiAssetUpsertRequest extends AssetsControllerRequest {
|
|
35
35
|
action: "upsert";
|
|
36
|
-
_id: string;
|
|
37
36
|
refresh?: string;
|
|
38
37
|
body: {
|
|
39
38
|
model: string;
|
|
@@ -166,4 +165,8 @@ export type ApiAssetGetLastMeasuredAtRequest = ApiDigitalTwinGetLastMeasuredAtRe
|
|
|
166
165
|
export type ApiAssetGetLastMeasuredAtResult = ApiDigitalTwinGetLastMeasuredAtResult;
|
|
167
166
|
export type ApiAssetMGetLastMeasuredAtRequest = ApiDigitalTwinMGetLastMeasuredAtRequest<AssetsControllerName>;
|
|
168
167
|
export type ApiAssetMGetLastMeasuredAtResult = ApiDigitalTwinMGetLastMeasuredAtResult;
|
|
168
|
+
export type ApiAssetUpdateModelLocales = {
|
|
169
|
+
engineIndex: string;
|
|
170
|
+
result: UpdateByQueryResponse<AssetContent>;
|
|
171
|
+
};
|
|
169
172
|
export {};
|
|
@@ -4,13 +4,6 @@ import { AssetContent } from "./AssetContent";
|
|
|
4
4
|
export type AssetHistoryMetadata = {
|
|
5
5
|
names: string[];
|
|
6
6
|
};
|
|
7
|
-
export type AssetHistoryEventMeasure = {
|
|
8
|
-
name: "measure";
|
|
9
|
-
measure: {
|
|
10
|
-
names: string[];
|
|
11
|
-
};
|
|
12
|
-
metadata?: AssetHistoryMetadata;
|
|
13
|
-
};
|
|
14
7
|
export type AssetHistoryEventMetadata = {
|
|
15
8
|
name: "metadata";
|
|
16
9
|
metadata: AssetHistoryMetadata;
|
|
@@ -27,7 +20,7 @@ export type AssetHistoryEventUnlink = {
|
|
|
27
20
|
deviceId: string;
|
|
28
21
|
};
|
|
29
22
|
};
|
|
30
|
-
export type AssetHistoryEvent =
|
|
23
|
+
export type AssetHistoryEvent = AssetHistoryEventMetadata | AssetHistoryEventLink | AssetHistoryEventUnlink;
|
|
31
24
|
/**
|
|
32
25
|
* Asset History document content
|
|
33
26
|
*/
|
|
@@ -9,6 +9,7 @@ import { DeviceContent } from "./types/DeviceContent";
|
|
|
9
9
|
export declare class DeviceService extends DigitalTwinService {
|
|
10
10
|
constructor(plugin: DeviceManagerPlugin);
|
|
11
11
|
registerAskEvents(): void;
|
|
12
|
+
private _create;
|
|
12
13
|
/**
|
|
13
14
|
* Create a new device.
|
|
14
15
|
*
|
|
@@ -30,6 +31,15 @@ export declare class DeviceService extends DigitalTwinService {
|
|
|
30
31
|
update(engineId: string, deviceId: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<DeviceContent>>;
|
|
31
32
|
delete(engineId: string, deviceId: string, request: KuzzleRequest): Promise<void>;
|
|
32
33
|
search(engineId: string, searchParams: SearchParams, request: KuzzleRequest): Promise<SearchResult<KHit<DeviceContent>>>;
|
|
34
|
+
/**
|
|
35
|
+
* Internal logic to attach the device to an engine
|
|
36
|
+
*
|
|
37
|
+
* @param engineId Engine id to attach to
|
|
38
|
+
* @param deviceId Device id to attach
|
|
39
|
+
* @param options.refresh Wait for ES indexation
|
|
40
|
+
* @param options.strict If true, throw if an operation isn't possible
|
|
41
|
+
*/
|
|
42
|
+
private _attachEngine;
|
|
33
43
|
/**
|
|
34
44
|
* Attach the device to an engine
|
|
35
45
|
*
|
|
@@ -67,7 +77,14 @@ export declare class DeviceService extends DigitalTwinService {
|
|
|
67
77
|
*/
|
|
68
78
|
private generateMissingAssetMeasureNames;
|
|
69
79
|
/**
|
|
70
|
-
*
|
|
80
|
+
* Internal logic of unlink a device of an asset
|
|
81
|
+
*
|
|
82
|
+
* @param {string} deviceId Id of the device
|
|
83
|
+
* @param {KuzzleRequest} request kuzzle request
|
|
84
|
+
*/
|
|
85
|
+
private _unlinkAsset;
|
|
86
|
+
/**
|
|
87
|
+
* Unlink a device of an asset with lock
|
|
71
88
|
*
|
|
72
89
|
* @param {string} deviceId Id of the device
|
|
73
90
|
* @param {KuzzleRequest} request kuzzle request
|
|
@@ -25,7 +25,6 @@ export type ApiDeviceUpdateResult = KDocument<DeviceContent>;
|
|
|
25
25
|
export type ApiDeviceMetadataReplaceResult = KDocument<DeviceContent>;
|
|
26
26
|
export interface ApiDeviceUpsertRequest extends DevicesControllerRequest {
|
|
27
27
|
action: "upsert";
|
|
28
|
-
_id: string;
|
|
29
28
|
refresh?: string;
|
|
30
29
|
body: {
|
|
31
30
|
model: string;
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import { ControllerDefinition, KuzzleRequest } from "kuzzle";
|
|
2
2
|
import { DeviceManagerPlugin } from "../plugin";
|
|
3
|
-
import { ApiGroupAddAssetsResult, ApiGroupCreateResult, ApiGroupDeleteResult, ApiGroupGetResult, ApiGroupRemoveAssetsResult, ApiGroupSearchResult, ApiGroupUpdateResult,
|
|
4
|
-
|
|
3
|
+
import { ApiGroupAddAssetsResult, ApiGroupCreateResult, ApiGroupDeleteResult, ApiGroupGetResult, ApiGroupRemoveAssetsResult, ApiGroupSearchResult, ApiGroupUpdateResult, GroupsBodyRequest } from "./types/GroupsApi";
|
|
4
|
+
import { GroupsService } from "./GroupsService";
|
|
5
|
+
export declare class GroupsController {
|
|
5
6
|
private plugin;
|
|
7
|
+
private groupsService;
|
|
6
8
|
definition: ControllerDefinition;
|
|
7
|
-
constructor(plugin: DeviceManagerPlugin);
|
|
9
|
+
constructor(plugin: DeviceManagerPlugin, groupsService: GroupsService);
|
|
8
10
|
private get sdk();
|
|
9
11
|
private get as();
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Check that the path property is valid, and closest parent exists.
|
|
14
|
+
* @param {string} engineId Engine ID
|
|
15
|
+
* @param {string} path The path of a group
|
|
16
|
+
* @throws {BadRequestError} If the path is not a string or if the path is not valid.
|
|
17
|
+
* @returns {void}
|
|
18
|
+
*/
|
|
19
|
+
checkPath(engineId: string, path: GroupsBodyRequest["path"], groupId?: string): Promise<void>;
|
|
20
|
+
checkGroupName(engineId: string, name: GroupsBodyRequest["name"], assetId?: string): Promise<void>;
|
|
13
21
|
create(request: KuzzleRequest): Promise<ApiGroupCreateResult>;
|
|
14
22
|
get(request: KuzzleRequest): Promise<ApiGroupGetResult>;
|
|
15
23
|
update(request: KuzzleRequest): Promise<ApiGroupUpdateResult>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { JSONObject, KDocument } from "kuzzle-sdk";
|
|
2
|
+
import { DeviceManagerPlugin } from "../plugin";
|
|
3
|
+
import { BaseService, SearchParams } from "../shared";
|
|
4
|
+
import { KuzzleRequest } from "kuzzle";
|
|
5
|
+
import { GroupContent } from "./exports";
|
|
6
|
+
export declare class GroupsService extends BaseService {
|
|
7
|
+
constructor(plugin: DeviceManagerPlugin);
|
|
8
|
+
create(_id: string, engineId: string, metadata: JSONObject, model: string, name: string, path: string, request: KuzzleRequest): Promise<KDocument<GroupContent>>;
|
|
9
|
+
get(engineId: string, _id: string, request: KuzzleRequest): Promise<KDocument<GroupContent>>;
|
|
10
|
+
update(request: KuzzleRequest, _id: string, engineId: string, updateContent: JSONObject): Promise<KDocument<GroupContent>>;
|
|
11
|
+
delete(_id: string, engineId: string, request: KuzzleRequest): Promise<{
|
|
12
|
+
_id: string;
|
|
13
|
+
}>;
|
|
14
|
+
search(engineId: string, searchParams: SearchParams, request: KuzzleRequest): Promise<import("kuzzle-sdk").SearchResult<import("kuzzle-sdk").KHit<GroupContent>>>;
|
|
15
|
+
addAsset(engineId: string, path: string, assetIds: string[], request: KuzzleRequest): Promise<{
|
|
16
|
+
group: KDocument<GroupContent>;
|
|
17
|
+
successes: {
|
|
18
|
+
_id: string;
|
|
19
|
+
_source: JSONObject;
|
|
20
|
+
_version: number;
|
|
21
|
+
}[];
|
|
22
|
+
errors: {
|
|
23
|
+
document: {
|
|
24
|
+
_id: string;
|
|
25
|
+
_source: JSONObject;
|
|
26
|
+
};
|
|
27
|
+
status: number;
|
|
28
|
+
reason: string;
|
|
29
|
+
}[];
|
|
30
|
+
}>;
|
|
31
|
+
removeAsset(engineId: string, path: string, assetIds: string[], request: KuzzleRequest): Promise<{
|
|
32
|
+
group: KDocument<GroupContent>;
|
|
33
|
+
successes: {
|
|
34
|
+
_id: string;
|
|
35
|
+
_source: JSONObject;
|
|
36
|
+
_version: number;
|
|
37
|
+
}[];
|
|
38
|
+
errors: {
|
|
39
|
+
document: {
|
|
40
|
+
_id: string;
|
|
41
|
+
_source: JSONObject;
|
|
42
|
+
};
|
|
43
|
+
status: number;
|
|
44
|
+
reason: string;
|
|
45
|
+
}[];
|
|
46
|
+
}>;
|
|
47
|
+
}
|
package/dist/lib/modules/{asset/roles/RoleAssetsGroupsAdmin.d.ts → group/roles/RoleGroupsAdmin.d.ts}
RENAMED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { KuzzleRole } from "../../shared/types/KuzzleRole";
|
|
2
2
|
/**
|
|
3
|
-
* This role allows to manage
|
|
3
|
+
* This role allows to manage groups and their models.
|
|
4
4
|
*
|
|
5
5
|
* It's a tenant role.
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
8
|
*
|
|
9
|
-
"device-manager/
|
|
9
|
+
"device-manager/groups": {
|
|
10
10
|
actions: {
|
|
11
11
|
"*": true,
|
|
12
12
|
},
|
|
@@ -21,4 +21,4 @@ import { KuzzleRole } from "../../shared/types/KuzzleRole";
|
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
23
|
*/
|
|
24
|
-
export declare const
|
|
24
|
+
export declare const RoleGroupsAdmin: KuzzleRole;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { KuzzleRole } from "../../shared/types/KuzzleRole";
|
|
2
2
|
/**
|
|
3
|
-
* This role allows to manage
|
|
3
|
+
* This role allows to manage groups and their models.
|
|
4
4
|
*
|
|
5
5
|
* It's a tenant role.
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
8
|
*
|
|
9
|
-
"device-manager/
|
|
9
|
+
"device-manager/groups": {
|
|
10
10
|
actions: {
|
|
11
11
|
"*": true,
|
|
12
12
|
},
|
|
@@ -21,4 +21,4 @@ import { KuzzleRole } from "../../shared/types/KuzzleRole";
|
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
23
|
*/
|
|
24
|
-
export declare const
|
|
24
|
+
export declare const RoleGroupsReader: KuzzleRole;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { KDocumentContent } from "kuzzle-sdk";
|
|
2
|
+
import { Metadata } from "lib/modules/shared";
|
|
3
|
+
export interface GroupsBody<TMetadata extends Metadata = Metadata> extends KDocumentContent {
|
|
4
|
+
name: string;
|
|
5
|
+
model?: string | null;
|
|
6
|
+
path: string;
|
|
7
|
+
lastUpdate: number;
|
|
8
|
+
metadata?: TMetadata;
|
|
9
|
+
}
|
|
10
|
+
export type GroupContent<TMetadata extends Metadata = any> = GroupsBody<TMetadata>;
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { JSONObject, KDocument, KHit, SearchResult, mUpdateResponse } from "kuzzle-sdk";
|
|
2
|
-
import {
|
|
3
|
-
type
|
|
4
|
-
export type
|
|
2
|
+
import { GroupsBody, GroupContent } from "./GroupContent";
|
|
3
|
+
type GroupsRequest = Omit<GroupsBody, "lastUpdate">;
|
|
4
|
+
export type GroupsBodyRequest = Partial<GroupsRequest>;
|
|
5
5
|
export type UpdateAssetLinkResponse = mUpdateResponse & {
|
|
6
|
-
|
|
6
|
+
group: KDocument<GroupContent>;
|
|
7
7
|
};
|
|
8
8
|
interface GroupControllerRequest {
|
|
9
|
-
controller: "device-manager/
|
|
9
|
+
controller: "device-manager/groups";
|
|
10
10
|
engineId: string;
|
|
11
11
|
}
|
|
12
12
|
export interface ApiGroupCreateRequest extends GroupControllerRequest {
|
|
13
13
|
action: "create";
|
|
14
14
|
_id?: string;
|
|
15
|
-
body:
|
|
15
|
+
body: GroupsBodyRequest;
|
|
16
16
|
}
|
|
17
|
-
export type ApiGroupCreateResult = KDocument<
|
|
17
|
+
export type ApiGroupCreateResult = KDocument<GroupContent>;
|
|
18
18
|
export interface ApiGroupGetRequest extends GroupControllerRequest {
|
|
19
19
|
action: "get";
|
|
20
20
|
_id: string;
|
|
21
21
|
}
|
|
22
|
-
export type ApiGroupGetResult = KDocument<
|
|
22
|
+
export type ApiGroupGetResult = KDocument<GroupContent>;
|
|
23
23
|
export interface ApiGroupUpdateRequest extends GroupControllerRequest {
|
|
24
24
|
action: "update";
|
|
25
25
|
_id: string;
|
|
26
|
-
body:
|
|
26
|
+
body: GroupsBodyRequest;
|
|
27
27
|
}
|
|
28
|
-
export type ApiGroupUpdateResult = KDocument<
|
|
28
|
+
export type ApiGroupUpdateResult = KDocument<GroupContent>;
|
|
29
29
|
export interface ApiGroupDeleteRequest extends GroupControllerRequest {
|
|
30
30
|
action: "delete";
|
|
31
31
|
_id: string;
|
|
@@ -39,19 +39,19 @@ export interface ApiGroupSearchRequest extends GroupControllerRequest {
|
|
|
39
39
|
lang?: "koncorde" | "elasticsearch";
|
|
40
40
|
body: JSONObject;
|
|
41
41
|
}
|
|
42
|
-
export type ApiGroupSearchResult = SearchResult<KHit<
|
|
42
|
+
export type ApiGroupSearchResult = SearchResult<KHit<GroupContent>>;
|
|
43
43
|
export interface ApiGroupAddAssetsRequest extends GroupControllerRequest {
|
|
44
44
|
action: "addAsset";
|
|
45
|
-
_id: string;
|
|
46
45
|
body: {
|
|
46
|
+
path: string;
|
|
47
47
|
assetIds: string[];
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
export type ApiGroupAddAssetsResult = UpdateAssetLinkResponse;
|
|
51
51
|
export interface ApiGroupRemoveAssetsRequest extends GroupControllerRequest {
|
|
52
52
|
action: "removeAsset";
|
|
53
|
-
_id: string;
|
|
54
53
|
body: {
|
|
54
|
+
path: string;
|
|
55
55
|
assetIds: string[];
|
|
56
56
|
};
|
|
57
57
|
}
|
|
@@ -1,48 +1,25 @@
|
|
|
1
|
-
import { JSONObject
|
|
2
|
-
import { DeviceContent } from "../device";
|
|
1
|
+
import { JSONObject } from "kuzzle";
|
|
3
2
|
import { DeviceManagerPlugin } from "../plugin";
|
|
4
|
-
import { BaseService
|
|
3
|
+
import { BaseService } from "../shared";
|
|
5
4
|
import { DecodedMeasurement } from "./types/MeasureContent";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { MeasureSource } from "./types/MeasureSources";
|
|
6
|
+
import { MeasureTarget } from "./types/MeasureTarget";
|
|
8
7
|
export declare class MeasureService extends BaseService {
|
|
9
8
|
constructor(plugin: DeviceManagerPlugin);
|
|
10
9
|
/**
|
|
11
|
-
* Register new measures
|
|
10
|
+
* Register new measures updates :
|
|
12
11
|
* - asset
|
|
13
12
|
* - engine measures
|
|
14
13
|
*
|
|
15
14
|
* This method represents the ingestion pipeline:
|
|
16
15
|
* - trigger events `before` (measure enrichment)
|
|
17
|
-
* - save documents (measures
|
|
16
|
+
* - save documents (measures & device metadata)
|
|
18
17
|
* - trigger events `after`
|
|
19
18
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* - engine device
|
|
25
|
-
* - linked asset
|
|
26
|
-
* - engine measures
|
|
27
|
-
*
|
|
28
|
-
* A mutex ensure that a device can ingest one measure at a time.
|
|
29
|
-
*
|
|
30
|
-
* This method represents the ingestion pipeline:
|
|
31
|
-
* - build measures documents and update digital twins (device and asset)
|
|
32
|
-
* - trigger events `before` (measure enrichment)
|
|
33
|
-
* - save documents (measures, device and asset)
|
|
34
|
-
* - trigger events `after`
|
|
35
|
-
*
|
|
36
|
-
* @deprecated
|
|
37
|
-
*/
|
|
38
|
-
ingest(device: KDocument<DeviceContent>, measurements: DecodedMeasurement<JSONObject>[], metadata: Metadata, payloadUuids: string[]): Promise<void>;
|
|
39
|
-
private updateDeviceMeasures;
|
|
40
|
-
/**
|
|
41
|
-
* Update asset with each non-null non-computed measures.
|
|
42
|
-
*
|
|
43
|
-
* @returns A map of each asset state by measuredAt timestamp.
|
|
44
|
-
*/
|
|
45
|
-
private updateAssetMeasures;
|
|
19
|
+
ingest(source: MeasureSource, target: MeasureTarget, measurements: DecodedMeasurement<JSONObject>[], payloadUuids: string[]): Promise<void>;
|
|
20
|
+
private buildDeviceMeasures;
|
|
21
|
+
private ingestDeviceMeasures;
|
|
22
|
+
private ingestApiMeasures;
|
|
46
23
|
/**
|
|
47
24
|
* Build the measures document received from the API
|
|
48
25
|
*
|
|
@@ -50,14 +27,10 @@ export declare class MeasureService extends BaseService {
|
|
|
50
27
|
* @param asset The target asset to build the measure for
|
|
51
28
|
* @param measure The decoded raw measures
|
|
52
29
|
* @param payloadUuids The uuid's of the payloads used to create the measure
|
|
53
|
-
*
|
|
30
|
+
* @param engineGroup engineGroup of model
|
|
54
31
|
* @returns A MeasurementContent builded from parameters
|
|
55
32
|
*/
|
|
56
33
|
private buildApiMeasures;
|
|
57
|
-
/**
|
|
58
|
-
* Build the measures documents to save
|
|
59
|
-
*/
|
|
60
|
-
private buildMeasures;
|
|
61
34
|
/**
|
|
62
35
|
* Find an asset by its ID and its engine ID.
|
|
63
36
|
*
|
|
@@ -6,5 +6,4 @@ export declare const enum DATA_SOURCE_METADATA_TYPE {
|
|
|
6
6
|
DEVICE = "device"
|
|
7
7
|
}
|
|
8
8
|
export declare function apiSourceToOriginApi(source: ApiMeasureSource, payloadUuids: string[]): MeasureOriginApi;
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function deviceSourceToOriginDevice(source: DeviceMeasureSource, measureName: string, payloadUuids: string[]): MeasureOriginDevice;
|
|
9
|
+
export declare function deviceSourceToOriginDevice(source: DeviceMeasureSource, measureName: string, payloadUuids: string[], deviceMetadata: Metadata): MeasureOriginDevice;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from "./types/MeasureEvents";
|
|
2
2
|
export * from "./types/MeasureContent";
|
|
3
3
|
export * from "./types/MeasureDefinition";
|
|
4
|
-
export * from "./measures";
|
|
5
4
|
export * from "./roles/RoleMeasuresAdmin";
|
|
6
5
|
export * from "./roles/RoleMeasuresReader";
|
|
7
6
|
export * from "./collections/measuresMappings";
|
|
@@ -2,7 +2,6 @@ export * from "./collections/measuresMappings";
|
|
|
2
2
|
export * from "./types/MeasureEvents";
|
|
3
3
|
export * from "./types/MeasureContent";
|
|
4
4
|
export * from "./types/MeasureDefinition";
|
|
5
|
-
export * from "./measures";
|
|
6
5
|
export * from "./MeasureModule";
|
|
7
6
|
export * from "./roles/RoleMeasuresAdmin";
|
|
8
7
|
export * from "./roles/RoleMeasuresReader";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SchemaObject } from "ajv";
|
|
2
2
|
import { JSONObject } from "kuzzle-sdk";
|
|
3
|
+
import { LocaleDetails } from "lib/modules/model";
|
|
3
4
|
interface MeasureLocales {
|
|
4
5
|
[localeString: string]: {
|
|
5
6
|
friendlyName: string;
|
|
@@ -44,6 +45,9 @@ export interface MeasureValuesDetails {
|
|
|
44
45
|
*}
|
|
45
46
|
*/
|
|
46
47
|
export interface MeasureDefinition {
|
|
48
|
+
locales?: {
|
|
49
|
+
[valueName: string]: LocaleDetails;
|
|
50
|
+
};
|
|
47
51
|
/**
|
|
48
52
|
* Mappings for the measurement values in order to index the fields
|
|
49
53
|
*/
|