kuzzle-device-manager-types 2.2.8 → 2.4.0-beta.1-1

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.
Files changed (39) hide show
  1. package/dist/lib/modules/asset/AssetModule.d.ts +1 -0
  2. package/dist/lib/modules/asset/AssetsController.d.ts +5 -0
  3. package/dist/lib/modules/asset/AssetsGroupsController.d.ts +20 -0
  4. package/dist/lib/modules/asset/collections/assetsGroupsMapping.d.ts +2 -0
  5. package/dist/lib/modules/asset/collections/assetsMappings.d.ts +2 -47
  6. package/dist/lib/modules/asset/exports.d.ts +4 -0
  7. package/dist/lib/modules/asset/index.d.ts +3 -0
  8. package/dist/lib/modules/asset/roles/RoleAssetsGroupsAdmin.d.ts +24 -0
  9. package/dist/lib/modules/asset/roles/RoleAssetsGroupsReader.d.ts +24 -0
  10. package/dist/lib/modules/asset/types/AssetApi.d.ts +10 -0
  11. package/dist/lib/modules/asset/types/AssetContent.d.ts +7 -0
  12. package/dist/lib/modules/asset/types/AssetGroupContent.d.ts +8 -0
  13. package/dist/lib/modules/asset/types/AssetGroupsApi.d.ts +59 -0
  14. package/dist/lib/modules/device/DevicesController.d.ts +5 -0
  15. package/dist/lib/modules/device/collections/deviceMappings.d.ts +3 -0
  16. package/dist/lib/modules/device/types/DeviceApi.d.ts +10 -0
  17. package/dist/lib/modules/measure/MeasureExporter.d.ts +24 -33
  18. package/dist/lib/modules/model/types/ModelEvents.d.ts +8 -1
  19. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +1 -0
  20. package/dist/lib/modules/plugin/types/InternalCollection.d.ts +1 -0
  21. package/dist/lib/modules/shared/index.d.ts +1 -0
  22. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +52 -0
  23. package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +14 -0
  24. package/dist/lib/modules/shared/services/index.d.ts +2 -0
  25. package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +1 -0
  26. package/dist/tests/application/decoders/DummyTempDecoder.d.ts +3 -0
  27. package/dist/tests/application/measures/AccelerationMeasure.d.ts +10 -0
  28. package/dist/tests/helpers/payloads.d.ts +36 -0
  29. package/package.json +4 -6
  30. package/dist/index.js +0 -24
  31. package/dist/lib/modules/asset/index.js +0 -27
  32. package/dist/lib/modules/decoder/index.js +0 -26
  33. package/dist/lib/modules/device/index.js +0 -26
  34. package/dist/lib/modules/measure/index.js +0 -27
  35. package/dist/lib/modules/measure/measures/index.js +0 -22
  36. package/dist/lib/modules/model/index.js +0 -25
  37. package/dist/lib/modules/plugin/index.js +0 -21
  38. package/dist/lib/modules/shared/index.js +0 -27
  39. package/dist/tests/application/decoders/index.js +0 -19
@@ -3,5 +3,6 @@ export declare class AssetModule extends Module {
3
3
  private assetService;
4
4
  private assetHistoryService;
5
5
  private assetController;
6
+ private assetGroupsController;
6
7
  init(): Promise<void>;
7
8
  }
@@ -6,6 +6,8 @@ export declare class AssetsController {
6
6
  private plugin;
7
7
  private assetService;
8
8
  definition: ControllerDefinition;
9
+ private exporter;
10
+ private measureExporter;
9
11
  constructor(plugin: DeviceManagerPlugin, assetService: AssetService);
10
12
  get(request: KuzzleRequest): Promise<ApiAssetGetResult>;
11
13
  update(request: KuzzleRequest): Promise<ApiAssetUpdateResult>;
@@ -16,4 +18,7 @@ export declare class AssetsController {
16
18
  exportMeasures(request: KuzzleRequest): Promise<HttpStream | {
17
19
  link: string;
18
20
  }>;
21
+ export(request: KuzzleRequest): Promise<HttpStream | {
22
+ link: string;
23
+ }>;
19
24
  }
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+ import { CollectionMappings } from "kuzzle";
2
+ export declare const assetGroupsMappings: CollectionMappings;
@@ -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;
@@ -83,4 +83,14 @@ export interface ApiAssetExportMeasuresRequest extends AssetsControllerRequest {
83
83
  export type ApiAssetExportMeasuresResult = {
84
84
  link: string;
85
85
  };
86
+ export interface ApiAssetExportRequest extends AssetsControllerRequest {
87
+ action: "export";
88
+ body?: {
89
+ query?: JSONObject;
90
+ sort?: JSONObject;
91
+ };
92
+ }
93
+ export type ApiAssetExportResult = {
94
+ link: string;
95
+ };
86
96
  export {};
@@ -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,8 @@
1
+ import { KDocumentContent } from "kuzzle-sdk";
2
+ export interface AssetsGroupsBody {
3
+ name: string;
4
+ children: string[];
5
+ parent: string | null;
6
+ lastUpdate: number;
7
+ }
8
+ export type AssetsGroupContent = AssetsGroupsBody & KDocumentContent;
@@ -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 {};
@@ -6,6 +6,8 @@ export declare class DevicesController {
6
6
  private plugin;
7
7
  private deviceService;
8
8
  definition: ControllerDefinition;
9
+ private exporter;
10
+ private measureExporter;
9
11
  constructor(plugin: DeviceManagerPlugin, deviceService: DeviceService);
10
12
  get(request: KuzzleRequest): Promise<ApiDeviceGetResult>;
11
13
  update(request: KuzzleRequest): Promise<ApiDeviceUpdateResult>;
@@ -36,4 +38,7 @@ export declare class DevicesController {
36
38
  link: string;
37
39
  }>;
38
40
  receiveMeasures(request: KuzzleRequest): Promise<void>;
41
+ export(request: KuzzleRequest): Promise<HttpStream | {
42
+ link: string;
43
+ }>;
39
44
  }
@@ -44,5 +44,8 @@ export declare const devicesMappings: {
44
44
  measures: {
45
45
  properties: {};
46
46
  };
47
+ lastMeasuredAt: {
48
+ type: string;
49
+ };
47
50
  };
48
51
  };
@@ -164,4 +164,14 @@ export interface ApiDeviceReceiveMeasuresRequest<TMeasureValues extends JSONObje
164
164
  };
165
165
  }
166
166
  export type ApiDeviceReceiveMeasuresResult = void;
167
+ export interface ApiDeviceExportRequest extends DevicesControllerRequest {
168
+ action: "export";
169
+ body?: {
170
+ query?: JSONObject;
171
+ sort?: JSONObject;
172
+ };
173
+ }
174
+ export type ApiDeviceExportResult = {
175
+ link: string;
176
+ };
167
177
  export {};
@@ -1,37 +1,31 @@
1
1
  /// <reference types="node" />
2
- import { PassThrough } from "node:stream";
3
- import { JSONObject, User } from "kuzzle";
4
- import { DeviceManagerPlugin } from "../plugin";
2
+ /// <reference types="node" />
3
+ import { UUID } from "node:crypto";
4
+ import { KHit, User } from "kuzzle";
5
+ import { AbstractExporter, Column, ExportParams } from "../shared";
5
6
  import { MeasureContent } from "./exports";
6
- type ExportOptions = {
7
- sort?: JSONObject;
8
- query?: JSONObject;
9
- from?: number;
10
- size?: number;
7
+ interface MeasureSearchParams extends ExportParams {
8
+ id: string;
9
+ type?: string;
11
10
  startAt?: string;
12
11
  endAt?: string;
13
- type?: string;
14
- };
15
- type ExportParams = {
16
- query: JSONObject;
17
- target: "asset" | "device";
18
- model: string;
19
- sort: JSONObject;
12
+ }
13
+ interface MeasuresSearchOptions {
14
+ from?: number;
15
+ size?: number;
16
+ }
17
+ interface MeasureExportParams extends ExportParams {
20
18
  id: string;
21
- };
22
- export declare class MeasureExporter {
23
- private plugin;
24
- private engineId;
25
- private target?;
26
- private get sdk();
27
- constructor(plugin: DeviceManagerPlugin, engineId: string, { target }?: {
28
- target?: "asset" | "device";
29
- });
19
+ model: string;
20
+ }
21
+ export declare class MeasureExporter extends AbstractExporter<MeasureExportParams> {
22
+ protected exportRedisKey(engineId: string, exportId: string): string;
23
+ protected getLink(engineId: string, exportId: UUID, params: MeasureExportParams): string;
30
24
  /**
31
25
  * Searches for measures and return them in a standard JSON
32
26
  */
33
- search(digitalTwinId: string, { size, from, endAt, startAt, query, sort, type, }: ExportOptions): Promise<{
34
- measures: import("kuzzle").KHit<MeasureContent<any, any>>[];
27
+ search(engineId: string, params: MeasureSearchParams, options?: MeasuresSearchOptions): Promise<{
28
+ measures: KHit<MeasureContent<any, any>>[];
35
29
  total: number;
36
30
  }>;
37
31
  /**
@@ -43,19 +37,16 @@ export declare class MeasureExporter {
43
37
  *
44
38
  * Never return a rejected promise and write potential error on the stream
45
39
  */
46
- prepareExport(user: User, digitalTwinId: string, { endAt, startAt, query, sort, type, }: ExportOptions): Promise<{
47
- link: string;
48
- }>;
40
+ prepareExport(engineId: string, user: User, params: MeasureSearchParams): Promise<string>;
41
+ protected formatHit(columns: Column[], hit: KHit<MeasureContent>): any[];
49
42
  /**
50
43
  * Retrieve a prepared export and write each document as a CSV in the stream
51
44
  *
52
45
  * This method never returns a rejected promise, but write potential error in
53
46
  * the stream.
54
47
  */
55
- sendExport(stream: PassThrough, exportId: string): Promise<void>;
56
- getExport(exportId: string): Promise<ExportParams>;
57
- private exportRedisKey;
48
+ sendExport(engineId: string, exportId: string): Promise<import("stream").PassThrough>;
49
+ private generateMeasureColumns;
58
50
  private prepareMeasureSearch;
59
- private getEngine;
60
51
  }
61
52
  export {};
@@ -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>;
@@ -1,6 +1,7 @@
1
1
  export declare enum InternalCollection {
2
2
  ASSETS = "assets",
3
3
  ASSETS_HISTORY = "assets-history",
4
+ ASSETS_GROUPS = "assets-groups",
4
5
  DEVICES = "devices",
5
6
  MEASURES = "measures",
6
7
  MODELS = "models",
@@ -1,3 +1,4 @@
1
+ export * from "./services";
1
2
  export * from "./Module";
2
3
  export * from "./types/DigitalTwinContent";
3
4
  export * from "./types/Metadata";
@@ -0,0 +1,52 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { UUID } from "node:crypto";
4
+ import { PassThrough, Readable } from "node:stream";
5
+ import { JSONObject, KDocumentContentGeneric, KHit, SearchResult, User } from "kuzzle";
6
+ import { EngineContent } from "kuzzle-plugin-commons";
7
+ import { DeviceManagerPlugin, InternalCollection } from "../../plugin";
8
+ export interface ExporterOption {
9
+ /**
10
+ * Expiration time of export in seconds before being invalid
11
+ */
12
+ expireTime: number;
13
+ }
14
+ export interface ExportParams {
15
+ query: JSONObject;
16
+ sort?: JSONObject;
17
+ }
18
+ export interface Column {
19
+ header: string;
20
+ path: string;
21
+ isMeasure?: boolean;
22
+ }
23
+ export declare abstract class AbstractExporter<P extends ExportParams = ExportParams> {
24
+ protected plugin: DeviceManagerPlugin;
25
+ protected target: InternalCollection;
26
+ protected config: ExporterOption;
27
+ constructor(plugin: DeviceManagerPlugin, target: InternalCollection, config?: Partial<ExporterOption>);
28
+ protected get sdk(): import("kuzzle").EmbeddedSDK;
29
+ protected get ms(): any;
30
+ protected get log(): {
31
+ debug: (message: any) => void;
32
+ error: (message: any) => void;
33
+ info: (message: any) => void;
34
+ silly: (message: any) => void;
35
+ verbose: (message: any) => void;
36
+ warn: (message: any) => void;
37
+ };
38
+ protected getEngine(engineId: string): Promise<EngineContent>;
39
+ protected abstract exportRedisKey(engineId: string, exportId: string): string;
40
+ protected abstract getLink(engineId: string, exportId: UUID, params: P): string;
41
+ /**
42
+ * Retrieve a prepared export and write each document as a CSV in the stream
43
+ *
44
+ * This method never returns a rejected promise, but write potential error in
45
+ * the stream.
46
+ */
47
+ abstract sendExport(engineId: string, exportId: string): Promise<Readable>;
48
+ prepareExport(engineId: string, user: User, params: P): Promise<string>;
49
+ protected formatHit(columns: Column[], hit: KHit<KDocumentContentGeneric>): string[];
50
+ getExport(engineId: string, exportId: string): Promise<P>;
51
+ getExportStream(request: SearchResult<KHit<KDocumentContentGeneric>>, columns: Column[]): Promise<PassThrough>;
52
+ }
@@ -0,0 +1,14 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { UUID } from "node:crypto";
4
+ import { AbstractExporter } from "./AbstractExporter";
5
+ export declare class DigitalTwinExporter extends AbstractExporter {
6
+ protected exportRedisKey(engineId: string, exportId: string): string;
7
+ protected getLink(engineId: string, exportId: UUID): string;
8
+ sendExport(engineId: string, exportId: string): Promise<import("stream").PassThrough>;
9
+ /**
10
+ * Get the deduplicated Named Measures get from models
11
+ */
12
+ private getNamedMeasures;
13
+ private generateMeasureColumns;
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./AbstractExporter";
2
+ export * from "./DigitalTwinExporter";
@@ -8,4 +8,5 @@ export interface DigitalTwinContent<TMeasures extends JSONObject = JSONObject, T
8
8
  measures: {
9
9
  [Property in keyof TMeasures]: EmbeddedMeasure<TMeasures[Property]> | null;
10
10
  };
11
+ lastMeasuredAt: number;
11
12
  }
@@ -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";
@@ -0,0 +1,10 @@
1
+ import { MeasureDefinition } from "lib/modules/measure";
2
+ export type AccelerationMeasurement = {
3
+ acceleration: {
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ };
8
+ accuracy: number;
9
+ };
10
+ export declare const accelerationMeasureDefinition: MeasureDefinition;
@@ -0,0 +1,36 @@
1
+ import { JSONObject, Kuzzle } from "kuzzle-sdk";
2
+ type MeasureDated<T> = {
3
+ value: T;
4
+ measuredAt: number;
5
+ };
6
+ export type MeasureValue<T> = T | MeasureDated<T>;
7
+ export declare function isMeasureDated<T>(measure: MeasureValue<T>): measure is MeasureDated<T>;
8
+ export interface Location {
9
+ lat: number;
10
+ lon: number;
11
+ accuracy?: number;
12
+ }
13
+ export interface Acceleration {
14
+ x: number;
15
+ y: number;
16
+ z: number;
17
+ accuracy: number;
18
+ }
19
+ export type DummyTempSimplePayload = {
20
+ deviceEUI: string;
21
+ temperature: MeasureValue<number>;
22
+ measuredAt?: number;
23
+ battery?: MeasureValue<number>;
24
+ acceleration?: MeasureValue<Acceleration>;
25
+ metadata?: JSONObject;
26
+ };
27
+ export type DummyTempPayload = DummyTempSimplePayload | {
28
+ measurements: DummyTempSimplePayload[];
29
+ };
30
+ export type DummyTempPositionPayload = DummyTempPayload & {
31
+ location: MeasureValue<Location>;
32
+ };
33
+ export declare function sendDummyTempPayloads(sdk: Kuzzle, payloads: DummyTempPayload[]): Promise<void>;
34
+ export declare function sendDummyTempPositionPayloads(sdk: Kuzzle, payloads: DummyTempPositionPayload[]): Promise<void>;
35
+ export declare function sendPayloads(sdk: Kuzzle, action: string, payloads: JSONObject[]): Promise<any>;
36
+ export {};
package/package.json CHANGED
@@ -1,22 +1,20 @@
1
1
  {
2
2
  "name": "kuzzle-device-manager-types",
3
- "version": "2.2.8",
3
+ "version": "2.4.0-beta.1-1",
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": "https://github.com/kuzzleio/kuzzle-plugin-device-manager"
10
+ "url": "git+https://github.com/kuzzleio/kuzzle-plugin-device-manager.git"
11
11
  },
12
12
  "scripts": {
13
13
  "prepack": "npm run build",
14
- "build": "npm --prefix ../ run build && cp -r ../dist/ . && node scripts/copy-version.js"
14
+ "build": "./copy-types.sh && node scripts/copy-version.js"
15
15
  },
16
16
  "license": "Apache-2.0",
17
- "dependencies": {},
18
- "devDependencies": {},
19
17
  "files": [
20
18
  "dist/**/*.d.ts"
21
19
  ]
22
- }
20
+ }
package/dist/index.js DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./lib/modules/plugin/exports"), exports);
18
- __exportStar(require("./lib/modules/asset/exports"), exports);
19
- __exportStar(require("./lib/modules/device/exports"), exports);
20
- __exportStar(require("./lib/modules/measure/exports"), exports);
21
- __exportStar(require("./lib/modules/decoder/exports"), exports);
22
- __exportStar(require("./lib/modules/shared/exports"), exports);
23
- __exportStar(require("./lib/modules/model/exports"), exports);
24
- //# sourceMappingURL=index.js.map
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./collections/assetsMappings"), exports);
18
- __exportStar(require("./collections/assetsHistoryMappings"), exports);
19
- __exportStar(require("./types/AssetContent"), exports);
20
- __exportStar(require("./types/AssetHistoryContent"), exports);
21
- __exportStar(require("./types/AssetEvents"), exports);
22
- __exportStar(require("./types/AssetApi"), exports);
23
- __exportStar(require("./model/AssetSerializer"), exports);
24
- __exportStar(require("./AssetModule"), exports);
25
- __exportStar(require("./roles/RoleAssetsAdmin"), exports);
26
- __exportStar(require("./roles/RoleAssetsReader"), exports);
27
- //# sourceMappingURL=index.js.map
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./collections/payloadsMappings"), exports);
18
- __exportStar(require("./types/DecoderApi"), exports);
19
- __exportStar(require("./types/DecoderContent"), exports);
20
- __exportStar(require("./DecodedPayload"), exports);
21
- __exportStar(require("./Decoder"), exports);
22
- __exportStar(require("./DecoderModule"), exports);
23
- __exportStar(require("./roles/RolePayloadsAll"), exports);
24
- __exportStar(require("./roles/RoleDecodersAdmin"), exports);
25
- __exportStar(require("./DecodersRegister"), exports);
26
- //# sourceMappingURL=index.js.map
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./collections/deviceMappings"), exports);
18
- __exportStar(require("./types/DeviceContent"), exports);
19
- __exportStar(require("./types/DeviceApi"), exports);
20
- __exportStar(require("./types/DeviceEvents"), exports);
21
- __exportStar(require("./model/DeviceSerializer"), exports);
22
- __exportStar(require("./DeviceModule"), exports);
23
- __exportStar(require("./roles/RoleDevicesAdmin"), exports);
24
- __exportStar(require("./roles/RoleDevicesPlatformAdmin"), exports);
25
- __exportStar(require("./roles/RoleDevicesReader"), exports);
26
- //# sourceMappingURL=index.js.map
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./collections/measuresMappings"), exports);
18
- __exportStar(require("./types/MeasureEvents"), exports);
19
- __exportStar(require("./types/MeasureContent"), exports);
20
- __exportStar(require("./types/MeasureDefinition"), exports);
21
- __exportStar(require("./measures"), exports);
22
- __exportStar(require("./MeasureModule"), exports);
23
- __exportStar(require("./roles/RoleMeasuresAdmin"), exports);
24
- __exportStar(require("./roles/RoleMeasuresReader"), exports);
25
- __exportStar(require("./collections/getEmbeddedMeasureMappings"), exports);
26
- __exportStar(require("./MeasureExporter"), exports);
27
- //# sourceMappingURL=index.js.map
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./MovementMeasure"), exports);
18
- __exportStar(require("./PositionMeasure"), exports);
19
- __exportStar(require("./TemperatureMeasure"), exports);
20
- __exportStar(require("./HumidityMeasure"), exports);
21
- __exportStar(require("./BatteryMeasure"), exports);
22
- //# sourceMappingURL=index.js.map
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./collections/modelsMappings"), exports);
18
- __exportStar(require("./types/ModelApi"), exports);
19
- __exportStar(require("./types/ModelContent"), exports);
20
- __exportStar(require("./types/ModelDefinition"), exports);
21
- __exportStar(require("./types/ModelEvents"), exports);
22
- __exportStar(require("./ModelModule"), exports);
23
- __exportStar(require("./ModelSerializer"), exports);
24
- __exportStar(require("./ModelsRegister"), exports);
25
- //# sourceMappingURL=index.js.map
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types/DeviceManagerConfiguration"), exports);
18
- __exportStar(require("./DeviceManagerEngine"), exports);
19
- __exportStar(require("./DeviceManagerPlugin"), exports);
20
- __exportStar(require("./types/InternalCollection"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Module"), exports);
18
- __exportStar(require("./types/DigitalTwinContent"), exports);
19
- __exportStar(require("./types/Metadata"), exports);
20
- __exportStar(require("./types/EmbeddedMeasure"), exports);
21
- __exportStar(require("./types/KuzzleRole"), exports);
22
- __exportStar(require("./utils/lock"), exports);
23
- __exportStar(require("./utils/flattenObject"), exports);
24
- __exportStar(require("./utils/ask"), exports);
25
- __exportStar(require("./utils/keepStack"), exports);
26
- __exportStar(require("./utils/objectDiff"), exports);
27
- //# sourceMappingURL=index.js.map
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./DummyTempDecoder"), exports);
18
- __exportStar(require("./DummyTempPositionDecoder"), exports);
19
- //# sourceMappingURL=index.js.map