kuzzle-device-manager-types 3.0.0-3-dev.16 → 3.0.0-3-dev.18

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.
@@ -51,5 +51,11 @@ export declare class AssetService extends DigitalTwinService {
51
51
  updateModelLocales(request: KuzzleRequest, model: string): Promise<ApiAssetUpdateModelLocales[]>;
52
52
  addMeasureSlot(assetId: string, measureSlot: AssetContent["measureSlots"][0], engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
53
53
  removeMeasureSlot(assetId: string, measureSlotName: string, engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
54
+ /**
55
+ * Update the display name of a measure slot on an asset
56
+ */
57
+ updateMeasureSlotDisplayName(assetId: string, measureSlotName: string, displayName: {
58
+ [locale: string]: string;
59
+ }, engineId: string, request: KuzzleRequest): Promise<KDocument<AssetContent>>;
54
60
  private refreshModel;
55
61
  }
@@ -3,7 +3,7 @@ import { MeasureExporter } from "../measure";
3
3
  import { DeviceManagerPlugin } from "../plugin";
4
4
  import { DigitalTwinExporter } from "../shared";
5
5
  import { AssetService } from "./AssetService";
6
- import { ApiAssetCreateResult, ApiAssetUpsertResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult, ApiAssetMigrateTenantResult, ApiAssetMetadataReplaceResult, ApiAssetGetLastMeasuresResult, ApiAssetMGetLastMeasuredAtResult, ApiAssetMGetLastMeasuresResult, ApiAssetGetLastMeasuredAtResult, ApiAssetUpdateModelLocales, ApiAssetLinkDevicesResult, ApiAssetUnlinkDevicesResult, ApiAssetAddMeasureSlotResult, ApiAssetRemoveMeasureSlotResult } from "./types/AssetApi";
6
+ import { ApiAssetCreateResult, ApiAssetUpsertResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult, ApiAssetMigrateTenantResult, ApiAssetMetadataReplaceResult, ApiAssetGetLastMeasuresResult, ApiAssetMGetLastMeasuredAtResult, ApiAssetMGetLastMeasuresResult, ApiAssetGetLastMeasuredAtResult, ApiAssetUpdateModelLocales, ApiAssetLinkDevicesResult, ApiAssetUnlinkDevicesResult, ApiAssetAddMeasureSlotResult, ApiAssetRemoveMeasureSlotResult, ApiAssetUpdateMeasureSlotDisplayNameResult } from "./types/AssetApi";
7
7
  import { KuzzleLogger } from "kuzzle-logger";
8
8
  export declare class AssetsController {
9
9
  readonly plugin: DeviceManagerPlugin;
@@ -62,4 +62,8 @@ export declare class AssetsController {
62
62
  * Remove a measure slot from an asset
63
63
  */
64
64
  removeMeasureSlot(request: KuzzleRequest): Promise<ApiAssetRemoveMeasureSlotResult>;
65
+ /**
66
+ * Update the display name of a measure slot on an asset
67
+ */
68
+ updateMeasureSlotDisplayName(request: KuzzleRequest): Promise<ApiAssetUpdateMeasureSlotDisplayNameResult>;
65
69
  }
@@ -256,17 +256,25 @@ export interface ApiAssetAddMeasureSlotRequest extends AssetsControllerRequest {
256
256
  _id: string;
257
257
  body: {
258
258
  /**
259
- * Measure slot containing the name of the slot and it's type of measurement
259
+ * Measure slot containing the name of the slot, its type of measurement
260
+ * and an optional per-locale display name.
260
261
  *
261
- * { name: string , type: string}
262
+ * { name: string, type: string, displayName?: { [locale: string]: string } }
262
263
  *
263
264
  * @example
264
265
  *
265
- * { name: "externalTemperature", type: "temperature" }
266
+ * {
267
+ * name: "externalTemperature",
268
+ * type: "temperature",
269
+ * displayName: { en: "External temperature", fr: "Température extérieure" }
270
+ * }
266
271
  */
267
272
  measureSlot: {
268
273
  name: string;
269
274
  type: string;
275
+ displayName?: {
276
+ [locale: string]: string;
277
+ };
270
278
  };
271
279
  };
272
280
  }
@@ -287,4 +295,29 @@ export interface ApiAssetRemoveMeasureSlotRequest extends AssetsControllerReques
287
295
  };
288
296
  }
289
297
  export type ApiAssetRemoveMeasureSlotResult = KDocument<AssetContent>;
298
+ export interface ApiAssetUpdateMeasureSlotDisplayNameRequest extends AssetsControllerRequest {
299
+ action: "updateMeasureSlotDisplayName";
300
+ _id: string;
301
+ body: {
302
+ /**
303
+ * Name of the measure slot to update.
304
+ *
305
+ * @example
306
+ *
307
+ * measureSlot: "externalTemperature",
308
+ */
309
+ measureSlot: string;
310
+ /**
311
+ * Per-locale display name for the measure slot.
312
+ *
313
+ * @example
314
+ *
315
+ * displayName: { en: "External temperature", fr: "Température extérieure" }
316
+ */
317
+ displayName: {
318
+ [locale: string]: string;
319
+ };
320
+ };
321
+ }
322
+ export type ApiAssetUpdateMeasureSlotDisplayNameResult = KDocument<AssetContent>;
290
323
  export {};
@@ -12,6 +12,15 @@ import { DecoderContent } from "./types/DecoderContent";
12
12
  export type NamedMeasures = Array<{
13
13
  name: string;
14
14
  type: string;
15
+ /**
16
+ * Per-locale display name for this measure slot, keyed by locale.
17
+ *
18
+ * @example
19
+ * { en: "External temperature", fr: "Température extérieure" }
20
+ */
21
+ displayName?: {
22
+ [locale: string]: string;
23
+ };
15
24
  }>;
16
25
  /**
17
26
  * Base class to implement a decoder for a device model.
@@ -22,6 +22,12 @@ export declare class DeviceService extends DigitalTwinService {
22
22
  * Replace a device metadata
23
23
  */
24
24
  replaceMetadata(engineId: string, deviceId: string, metadata: Metadata, request: KuzzleRequest): Promise<KDocument<DeviceContent>>;
25
+ /**
26
+ * Update the display name of a measure slot on a device
27
+ */
28
+ updateMeasureSlotDisplayName(engineId: string, deviceId: string, measureSlotName: string, displayName: {
29
+ [locale: string]: string;
30
+ }, request: KuzzleRequest): Promise<KDocument<DeviceContent>>;
25
31
  /**
26
32
  * Update or Create an device metadata
27
33
  */
@@ -1,7 +1,7 @@
1
1
  import { ControllerDefinition, KuzzleRequest } from "kuzzle";
2
2
  import { DeviceManagerPlugin } from "../plugin";
3
3
  import { DeviceService } from "./DeviceService";
4
- import { ApiDeviceAttachEngineResult, ApiDeviceCreateResult, ApiDeviceDeleteResult, ApiDeviceDetachEngineResult, ApiDeviceGetResult, ApiDeviceLinkAssetsResult, ApiDeviceSearchResult, ApiDeviceUnlinkAssetsResult, ApiDeviceUpdateResult, ApiDeviceGetMeasuresResult, ApiDeviceUpsertResult, ApiDeviceGetLastMeasuresResult, ApiDeviceMGetLastMeasuresResult, ApiDeviceGetLastMeasuredAtResult, ApiDeviceMGetLastMeasuredAtResult, ApiDeviceMetadataReplaceResult } from "./types/DeviceApi";
4
+ import { ApiDeviceAttachEngineResult, ApiDeviceCreateResult, ApiDeviceDeleteResult, ApiDeviceDetachEngineResult, ApiDeviceGetResult, ApiDeviceLinkAssetsResult, ApiDeviceSearchResult, ApiDeviceUnlinkAssetsResult, ApiDeviceUpdateResult, ApiDeviceGetMeasuresResult, ApiDeviceUpsertResult, ApiDeviceGetLastMeasuresResult, ApiDeviceMGetLastMeasuresResult, ApiDeviceGetLastMeasuredAtResult, ApiDeviceMGetLastMeasuredAtResult, ApiDeviceMetadataReplaceResult, ApiDeviceUpdateMeasureSlotDisplayNameResult } from "./types/DeviceApi";
5
5
  import { KuzzleLogger } from "kuzzle-logger";
6
6
  export declare class DevicesController {
7
7
  private plugin;
@@ -45,4 +45,8 @@ export declare class DevicesController {
45
45
  export(request: KuzzleRequest): Promise<any>;
46
46
  getLastMeasuredAt(request: KuzzleRequest): Promise<ApiDeviceGetLastMeasuredAtResult>;
47
47
  mGetLastMeasuredAt(request: KuzzleRequest): Promise<ApiDeviceMGetLastMeasuredAtResult>;
48
+ /**
49
+ * Update the display name of a measure slot on a device
50
+ */
51
+ updateMeasureSlotDisplayName(request: KuzzleRequest): Promise<ApiDeviceUpdateMeasureSlotDisplayNameResult>;
48
52
  }
@@ -23,6 +23,31 @@ export interface ApiDeviceUpdateRequest extends DevicesControllerRequest {
23
23
  }
24
24
  export type ApiDeviceUpdateResult = KDocument<DeviceContent>;
25
25
  export type ApiDeviceMetadataReplaceResult = KDocument<DeviceContent>;
26
+ export interface ApiDeviceUpdateMeasureSlotDisplayNameRequest extends DevicesControllerRequest {
27
+ action: "updateMeasureSlotDisplayName";
28
+ _id: string;
29
+ body: {
30
+ /**
31
+ * Name of the measure slot to update.
32
+ *
33
+ * @example
34
+ *
35
+ * measureSlot: "externalTemperature",
36
+ */
37
+ measureSlot: string;
38
+ /**
39
+ * Per-locale display name for the measure slot.
40
+ *
41
+ * @example
42
+ *
43
+ * displayName: { en: "External temperature", fr: "Température extérieure" }
44
+ */
45
+ displayName: {
46
+ [locale: string]: string;
47
+ };
48
+ };
49
+ }
50
+ export type ApiDeviceUpdateMeasureSlotDisplayNameResult = KDocument<DeviceContent>;
26
51
  export interface ApiDeviceUpsertRequest extends DevicesControllerRequest {
27
52
  action: "upsert";
28
53
  refresh?: string;
@@ -41,16 +41,6 @@ export declare class MeasureService extends BaseService {
41
41
  * @returns The asset or null if not found
42
42
  */
43
43
  private findAsset;
44
- /**
45
- * Check if the asset measure name is associated to the asset model
46
- *
47
- * @param measureName The measure name to check
48
- * @param model The asset model the measureName should belong
49
- *
50
- * @returns True if the asset measure name belongs to the asset model, false otherwise
51
- * @throws If the model does not exists
52
- */
53
- private isMeasureNameInModel;
54
44
  /**
55
45
  * Find the asset measure name from the device and its measure type
56
46
  *
@@ -241,12 +241,16 @@ export interface AssetModelContent extends KDocumentContent {
241
241
  /**
242
242
  * List of accepted measures for this model
243
243
  *
244
- * Array<{ type: string, name: string }>
244
+ * Array<{ type: string, name: string, displayName?: { [locale: string]: string } }>
245
245
  *
246
246
  * @example
247
247
  *
248
248
  * [
249
- * { type: "temperature", name: "externalTemperature" }
249
+ * {
250
+ * type: "temperature",
251
+ * name: "externalTemperature",
252
+ * displayName: { en: "External temperature", fr: "Température extérieure" }
253
+ * }
250
254
  * ]
251
255
  */
252
256
  measures: NamedMeasures;
@@ -387,12 +391,16 @@ export interface DeviceModelContent extends KDocumentContent {
387
391
  /**
388
392
  * List of decoded measures for this model
389
393
  *
390
- * Array<{ type: string, name: string }>
394
+ * Array<{ type: string, name: string, displayName?: { [locale: string]: string } }>
391
395
  *
392
396
  * @example
393
397
  *
394
398
  * [
395
- * { type: "temperature", name: "externalTemperature" }
399
+ * {
400
+ * type: "temperature",
401
+ * name: "externalTemperature",
402
+ * displayName: { en: "External temperature", fr: "Température extérieure" }
403
+ * }
396
404
  * ]
397
405
  */
398
406
  measures: NamedMeasures;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kuzzle-device-manager-types",
3
- "version": "3.0.0-3-dev.16",
3
+ "version": "3.0.0-3-dev.18",
4
4
  "description": "Shared types for Kuzzle Device Manager",
5
5
  "author": "The Kuzzle Team (support@kuzzle.io)",
6
6
  "main": "index.js",