kuzzle-device-manager-types 3.0.0-next.23 → 3.0.0-next.25

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.
@@ -14,30 +14,35 @@ export declare class ModelService extends BaseService {
14
14
  private checkGroupAffinity;
15
15
  writeAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures, tooltipModels: TooltipModels, locales: {
16
16
  [valueName: string]: LocaleDetails;
17
- }): Promise<KDocument<AssetModelContent>>;
17
+ }, engineIds?: string[]): Promise<KDocument<AssetModelContent>>;
18
18
  writeDevice(model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures): Promise<KDocument<DeviceModelContent>>;
19
19
  writeGroup(engineGroup: string, model: string, affinity: JSONObject, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups): Promise<KDocument<GroupModelContent>>;
20
20
  writeMeasure(type: string, valuesMappings: JSONObject, validationSchema?: SchemaObject, valuesDetails?: MeasureValuesDetails, locales?: {
21
21
  [valueName: string]: LocaleDetails;
22
- }): Promise<KDocument<MeasureModelContent>>;
22
+ }, engineIds?: string[]): Promise<KDocument<MeasureModelContent>>;
23
23
  deleteAsset(_id: string): Promise<void>;
24
24
  deleteDevice(_id: string): Promise<void>;
25
25
  deleteGroup(_id: string): Promise<void>;
26
26
  deleteMeasure(_id: string): Promise<void>;
27
- listAsset(engineGroup: string): Promise<KDocument<AssetModelContent>[]>;
27
+ listAsset(engineGroup: string, engineId?: string): Promise<KDocument<AssetModelContent>[]>;
28
28
  listDevices(): Promise<KDocument<DeviceModelContent>[]>;
29
29
  listGroups(engineGroup: string): Promise<KDocument<GroupModelContent>[]>;
30
- listMeasures(): Promise<KDocument<MeasureModelContent>[]>;
31
- searchAssets(engineGroup: string, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<AssetModelContent>>>;
30
+ listMeasures(engineId?: string): Promise<KDocument<MeasureModelContent>[]>;
31
+ searchAssets(engineGroup: string, engineId: string | undefined, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<AssetModelContent>>>;
32
32
  searchDevices(searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<DeviceModelContent>>>;
33
33
  searchGroups(engineGroup: string, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<GroupModelContent>>>;
34
- searchMeasures(searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<MeasureModelContent>>>;
34
+ searchMeasures(engineId: string | undefined, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<MeasureModelContent>>>;
35
35
  assetExists(model: string): Promise<boolean>;
36
36
  deviceExists(model: string): Promise<boolean>;
37
- getAsset(engineGroup: string, model: string): Promise<KDocument<AssetModelContent>>;
37
+ getAsset(engineGroup: string, engineId: string | undefined, model: string): Promise<KDocument<AssetModelContent>>;
38
38
  getDevice(model: string): Promise<KDocument<DeviceModelContent>>;
39
39
  getGroup(model: string): Promise<KDocument<GroupModelContent>>;
40
- getMeasure(type: string): Promise<KDocument<MeasureModelContent>>;
40
+ getMeasure(type: string, engineId?: string): Promise<KDocument<MeasureModelContent>>;
41
+ /**
42
+ * Checks that creating/updating a measure model does not shadow an existing
43
+ * one at a different scope (global vs tenant-scoped).
44
+ */
45
+ private checkMeasureShadowing;
41
46
  /**
42
47
  * Update an asset model
43
48
  */
@@ -20,7 +20,7 @@ export declare class ModelsController {
20
20
  listAssets(request: KuzzleRequest): Promise<ApiModelListAssetsResult>;
21
21
  listDevices(): Promise<ApiModelListDevicesResult>;
22
22
  listGroups(request: KuzzleRequest): Promise<ApiModelListGroupsResult>;
23
- listMeasures(): Promise<ApiModelListMeasuresResult>;
23
+ listMeasures(request: KuzzleRequest): Promise<ApiModelListMeasuresResult>;
24
24
  searchAssets(request: KuzzleRequest): Promise<ApiModelSearchAssetsResult>;
25
25
  searchDevices(request: KuzzleRequest): Promise<ApiModelSearchDevicesResult>;
26
26
  searchGroups(request: KuzzleRequest): Promise<ApiModelSearchGroupsResult>;
@@ -24,6 +24,7 @@ export type ApiModelGetGroupResult = KDocument<GroupModelContent>;
24
24
  export interface ApiModelGetMeasureRequest extends ModelsControllerRequest {
25
25
  action: "getMeasure";
26
26
  type: string;
27
+ engineId?: string;
27
28
  }
28
29
  export type ApiModelGetMeasureResult = KDocument<MeasureModelContent>;
29
30
  export interface ApiModelWriteAssetRequest extends ModelsControllerRequest {
@@ -72,6 +73,7 @@ export interface ApiModelWriteMeasureRequest extends ModelsControllerRequest {
72
73
  action: "writeMeasure";
73
74
  body: {
74
75
  type: string;
76
+ engineIds?: string[];
75
77
  locales?: {
76
78
  [valueName: string]: LocaleDetails;
77
79
  };
@@ -143,6 +145,7 @@ export type ApiModelListGroupsResult = {
143
145
  };
144
146
  export interface ApiModelListMeasuresRequest extends ModelsControllerRequest {
145
147
  action: "listMeasures";
148
+ engineId?: string;
146
149
  }
147
150
  export type ApiModelListMeasuresResult = {
148
151
  models: KDocument<MeasureModelContent>[];
@@ -176,6 +179,7 @@ export interface ApiModelSearchGroupsRequest extends ModelsControllerRequest {
176
179
  export type ApiModelSearchGroupsResult = SearchResult<KHit<GroupModelContent>>;
177
180
  export interface ApiModelSearchMeasuresRequest extends ModelsControllerRequest {
178
181
  action: "searchMeasures";
182
+ engineId?: string;
179
183
  from?: number;
180
184
  size?: number;
181
185
  scrollTTL?: string;
@@ -3,6 +3,7 @@ import { NamedMeasures } from "../../decoder";
3
3
  import { MeasureDefinition } from "../../measure";
4
4
  export interface MeasureModelContent extends KDocumentContent {
5
5
  type: "measure";
6
+ engineIds?: string[];
6
7
  measure: MeasureDefinition & {
7
8
  type: string;
8
9
  locales?: {
@@ -154,6 +155,12 @@ export interface TooltipModels {
154
155
  export interface AssetModelContent extends KDocumentContent {
155
156
  type: "asset";
156
157
  engineGroup: string;
158
+ /**
159
+ * Optional list of engine IDs (tenant IDs) this model is scoped to.
160
+ * When set, the model is only available to the specified tenants.
161
+ * When absent, the model is available to all tenants in the engineGroup.
162
+ */
163
+ engineIds?: string[];
157
164
  asset: {
158
165
  /**
159
166
  * Name of the model
@@ -3,6 +3,7 @@ export type AskModelAssetGet = {
3
3
  name: "ask:device-manager:model:asset:get";
4
4
  payload: {
5
5
  engineGroup: string;
6
+ engineId?: string;
6
7
  model: string;
7
8
  };
8
9
  result: AssetModelContent;
@@ -18,6 +19,7 @@ export type AskModelMeasureGet = {
18
19
  name: "ask:device-manager:model:measure:get";
19
20
  payload: {
20
21
  type: string;
22
+ engineId?: string;
21
23
  };
22
24
  result: MeasureModelContent;
23
25
  };
@@ -82,7 +82,7 @@ export declare class DigitalTwinService extends BaseService {
82
82
  * @param {any} model:string
83
83
  * @returns {any}
84
84
  */
85
- protected getAssetModel(engineGroup: string, model: string): Promise<AssetModelContent>;
85
+ protected getAssetModel(engineGroup: string, model: string, engineId?: string): Promise<AssetModelContent>;
86
86
  protected getDeviceModel(model: string): Promise<DeviceModelContent>;
87
87
  getEngine(engineId: string): Promise<JSONObject>;
88
88
  protected getDeviceProvisioning(deviceId: string): Promise<import("kuzzle").KDocument<DeviceProvisioningContent>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kuzzle-device-manager-types",
3
- "version": "3.0.0-next.23",
3
+ "version": "3.0.0-next.25",
4
4
  "description": "Shared types for Kuzzle Device Manager",
5
5
  "author": "The Kuzzle Team (support@kuzzle.io)",
6
6
  "main": "index.js",