kuzzle-device-manager-types 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/AssetService.d.ts +25 -26
- package/dist/lib/modules/asset/AssetsController.d.ts +8 -1
- package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +4 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsConfiguration.d.ts +8 -0
- package/dist/lib/modules/asset/roles/specificRoles/RoleAssetsCreation.d.ts +8 -0
- package/dist/lib/modules/asset/roles/specificRoles/index.d.ts +2 -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/Decoder.d.ts +11 -0
- package/dist/lib/modules/decoder/PayloadService.d.ts +3 -6
- package/dist/lib/modules/decoder/types/DecoderContent.d.ts +1 -0
- package/dist/lib/modules/device/DeviceService.d.ts +31 -46
- package/dist/lib/modules/device/DevicesController.d.ts +7 -1
- package/dist/lib/modules/device/collections/deviceMappings.d.ts +2 -46
- package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +4 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesAssetAssociation.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesConfiguration.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/RoleDevicesCreation.d.ts +8 -0
- package/dist/lib/modules/device/roles/specificRoles/index.d.ts +3 -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/MeasureService.d.ts +2 -6
- package/dist/lib/modules/measure/collections/measuresMappings.d.ts +18 -0
- 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/ModelService.d.ts +17 -9
- package/dist/lib/modules/model/ModelsConflicts.d.ts +30 -0
- package/dist/lib/modules/model/ModelsController.d.ts +5 -1
- package/dist/lib/modules/model/ModelsRegister.d.ts +28 -3
- 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/ModelDefinition.d.ts +141 -5
- package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +141 -5
- package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +113 -8
- package/dist/lib/modules/plugin/exports.d.ts +1 -1
- package/dist/lib/modules/plugin/index.d.ts +1 -2
- package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +27 -5
- package/dist/lib/modules/plugin/types/Pipes.d.ts +17 -0
- package/dist/lib/modules/plugin/types/exports.d.ts +1 -0
- package/dist/lib/modules/plugin/types/index.d.ts +3 -0
- package/dist/lib/modules/shared/exports.d.ts +2 -0
- package/dist/lib/modules/shared/index.d.ts +6 -4
- package/dist/lib/modules/shared/services/AbstractExporter.d.ts +1 -0
- package/dist/lib/modules/shared/services/BaseService.d.ts +69 -0
- package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +21 -0
- package/dist/lib/modules/shared/services/index.d.ts +2 -0
- package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +34 -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/DigitalTwinMeasures.d.ts +5 -0
- package/dist/tests/application/assets/Container.d.ts +3 -0
- package/dist/tests/application/assets/Room.d.ts +2 -0
- package/dist/tests/application/assets/StreetLamp.d.ts +2 -0
- package/dist/tests/application/decoders/DummyTempPositionDecoder.d.ts +1 -0
- package/dist/tests/application/measures/BrightnessMeasure.d.ts +2 -0
- package/dist/tests/application/measures/CO2Measure.d.ts +2 -0
- package/dist/tests/application/measures/IlluminanceMeasure.d.ts +2 -0
- package/dist/tests/application/measures/PowerConsumptionMeasure.d.ts +2 -0
- package/package.json +4 -3
- package/dist/lib/modules/shared/utils/ask.d.ts +0 -8
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ArgsDocumentControllerCreate, ArgsDocumentControllerDelete, ArgsDocumentControllerUpdate, Backend, EmbeddedSDK, KDocument, KDocumentContent, KHit, KuzzleRequest, SearchResult, User } from "kuzzle";
|
|
2
|
+
import { DeviceManagerPlugin, DeviceManagerConfiguration, InternalCollection } from "../../plugin";
|
|
3
|
+
interface PayloadRequest {
|
|
4
|
+
collection: InternalCollection;
|
|
5
|
+
engineId: string;
|
|
6
|
+
}
|
|
7
|
+
export type SearchParams = ReturnType<KuzzleRequest["getSearchParams"]>;
|
|
8
|
+
export declare abstract class BaseService {
|
|
9
|
+
private plugin;
|
|
10
|
+
constructor(plugin: DeviceManagerPlugin);
|
|
11
|
+
protected get app(): Backend;
|
|
12
|
+
protected get sdk(): EmbeddedSDK;
|
|
13
|
+
protected get config(): DeviceManagerConfiguration;
|
|
14
|
+
protected get impersonatedSdk(): (user: User) => EmbeddedSDK;
|
|
15
|
+
protected normalizeKuzzleRequest(request: KuzzleRequest, { collection, engineId }: PayloadRequest): KuzzleRequest;
|
|
16
|
+
/**
|
|
17
|
+
* Wrapper to SDK create method with trigger generic:document events
|
|
18
|
+
*
|
|
19
|
+
* @param {KuzzleRequest} request
|
|
20
|
+
* @param {KDocument} documentId
|
|
21
|
+
* @param {PayloadRequest} payload
|
|
22
|
+
* @param {ArgsDocumentControllerCreate} [options]
|
|
23
|
+
* @returns {Promise<KDocument>}
|
|
24
|
+
*/
|
|
25
|
+
protected getDocument<T extends KDocumentContent = KDocumentContent>(request: KuzzleRequest, documentId: string, { collection, engineId }: PayloadRequest, options?: ArgsDocumentControllerCreate): Promise<KDocument<T>>;
|
|
26
|
+
/**
|
|
27
|
+
* Wrapper to SDK create method with trigger generic:document events
|
|
28
|
+
*
|
|
29
|
+
* @param {KuzzleRequest} request
|
|
30
|
+
* @param {KDocument} document
|
|
31
|
+
* @param {PayloadRequest} payload
|
|
32
|
+
* @param {ArgsDocumentControllerCreate} [options]
|
|
33
|
+
* @returns {Promise<KDocument>}
|
|
34
|
+
*/
|
|
35
|
+
protected createDocument<T extends KDocumentContent = KDocumentContent>(request: KuzzleRequest, document: KDocument<T>, { collection, engineId }: PayloadRequest, options?: ArgsDocumentControllerCreate): Promise<KDocument<T>>;
|
|
36
|
+
/**
|
|
37
|
+
* Wrapper to SDK update method with trigger generic:document events
|
|
38
|
+
*
|
|
39
|
+
* @param {KuzzleRequest} request
|
|
40
|
+
* @param {KDocument} document
|
|
41
|
+
* @param {PayloadRequest} payload
|
|
42
|
+
* @param {ArgsDocumentControllerUpdate} [options]
|
|
43
|
+
* @returns {Promise<KDocument>}
|
|
44
|
+
*/
|
|
45
|
+
protected updateDocument<T extends KDocumentContent = KDocumentContent>(request: KuzzleRequest, document: KDocument<Partial<T>>, { collection, engineId }: PayloadRequest, options?: ArgsDocumentControllerUpdate): Promise<KDocument<T>>;
|
|
46
|
+
/**
|
|
47
|
+
* Wrapper to SDK delete method with trigger generic:document events
|
|
48
|
+
*
|
|
49
|
+
* @param {KuzzleRequest} request
|
|
50
|
+
* @param {string} documentId
|
|
51
|
+
* @param {PayloadRequest} payload
|
|
52
|
+
* @param {ArgsDocumentControllerUpdate} [options]
|
|
53
|
+
* @returns {Promise<{ _id: string }>}
|
|
54
|
+
*/
|
|
55
|
+
protected deleteDocument(request: KuzzleRequest, documentId: string, { collection, engineId }: PayloadRequest, options?: ArgsDocumentControllerDelete): Promise<{
|
|
56
|
+
_id: string;
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* Wrapper to SDK search method with trigger generic:document events
|
|
60
|
+
* ! Caution the pipes are not applied on next()
|
|
61
|
+
*
|
|
62
|
+
* @param {KuzzleRequest} request
|
|
63
|
+
* @param {ArgsDocumentControllerUpdate} [options]
|
|
64
|
+
* @param {PayloadRequest} payload
|
|
65
|
+
* @returns {Promise<SearchResult<KHit>>}
|
|
66
|
+
*/
|
|
67
|
+
protected searchDocument<T extends KDocumentContent = KDocumentContent>(request: KuzzleRequest, { from, size, scrollTTL: scroll }: SearchParams, { collection, engineId }: PayloadRequest): Promise<SearchResult<KHit<T>>>;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MeasureContent } from "../../measure";
|
|
2
|
+
import { DeviceManagerPlugin, InternalCollection } from "../../plugin";
|
|
3
|
+
import { ApiDigitalTwinMGetLastMeasuredAtResult } from "../types/DigitalTwinApi";
|
|
4
|
+
import { BaseService } from "./BaseService";
|
|
5
|
+
export declare class DigitalTwinService extends BaseService {
|
|
6
|
+
private targetCollection;
|
|
7
|
+
private readonly digitalTwinType;
|
|
8
|
+
constructor(plugin: DeviceManagerPlugin, targetCollection: InternalCollection);
|
|
9
|
+
protected registerAskEvents(): void;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the last measures of a digital twin
|
|
12
|
+
*/
|
|
13
|
+
getLastMeasures(engineId: string, digitalTwinId: string, measureCount?: number): Promise<MeasureContent[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Gets the last measures of multiple digital twins
|
|
16
|
+
*/
|
|
17
|
+
mGetLastMeasures(engineId: string, digitalTwinIds: string[], measureCount?: number): Promise<Record<string, MeasureContent[]>>;
|
|
18
|
+
getLastMeasuredAt(engineId: string, digitalTwinId: string): Promise<number>;
|
|
19
|
+
mGetLastMeasuredAt(engineId: string, digitalTwinIds: string[]): Promise<ApiDigitalTwinMGetLastMeasuredAtResult>;
|
|
20
|
+
private getAggregationQueryParameters;
|
|
21
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DigitalTwinMeasures } from "./DigitalTwinMeasures";
|
|
2
|
+
interface DigitalTwinControllerRequest<ControllerName extends string> {
|
|
3
|
+
controller: ControllerName;
|
|
4
|
+
engineId: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ApiDigitalTwinGetLastMeasuresRequest<ControllerName extends string> extends DigitalTwinControllerRequest<ControllerName> {
|
|
7
|
+
action: "getLastMeasures";
|
|
8
|
+
_id: string;
|
|
9
|
+
measureCount?: number;
|
|
10
|
+
}
|
|
11
|
+
export type ApiDigitalTwinGetLastMeasuresResult = DigitalTwinMeasures;
|
|
12
|
+
export interface ApiDigitalTwinMGetLastMeasuresRequest<ControllerName extends string> extends DigitalTwinControllerRequest<ControllerName> {
|
|
13
|
+
action: "mGetLastMeasures";
|
|
14
|
+
measureCount?: number;
|
|
15
|
+
body: {
|
|
16
|
+
ids: string[];
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export type ApiDigitalTwinMGetLastMeasuresResult = Record<string, DigitalTwinMeasures>;
|
|
20
|
+
export interface ApiDigitalTwinGetLastMeasuredAtRequest<ControllerName extends string> extends DigitalTwinControllerRequest<ControllerName> {
|
|
21
|
+
action: "getLastMeasuredAt";
|
|
22
|
+
_id: string;
|
|
23
|
+
}
|
|
24
|
+
export type ApiDigitalTwinGetLastMeasuredAtResult = {
|
|
25
|
+
lastMeasuredAt: number;
|
|
26
|
+
};
|
|
27
|
+
export interface ApiDigitalTwinMGetLastMeasuredAtRequest<ControllerName extends string> extends DigitalTwinControllerRequest<ControllerName> {
|
|
28
|
+
action: "mGetLastMeasuredAt";
|
|
29
|
+
body: {
|
|
30
|
+
ids: string[];
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export type ApiDigitalTwinMGetLastMeasuredAtResult = Record<string, number>;
|
|
34
|
+
export {};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { JSONObject, KDocumentContent } from "kuzzle-sdk";
|
|
2
|
-
import { EmbeddedMeasure } from "./EmbeddedMeasure";
|
|
3
2
|
import { Metadata } from "./Metadata";
|
|
3
|
+
import { DigitalTwinMeasures } from "./DigitalTwinMeasures";
|
|
4
4
|
export interface DigitalTwinContent<TMeasures extends JSONObject = JSONObject, TMetadata extends Metadata = Metadata> extends KDocumentContent {
|
|
5
5
|
model: string;
|
|
6
6
|
reference: string;
|
|
7
7
|
metadata: TMetadata;
|
|
8
|
-
measures:
|
|
9
|
-
[Property in keyof TMeasures]: EmbeddedMeasure<TMeasures[Property]> | null;
|
|
10
|
-
};
|
|
8
|
+
measures: DigitalTwinMeasures<TMeasures>;
|
|
11
9
|
lastMeasuredAt: number;
|
|
12
10
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MeasureContent } from "../../measure";
|
|
2
|
+
export type AskDigitalTwinLastMeasuresGet = {
|
|
3
|
+
name: "ask:device-manager:asset:get-last-measures" | "ask:device-manager:device:get-last-measures";
|
|
4
|
+
payload: {
|
|
5
|
+
engineId: string;
|
|
6
|
+
digitalTwinId: string;
|
|
7
|
+
};
|
|
8
|
+
result: MeasureContent[];
|
|
9
|
+
};
|
|
@@ -11,6 +11,7 @@ export declare class DummyTempPositionDecoder extends Decoder {
|
|
|
11
11
|
readonly name: "position";
|
|
12
12
|
readonly type: "position";
|
|
13
13
|
}];
|
|
14
|
+
constructor();
|
|
14
15
|
validate(payload: JSONObject): Promise<boolean>;
|
|
15
16
|
decode(decodedPayload: DecodedPayload<DummyTempPositionDecoder>, payload: JSONObject): Promise<DecodedPayload<DummyTempPositionDecoder>>;
|
|
16
17
|
}
|
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kuzzle-device-manager-types",
|
|
3
|
-
"version": "2.4.0-beta.
|
|
3
|
+
"version": "2.4.0-beta.21",
|
|
4
4
|
"description": "Shared types for Kuzzle Device Manager",
|
|
5
5
|
"author": "The Kuzzle Team (support@kuzzle.io)",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/kuzzleio/kuzzle-plugin-device-manager.git"
|
|
10
|
+
"url": "git+https://github.com/kuzzleio/kuzzle-plugin-device-manager.git",
|
|
11
|
+
"directory": "types"
|
|
11
12
|
},
|
|
12
13
|
"scripts": {
|
|
13
14
|
"prepack": "npm run build",
|
|
14
|
-
"build": "./copy-types.sh
|
|
15
|
+
"build": "./copy-types.sh"
|
|
15
16
|
},
|
|
16
17
|
"license": "Apache-2.0",
|
|
17
18
|
"files": [
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export type AskEventDefinition = {
|
|
2
|
-
name: string;
|
|
3
|
-
payload: any;
|
|
4
|
-
result: any;
|
|
5
|
-
};
|
|
6
|
-
export type AskEventHandler<TAskEventDefinition extends AskEventDefinition = AskEventDefinition> = (payload?: TAskEventDefinition["payload"]) => Promise<TAskEventDefinition["result"]>;
|
|
7
|
-
export declare function onAsk<TAskEventDefinition extends AskEventDefinition = AskEventDefinition>(event: TAskEventDefinition["name"], handler: AskEventHandler<TAskEventDefinition>): any;
|
|
8
|
-
export declare function ask<TAskEventDefinition extends AskEventDefinition = AskEventDefinition>(event: TAskEventDefinition["name"], payload?: TAskEventDefinition["payload"]): Promise<TAskEventDefinition["result"]>;
|