kuzzle-device-manager-types 3.0.0-next.2 → 3.0.0-next.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.
Files changed (111) hide show
  1. package/dist/bin/migration/migration_platform_index.d.ts +2 -0
  2. package/dist/bin/migration/migration_tenant_index.d.ts +2 -0
  3. package/dist/bin/migration/utils.d.ts +18 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/lib/modules/asset/AssetModule.d.ts +0 -1
  6. package/dist/lib/modules/asset/AssetService.d.ts +14 -4
  7. package/dist/lib/modules/asset/AssetsController.d.ts +31 -7
  8. package/dist/lib/modules/asset/exports.d.ts +0 -4
  9. package/dist/lib/modules/asset/index.d.ts +1 -3
  10. package/dist/lib/modules/asset/types/AssetApi.d.ts +127 -6
  11. package/dist/lib/modules/asset/types/AssetContent.d.ts +9 -11
  12. package/dist/lib/modules/asset/types/AssetHistoryContent.d.ts +4 -11
  13. package/dist/lib/modules/decoder/DecodedPayload.d.ts +2 -0
  14. package/dist/lib/modules/decoder/DecodersController.d.ts +6 -0
  15. package/dist/lib/modules/decoder/PayloadService.d.ts +1 -0
  16. package/dist/lib/modules/decoder/types/DecoderApi.d.ts +0 -1
  17. package/dist/lib/modules/device/DeviceService.d.ts +14 -40
  18. package/dist/lib/modules/device/DevicesController.d.ts +5 -5
  19. package/dist/lib/modules/device/collections/deviceMappings.d.ts +6 -0
  20. package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +2 -2
  21. package/dist/lib/modules/device/types/DeviceApi.d.ts +69 -42
  22. package/dist/lib/modules/device/types/DeviceContent.d.ts +55 -4
  23. package/dist/lib/modules/device/types/DeviceEvents.d.ts +0 -23
  24. package/dist/lib/modules/group/GroupsController.d.ts +35 -0
  25. package/dist/lib/modules/group/GroupsModule.d.ts +6 -0
  26. package/dist/lib/modules/group/GroupsService.d.ts +116 -0
  27. package/dist/lib/modules/group/collections/groupsMappings.d.ts +2 -0
  28. package/dist/lib/modules/group/exports.d.ts +5 -0
  29. package/dist/lib/modules/group/index.d.ts +4 -0
  30. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsAdmin.d.ts → group/roles/RoleGroupsAdmin.d.ts} +3 -3
  31. package/dist/lib/modules/{asset/roles/RoleAssetsGroupsReader.d.ts → group/roles/RoleGroupsReader.d.ts} +3 -3
  32. package/dist/lib/modules/group/types/GroupContent.d.ts +10 -0
  33. package/dist/lib/modules/group/types/GroupsApi.d.ts +141 -0
  34. package/dist/lib/modules/measure/MeasureExporter.d.ts +2 -0
  35. package/dist/lib/modules/measure/MeasureService.d.ts +11 -38
  36. package/dist/lib/modules/measure/MeasureSourcesBuilder.d.ts +1 -2
  37. package/dist/lib/modules/measure/collections/measuresMappings.d.ts +2 -83
  38. package/dist/lib/modules/measure/exports.d.ts +0 -1
  39. package/dist/lib/modules/measure/index.d.ts +0 -1
  40. package/dist/lib/modules/measure/types/MeasureContent.d.ts +7 -0
  41. package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +4 -0
  42. package/dist/lib/modules/measure/types/MeasureEvents.d.ts +5 -148
  43. package/dist/lib/modules/measure/types/MeasureSources.d.ts +5 -0
  44. package/dist/lib/modules/model/ModelService.d.ts +16 -4
  45. package/dist/lib/modules/model/ModelsConflicts.d.ts +9 -1
  46. package/dist/lib/modules/model/ModelsController.d.ts +6 -1
  47. package/dist/lib/modules/model/ModelsRegister.d.ts +19 -2
  48. package/dist/lib/modules/model/types/ModelApi.d.ts +50 -1
  49. package/dist/lib/modules/model/types/ModelContent.d.ts +157 -2
  50. package/dist/lib/modules/model/types/ModelDefinition.d.ts +110 -2
  51. package/dist/lib/modules/model/types/ModelEvents.d.ts +8 -1
  52. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +32 -6
  53. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +60 -5
  54. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +9 -7
  55. package/dist/lib/modules/plugin/types/InternalCollection.d.ts +1 -1
  56. package/dist/lib/modules/plugin/types/exports.d.ts +2 -0
  57. package/dist/lib/modules/shared/errors/index.d.ts +1 -0
  58. package/dist/lib/modules/shared/exports.d.ts +1 -5
  59. package/dist/lib/modules/shared/index.d.ts +3 -11
  60. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +2 -0
  61. package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +2 -0
  62. package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +71 -1
  63. package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +6 -5
  64. package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +30 -0
  65. package/dist/lib/modules/shared/types/Models.d.ts +18 -0
  66. package/dist/lib/modules/shared/types/exports.d.ts +6 -0
  67. package/dist/lib/modules/shared/types/index.d.ts +9 -0
  68. package/dist/lib/modules/shared/utils/index.d.ts +5 -0
  69. package/dist/tests/application/assets/Container.d.ts +7 -4
  70. package/dist/tests/application/assets/MagicHouse.d.ts +2 -2
  71. package/dist/tests/application/assets/Room.d.ts +2 -2
  72. package/dist/tests/application/assets/StreetLamp.d.ts +2 -2
  73. package/dist/tests/application/assets/Warehouse.d.ts +2 -2
  74. package/dist/tests/application/assets/index.d.ts +1 -0
  75. package/dist/tests/application/decoders/EmptyTempDecoder.d.ts +8 -0
  76. package/dist/tests/application/devices/DummyTemp.d.ts +2 -0
  77. package/dist/tests/application/devices/DummyTempPosition.d.ts +2 -0
  78. package/dist/tests/application/devices/EmptyTemp.d.ts +2 -0
  79. package/dist/tests/application/devices/index.d.ts +3 -0
  80. package/dist/tests/application/groups/AssetRestricted.d.ts +8 -0
  81. package/dist/tests/application/groups/DeviceRestricted.d.ts +8 -0
  82. package/dist/tests/application/groups/Parking.d.ts +14 -0
  83. package/dist/tests/application/groups/index.d.ts +3 -0
  84. package/dist/tests/application/measures/{AccelerationMeasure.d.ts → Acceleration.d.ts} +2 -2
  85. package/dist/tests/application/measures/BatteryMeasure.d.ts +5 -0
  86. package/dist/tests/application/measures/Brightness.d.ts +2 -0
  87. package/dist/tests/application/measures/CO2.d.ts +2 -0
  88. package/dist/tests/application/measures/HumidityMeasure.d.ts +5 -0
  89. package/dist/tests/application/measures/Illuminance.d.ts +2 -0
  90. package/dist/tests/application/measures/Magicule.d.ts +2 -2
  91. package/dist/tests/application/measures/MovementMeasure.d.ts +5 -0
  92. package/dist/{lib/modules/measure → tests/application}/measures/PositionMeasure.d.ts +2 -2
  93. package/dist/tests/application/measures/PowerConsumption.d.ts +2 -0
  94. package/dist/tests/application/measures/TemperatureMeasure.d.ts +5 -0
  95. package/dist/tests/application/measures/index.d.ts +11 -0
  96. package/dist/tests/application/models.d.ts +2 -0
  97. package/package.json +2 -2
  98. package/dist/lib/modules/asset/AssetsGroupsController.d.ts +0 -20
  99. package/dist/lib/modules/asset/collections/assetsGroupsMapping.d.ts +0 -2
  100. package/dist/lib/modules/asset/types/AssetGroupContent.d.ts +0 -8
  101. package/dist/lib/modules/asset/types/AssetGroupsApi.d.ts +0 -59
  102. package/dist/lib/modules/measure/measures/BatteryMeasure.d.ts +0 -5
  103. package/dist/lib/modules/measure/measures/HumidityMeasure.d.ts +0 -5
  104. package/dist/lib/modules/measure/measures/MovementMeasure.d.ts +0 -5
  105. package/dist/lib/modules/measure/measures/TemperatureMeasure.d.ts +0 -5
  106. package/dist/lib/modules/measure/measures/index.d.ts +0 -5
  107. package/dist/tests/application/decoders/index.d.ts +0 -2
  108. package/dist/tests/application/measures/BrightnessMeasure.d.ts +0 -2
  109. package/dist/tests/application/measures/CO2Measure.d.ts +0 -2
  110. package/dist/tests/application/measures/IlluminanceMeasure.d.ts +0 -2
  111. package/dist/tests/application/measures/PowerConsumptionMeasure.d.ts +0 -2
@@ -1,7 +1,7 @@
1
1
  export declare enum InternalCollection {
2
2
  ASSETS = "assets",
3
3
  ASSETS_HISTORY = "assets-history",
4
- ASSETS_GROUPS = "assets-groups",
4
+ GROUPS = "groups",
5
5
  DEVICES = "devices",
6
6
  MEASURES = "measures",
7
7
  MODELS = "models",
@@ -1 +1,3 @@
1
1
  export * from "./DeviceManagerConfiguration";
2
+ export * from "./Pipes";
3
+ export * from "./InternalCollection";
@@ -0,0 +1 @@
1
+ export * from "./SchemaValidationError";
@@ -1,5 +1 @@
1
- export * from "./types/DigitalTwinContent";
2
- export * from "./types/DigitalTwinEvents";
3
- export * from "./types/DigitalTwinMeasures";
4
- export * from "./types/Metadata";
5
- export * from "./types/EmbeddedMeasure";
1
+ export * from "./types/exports";
@@ -1,13 +1,5 @@
1
1
  export * from "./Module";
2
+ export * from "./errors";
2
3
  export * from "./services";
3
- export * from "./types/DigitalTwinApi";
4
- export * from "./types/DigitalTwinContent";
5
- export * from "./types/DigitalTwinEvents";
6
- export * from "./types/DigitalTwinMeasures";
7
- export * from "./types/EmbeddedMeasure";
8
- export * from "./types/KuzzleRole";
9
- export * from "./types/Metadata";
10
- export * from "./utils/flattenObject";
11
- export * from "./utils/keepStack";
12
- export * from "./utils/lock";
13
- export * from "./utils/objectDiff";
4
+ export * from "./types";
5
+ export * from "./utils";
@@ -1,3 +1,5 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
1
3
  import { UUID } from "node:crypto";
2
4
  import { PassThrough, Readable } from "node:stream";
3
5
  import { JSONObject, KDocumentContentGeneric, KHit, SearchResult, User } from "kuzzle";
@@ -1,3 +1,5 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
1
3
  import { UUID } from "node:crypto";
2
4
  import { DeviceManagerPlugin, InternalCollection } from "../../plugin";
3
5
  import { AbstractExporter, ExporterOption } from "./AbstractExporter";
@@ -1,9 +1,18 @@
1
+ import { KuzzleRequest } from "kuzzle";
2
+ import { JSONObject, KDocument } from "kuzzle-sdk";
1
3
  import { MeasureContent } from "../../measure";
2
4
  import { DeviceManagerPlugin, InternalCollection } from "../../plugin";
3
5
  import { ApiDigitalTwinMGetLastMeasuredAtResult } from "../types/DigitalTwinApi";
4
6
  import { BaseService } from "./BaseService";
7
+ import { AssetContent } from "lib/modules/asset";
8
+ import { DeviceContent, DeviceProvisioningContent } from "lib/modules/device";
9
+ import { AssetModelContent, DeviceModelContent } from "lib/modules/model";
10
+ type MeasureSlot = {
11
+ asset: string;
12
+ device: string;
13
+ };
5
14
  export declare class DigitalTwinService extends BaseService {
6
- private targetCollection;
15
+ readonly targetCollection: InternalCollection;
7
16
  private readonly digitalTwinType;
8
17
  constructor(plugin: DeviceManagerPlugin, targetCollection: InternalCollection);
9
18
  protected registerAskEvents(): void;
@@ -11,6 +20,27 @@ export declare class DigitalTwinService extends BaseService {
11
20
  * Gets the last measures of a digital twin
12
21
  */
13
22
  getLastMeasures(engineId: string, digitalTwinId: string, measureCount?: number): Promise<MeasureContent[]>;
23
+ /**
24
+ * Link a device to an asset.
25
+ */
26
+ linkAssetDevice(engineId: string, deviceId: string, assetId: string, measureSlots: {
27
+ asset: string;
28
+ device: string;
29
+ }[], implicitMeasuresLinking: boolean, request: KuzzleRequest): Promise<{
30
+ asset: KDocument<AssetContent>;
31
+ device: KDocument<DeviceContent>;
32
+ }>;
33
+ /**
34
+ * Unlink a device of an asset with lock
35
+ *
36
+ * @param {string} deviceId Id of the device
37
+ * @param {string} assetId Id of the asset
38
+ * @param {KuzzleRequest} request kuzzle request
39
+ */
40
+ unlinkAssetDevice(deviceId: string, assetId: string, measureSlots: MeasureSlot[], allMeasures: undefined | boolean, request: KuzzleRequest): Promise<{
41
+ asset: KDocument<AssetContent>;
42
+ device: KDocument<DeviceContent>;
43
+ }>;
14
44
  /**
15
45
  * Gets the last measures of multiple digital twins
16
46
  */
@@ -18,4 +48,44 @@ export declare class DigitalTwinService extends BaseService {
18
48
  getLastMeasuredAt(engineId: string, digitalTwinId: string): Promise<number>;
19
49
  mGetLastMeasuredAt(engineId: string, digitalTwinIds: string[]): Promise<ApiDigitalTwinMGetLastMeasuredAtResult>;
20
50
  private getAggregationQueryParameters;
51
+ /**
52
+ * Checks if the asset does not already have a linked device using one of the
53
+ * requested measure slots.
54
+ */
55
+ protected checkAssetAlreadyProvidedMeasures(asset: KDocument<AssetContent>, deviceId: string, requestedMeasureNames: MeasureSlot[]): void;
56
+ /**
57
+ * Checks if the device does not already have a linked asset using one of the
58
+ * requested measure slots.
59
+ */
60
+ protected checkDeviceAlreadyProvidingMeasures(device: KDocument<DeviceContent>, assetId: string, requestedMeasureNames: MeasureSlot[]): void;
61
+ /**
62
+ * Goes through the device available measures and add them into the link if:
63
+ * - they are not already provided to the asset by another device
64
+ * - they are not already provided to another asset by the device
65
+ * - they are not already present in the link request
66
+ * - they are declared in the asset model
67
+ */
68
+ protected addAvailableLinkableMeasures(asset: KDocument<AssetContent>, device: KDocument<DeviceContent>, assetModel: AssetModelContent, deviceModel: DeviceModelContent, requestedMeasureSlots: MeasureSlot[]): void;
69
+ /**
70
+ * Internal logic of unlink a device of an asset
71
+ *
72
+ * @param {string} deviceId Id of the device
73
+ * @param {KuzzleRequest} request kuzzle request
74
+ */
75
+ protected _unlinkAssetDevice(deviceId: string, assetId: string, measureSlots: MeasureSlot[], allMeasures: undefined | boolean, request: KuzzleRequest): Promise<{
76
+ asset: KDocument<AssetContent>;
77
+ device: KDocument<DeviceContent>;
78
+ }>;
79
+ /**
80
+ * Retrieve the model document of an asset
81
+ * @param {any} engineGroup:string
82
+ * @param {any} model:string
83
+ * @returns {any}
84
+ */
85
+ protected getAssetModel(engineGroup: string, model: string): Promise<AssetModelContent>;
86
+ protected getDeviceModel(model: string): Promise<DeviceModelContent>;
87
+ getEngine(engineId: string): Promise<JSONObject>;
88
+ protected getDeviceProvisioning(deviceId: string): Promise<import("kuzzle").KDocument<DeviceProvisioningContent>>;
89
+ protected checkDeviceAttachedToEngine(device: KDocument<DeviceProvisioningContent>): void;
21
90
  }
91
+ export {};
@@ -1,12 +1,13 @@
1
- import { JSONObject, KDocumentContent } from "kuzzle-sdk";
1
+ import { KDocumentContent } from "kuzzle-sdk";
2
2
  import { NamedMeasures } from "../../decoder";
3
3
  import { Metadata } from "./Metadata";
4
- import { DigitalTwinMeasures } from "./DigitalTwinMeasures";
5
- export interface DigitalTwinContent<TMeasures extends JSONObject = JSONObject, TMetadata extends Metadata = Metadata> extends KDocumentContent {
4
+ import { LocaleDetails } from "lib/modules/model";
5
+ export interface DigitalTwinContent<TMetadata extends Metadata = Metadata> extends KDocumentContent {
6
6
  model: string;
7
+ modelLocales?: {
8
+ [locale: string]: LocaleDetails;
9
+ };
7
10
  reference: string;
8
11
  metadata: TMetadata;
9
- measures: DigitalTwinMeasures<TMeasures>;
10
- lastMeasuredAt: number;
11
12
  measureSlots: NamedMeasures;
12
13
  }
@@ -1,3 +1,4 @@
1
+ import { User } from "kuzzle";
1
2
  import { MeasureContent } from "../../measure";
2
3
  export type AskDigitalTwinLastMeasuresGet = {
3
4
  name: "ask:device-manager:asset:get-last-measures" | "ask:device-manager:device:get-last-measures";
@@ -7,3 +8,32 @@ export type AskDigitalTwinLastMeasuresGet = {
7
8
  };
8
9
  result: MeasureContent[];
9
10
  };
11
+ export type AskDigitalTwinLink = {
12
+ name: "ask:device-manager:device:link-asset" | "ask:device-manager:asset:link-device";
13
+ payload: {
14
+ engineId: string;
15
+ assetId: string;
16
+ deviceId: string;
17
+ user: User;
18
+ measureSlots: {
19
+ asset: string;
20
+ device: string;
21
+ }[];
22
+ implicitMeasuresLinking: undefined | boolean;
23
+ };
24
+ result: void;
25
+ };
26
+ export type AskDigitalTwinUnlink = {
27
+ name: `ask:device-manager:asset:unlink-device` | `ask:device-manager:device:unlink-asset`;
28
+ payload: {
29
+ deviceId: string;
30
+ assetId: string;
31
+ measureSlots: {
32
+ asset: string;
33
+ device: string;
34
+ }[];
35
+ allMeasures: undefined | boolean;
36
+ user: User;
37
+ };
38
+ result: void;
39
+ };
@@ -0,0 +1,18 @@
1
+ import { MeasureDefinition } from "../../measure";
2
+ import { AssetModelDefinition, DeviceModelDefinition, GroupModelDefinition } from "../../model";
3
+ interface ModelDefinition<Definition> {
4
+ /**
5
+ * Name of model
6
+ */
7
+ modelName: string;
8
+ /**
9
+ * Model definition used by the plugin to create associated ressources
10
+ * and updates mappings.
11
+ */
12
+ definition: Definition;
13
+ }
14
+ export type AssetModel = ModelDefinition<AssetModelDefinition>;
15
+ export type DeviceModel = ModelDefinition<DeviceModelDefinition>;
16
+ export type MeasureModel = ModelDefinition<MeasureDefinition>;
17
+ export type GroupModel = ModelDefinition<GroupModelDefinition>;
18
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from "./DigitalTwinContent";
2
+ export * from "./DigitalTwinEvents";
3
+ export * from "./DigitalTwinMeasures";
4
+ export * from "./EmbeddedMeasure";
5
+ export * from "./Metadata";
6
+ export * from "./Models";
@@ -0,0 +1,9 @@
1
+ export * from "./DigitalTwinApi";
2
+ export * from "./DigitalTwinContent";
3
+ export * from "./DigitalTwinEvents";
4
+ export * from "./DigitalTwinMeasures";
5
+ export * from "./EmbeddedMeasure";
6
+ export * from "./KuzzleRole";
7
+ export * from "./Metadata";
8
+ export * from "./Models";
9
+ export * from "./exports";
@@ -0,0 +1,5 @@
1
+ export * from "./AJValidator";
2
+ export * from "./flattenObject";
3
+ export * from "./keepStack";
4
+ export * from "./lock";
5
+ export * from "./objectDiff";
@@ -1,4 +1,6 @@
1
- import { Metadata, AssetContent, TemperatureMeasurement, PositionMeasurement, AssetModelDefinition } from "../../../index";
1
+ import { Metadata, AssetContent, AssetModel } from "../../../index";
2
+ import { TemperatureMeasurement, PositionMeasurement } from "../measures";
3
+ declare const modelName = "Container";
2
4
  export interface ContainerMetadata extends Metadata {
3
5
  height: number;
4
6
  width: number;
@@ -16,7 +18,8 @@ export type ContainerMeasurements = {
16
18
  position: PositionMeasurement;
17
19
  temperatureWeather: TemperatureMeasurement;
18
20
  };
19
- export interface ContainerAssetContent extends AssetContent<ContainerMeasurements, ContainerMetadata> {
20
- model: "Container";
21
+ export interface ContainerAssetContent extends AssetContent<ContainerMetadata> {
22
+ model: typeof modelName;
21
23
  }
22
- export declare const containerAssetDefinition: AssetModelDefinition;
24
+ export declare const Container: AssetModel;
25
+ export {};
@@ -1,2 +1,2 @@
1
- import { AssetModelDefinition } from "../../../index";
2
- export declare const magicHouseAssetDefinition: AssetModelDefinition;
1
+ import { AssetModel } from "../../../index";
2
+ export declare const MagicHouse: AssetModel;
@@ -1,2 +1,2 @@
1
- import { AssetModelDefinition } from "../../../index";
2
- export declare const roomAssetDefinition: AssetModelDefinition;
1
+ import { AssetModel } from "../../../index";
2
+ export declare const Room: AssetModel;
@@ -1,2 +1,2 @@
1
- import { AssetModelDefinition } from "../../../index";
2
- export declare const streetLampAssetDefinition: AssetModelDefinition;
1
+ import { AssetModel } from "../../../index";
2
+ export declare const StreetLamp: AssetModel;
@@ -1,2 +1,2 @@
1
- import { AssetModelDefinition } from "../../../index";
2
- export declare const warehouseAssetDefinition: AssetModelDefinition;
1
+ import { AssetModel } from "../../../index";
2
+ export declare const Warehouse: AssetModel;
@@ -1,4 +1,5 @@
1
1
  export * from "./Container";
2
+ export * from "./MagicHouse";
2
3
  export * from "./Room";
3
4
  export * from "./StreetLamp";
4
5
  export * from "./Warehouse";
@@ -0,0 +1,8 @@
1
+ import { JSONObject } from "kuzzle-sdk";
2
+ import { Decoder, DecodedPayload } from "../../../index";
3
+ export declare class EmptyTempDecoder extends Decoder {
4
+ measures: any[];
5
+ constructor();
6
+ validate(rawPayload: JSONObject): Promise<boolean>;
7
+ decode(decodedPayload: DecodedPayload<EmptyTempDecoder>, rawPayload: JSONObject): Promise<DecodedPayload<EmptyTempDecoder>>;
8
+ }
@@ -0,0 +1,2 @@
1
+ import { DeviceModel } from "../../../index";
2
+ export declare const DummyTemp: DeviceModel;
@@ -0,0 +1,2 @@
1
+ import { DeviceModel } from "../../../index";
2
+ export declare const DummyTempPosition: DeviceModel;
@@ -0,0 +1,2 @@
1
+ import { DeviceModel } from "../../../index";
2
+ export declare const EmptyTemp: DeviceModel;
@@ -0,0 +1,3 @@
1
+ export * from "./DummyTemp";
2
+ export * from "./DummyTempPosition";
3
+ export * from "./EmptyTemp";
@@ -0,0 +1,8 @@
1
+ import { GroupContent } from "lib/modules/group/exports";
2
+ import { GroupModel } from "lib/modules/shared";
3
+ declare const modelName = "AssetRestricted";
4
+ export interface AssetRestrictedContent extends GroupContent {
5
+ model: typeof modelName;
6
+ }
7
+ export declare const AssetRestricted: GroupModel;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { GroupContent } from "lib/modules/group/exports";
2
+ import { GroupModel } from "lib/modules/shared";
3
+ declare const modelName = "DeviceRestricted";
4
+ export interface DeviceRestrictedContent extends GroupContent {
5
+ model: typeof modelName;
6
+ }
7
+ export declare const DeviceRestricted: GroupModel;
8
+ export {};
@@ -0,0 +1,14 @@
1
+ import { GroupContent } from "lib/modules/group/exports";
2
+ import { GroupModel, Metadata } from "lib/modules/shared";
3
+ declare const modelName = "Parking";
4
+ export interface ParkingMetadata extends Metadata {
5
+ geolocation: {
6
+ lat: number;
7
+ lon: number;
8
+ };
9
+ }
10
+ export interface ParkingGroupContent extends GroupContent<ParkingMetadata> {
11
+ model: typeof modelName;
12
+ }
13
+ export declare const Parking: GroupModel;
14
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from "./Parking";
2
+ export * from "./AssetRestricted";
3
+ export * from "./DeviceRestricted";
@@ -1,4 +1,4 @@
1
- import { MeasureDefinition } from "lib/modules/measure";
1
+ import { MeasureModel } from "../../../index";
2
2
  export type AccelerationMeasurement = {
3
3
  acceleration: {
4
4
  x: number;
@@ -7,4 +7,4 @@ export type AccelerationMeasurement = {
7
7
  };
8
8
  accuracy: number;
9
9
  };
10
- export declare const accelerationMeasureDefinition: MeasureDefinition;
10
+ export declare const Acceleration: MeasureModel;
@@ -0,0 +1,5 @@
1
+ import { MeasureModel } from "lib/modules/shared";
2
+ export type BatteryMeasurement = {
3
+ battery: number;
4
+ };
5
+ export declare const batteryMeasureModel: MeasureModel;
@@ -0,0 +1,2 @@
1
+ import { MeasureModel } from "../../../index";
2
+ export declare const Brightness: MeasureModel;
@@ -0,0 +1,2 @@
1
+ import { MeasureModel } from "../../../index";
2
+ export declare const CO2: MeasureModel;
@@ -0,0 +1,5 @@
1
+ import { MeasureModel } from "lib/modules/shared";
2
+ export type HumidityMeasurement = {
3
+ humidity: number;
4
+ };
5
+ export declare const humidityMeasureModel: MeasureModel;
@@ -0,0 +1,2 @@
1
+ import { MeasureModel } from "../../../index";
2
+ export declare const Illuminance: MeasureModel;
@@ -1,5 +1,5 @@
1
- import { MeasureDefinition } from "lib/modules/measure";
1
+ import { MeasureModel } from "../../../index";
2
2
  export type MagiculeMeasurement = {
3
3
  magicule: number;
4
4
  };
5
- export declare const magiculeMeasureDefinition: MeasureDefinition;
5
+ export declare const Magicule: MeasureModel;
@@ -0,0 +1,5 @@
1
+ import { MeasureModel } from "lib/modules/shared";
2
+ export type MovementMeasurement = {
3
+ movement: boolean;
4
+ };
5
+ export declare const movementMeasureModel: MeasureModel;
@@ -1,4 +1,4 @@
1
- import { MeasureDefinition } from "./../types/MeasureDefinition";
1
+ import { MeasureModel } from "lib/modules/shared";
2
2
  export type PositionMeasurement = {
3
3
  position: {
4
4
  lat: number;
@@ -7,4 +7,4 @@ export type PositionMeasurement = {
7
7
  altitude?: number;
8
8
  accuracy?: number;
9
9
  };
10
- export declare const positionMeasureDefinition: MeasureDefinition;
10
+ export declare const positionMeasureModel: MeasureModel;
@@ -0,0 +1,2 @@
1
+ import { MeasureModel } from "../../../index";
2
+ export declare const PowerConsumption: MeasureModel;
@@ -0,0 +1,5 @@
1
+ import { MeasureModel } from "lib/modules/shared";
2
+ export type TemperatureMeasurement = {
3
+ temperature: number;
4
+ };
5
+ export declare const temperatureMeasureModel: MeasureModel;
@@ -0,0 +1,11 @@
1
+ export * from "./Acceleration";
2
+ export * from "./Brightness";
3
+ export * from "./CO2";
4
+ export * from "./Illuminance";
5
+ export * from "./Magicule";
6
+ export * from "./PowerConsumption";
7
+ export * from "./MovementMeasure";
8
+ export * from "./PositionMeasure";
9
+ export * from "./TemperatureMeasure";
10
+ export * from "./HumidityMeasure";
11
+ export * from "./BatteryMeasure";
@@ -0,0 +1,2 @@
1
+ import { DeviceManagerPlugin } from "../../index";
2
+ export declare function registerModels(deviceManager: DeviceManagerPlugin): void;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "kuzzle-device-manager-types",
3
- "version": "3.0.0-next.2",
3
+ "version": "3.0.0-next.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-device-manager.git",
11
11
  "directory": "types"
12
12
  },
13
13
  "scripts": {
@@ -1,20 +0,0 @@
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,2 +0,0 @@
1
- import { CollectionMappings } from "kuzzle";
2
- export declare const assetGroupsMappings: CollectionMappings;
@@ -1,8 +0,0 @@
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;
@@ -1,59 +0,0 @@
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 {};
@@ -1,5 +0,0 @@
1
- import { MeasureDefinition } from "./../types/MeasureDefinition";
2
- export type BatteryMeasurement = {
3
- battery: number;
4
- };
5
- export declare const batteryMeasureDefinition: MeasureDefinition;
@@ -1,5 +0,0 @@
1
- import { MeasureDefinition } from "./../types/MeasureDefinition";
2
- export type HumidityMeasurement = {
3
- humidity: number;
4
- };
5
- export declare const humidityMeasureDefinition: MeasureDefinition;
@@ -1,5 +0,0 @@
1
- import { MeasureDefinition } from "./../types/MeasureDefinition";
2
- export type MovementMeasurement = {
3
- movement: boolean;
4
- };
5
- export declare const movementMeasureDefinition: MeasureDefinition;
@@ -1,5 +0,0 @@
1
- import { MeasureDefinition } from "./../types/MeasureDefinition";
2
- export type TemperatureMeasurement = {
3
- temperature: number;
4
- };
5
- export declare const temperatureMeasureDefinition: MeasureDefinition;
@@ -1,5 +0,0 @@
1
- export * from "./MovementMeasure";
2
- export * from "./PositionMeasure";
3
- export * from "./TemperatureMeasure";
4
- export * from "./HumidityMeasure";
5
- export * from "./BatteryMeasure";
@@ -1,2 +0,0 @@
1
- export * from "./DummyTempDecoder";
2
- export * from "./DummyTempPositionDecoder";
@@ -1,2 +0,0 @@
1
- import { MeasureDefinition } from "lib/modules/measure";
2
- export declare const brightnessMeasureDefinition: MeasureDefinition;