kuzzle-device-manager-types 3.0.0-next.24 → 3.0.0-next.26

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.
@@ -1,3 +1,3 @@
1
1
  import { ApiMeasureTarget, DeviceMeasureTarget } from "./types/MeasureTarget";
2
- export declare function toApiTarget(indexId: string, assetId: string, engineGroup?: string): ApiMeasureTarget;
2
+ export declare function toApiTarget(indexId: string, assetId: string, engineGroups?: string[]): ApiMeasureTarget;
3
3
  export declare function toDeviceTarget(indexId: string, assetId?: string): DeviceMeasureTarget;
@@ -9,7 +9,7 @@ export interface DeviceMeasureTarget extends AbstractMeasureTarget {
9
9
  export interface ApiMeasureTarget extends AbstractMeasureTarget {
10
10
  type: "api";
11
11
  assetId: string;
12
- engineGroup?: string;
12
+ engineGroups?: string[];
13
13
  }
14
14
  export declare function isTarget(target: any): target is AbstractMeasureTarget;
15
15
  export declare function isTargetDevice(target: any): target is DeviceMeasureTarget;
@@ -12,36 +12,41 @@ export declare class ModelService extends BaseService {
12
12
  private checkModelsConflicts;
13
13
  private checkDefaultValues;
14
14
  private checkGroupAffinity;
15
- writeAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures, tooltipModels: TooltipModels, locales: {
15
+ writeAsset(engineGroups: string[], model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: NamedMeasures, tooltipModels: TooltipModels, locales: {
16
16
  [valueName: string]: LocaleDetails;
17
- }, engines?: string[]): 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
- writeGroup(engineGroup: string, model: string, affinity: JSONObject, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups): Promise<KDocument<GroupModelContent>>;
19
+ writeGroup(engineGroups: 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, engineId?: string): Promise<KDocument<AssetModelContent>[]>;
27
+ listAsset(engineGroups: string[], engineId?: string): Promise<KDocument<AssetModelContent>[]>;
28
28
  listDevices(): Promise<KDocument<DeviceModelContent>[]>;
29
- listGroups(engineGroup: string): Promise<KDocument<GroupModelContent>[]>;
30
- listMeasures(): Promise<KDocument<MeasureModelContent>[]>;
31
- searchAssets(engineGroup: string, engineId: string | undefined, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<AssetModelContent>>>;
29
+ listGroups(engineGroups: string[]): Promise<KDocument<GroupModelContent>[]>;
30
+ listMeasures(engineId?: string): Promise<KDocument<MeasureModelContent>[]>;
31
+ searchAssets(engineGroups: string[], engineId: string | undefined, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<AssetModelContent>>>;
32
32
  searchDevices(searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<DeviceModelContent>>>;
33
- searchGroups(engineGroup: string, searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<GroupModelContent>>>;
34
- searchMeasures(searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<MeasureModelContent>>>;
33
+ searchGroups(engineGroups: string[], searchParams: Partial<SearchParams>): Promise<SearchResult<KHit<GroupModelContent>>>;
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, engineId: string | undefined, model: string): Promise<KDocument<AssetModelContent>>;
37
+ getAsset(engineGroups: 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
  */
44
- updateAsset(engineGroup: string, model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: AssetModelContent["asset"]["measures"], tooltipModels: TooltipModels, locales: {
49
+ updateAsset(engineGroups: string[], model: string, metadataMappings: MetadataMappings, defaultMetadata: JSONObject, metadataDetails: MetadataDetails, metadataGroups: MetadataGroups, measures: AssetModelContent["asset"]["measures"], tooltipModels: TooltipModels, locales: {
45
50
  [valueName: string]: LocaleDetails;
46
51
  }, request: KuzzleRequest): Promise<KDocument<AssetModelContent>>;
47
52
  }
@@ -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>;
@@ -16,7 +16,7 @@ export declare class ModelsRegister {
16
16
  /**
17
17
  * Registers an asset model.
18
18
  *
19
- * @param engineGroup - The engine group name.
19
+ * @param engineGroups - The engine group names.
20
20
  * @param model - The name of the asset model, which must be in PascalCase.
21
21
  * @param measures - The measures associated with this asset model.
22
22
  * @param metadataMappings - The metadata mappings for the model, defaults to an empty object.
@@ -26,7 +26,7 @@ export declare class ModelsRegister {
26
26
  * @param tooltipModels - Optional model list for tooltip, containing labels and tooltip content.
27
27
  * @throws PluginImplementationError if the model name is not in PascalCase.
28
28
  */
29
- registerAsset(engineGroup: string, model: string, measures: NamedMeasures, metadataMappings?: MetadataMappings, defaultMetadata?: JSONObject, metadataDetails?: MetadataDetails, metadataGroups?: MetadataGroups, tooltipModels?: TooltipModels, locales?: {
29
+ registerAsset(engineGroups: string[], model: string, measures: NamedMeasures, metadataMappings?: MetadataMappings, defaultMetadata?: JSONObject, metadataDetails?: MetadataDetails, metadataGroups?: MetadataGroups, tooltipModels?: TooltipModels, locales?: {
30
30
  [valueName: string]: LocaleDetails;
31
31
  }): void;
32
32
  /**
@@ -45,7 +45,7 @@ export declare class ModelsRegister {
45
45
  * Registers a group model.
46
46
  *
47
47
  *
48
- * @param engineGroup - The engine group name.
48
+ * @param engineGroups - The engine group names.
49
49
  * @param model - The name of the group model, which must be in PascalCase.
50
50
  * @param affinity - The type of object accepted and their model affinity.
51
51
  * @param metadataMappings - The metadata mappings for the model, defaults to an empty object.
@@ -54,7 +54,7 @@ export declare class ModelsRegister {
54
54
  * @param metadataGroups - Optional groups for organizing metadata, with localizations.
55
55
  * @throws PluginImplementationError if the model name is not in PascalCase.
56
56
  */
57
- registerGroup(engineGroup: string, model: string, affinity: GroupAffinity, metadataMappings?: MetadataMappings, defaultMetadata?: JSONObject, metadataDetails?: MetadataDetails, metadataGroups?: MetadataGroups): void;
57
+ registerGroup(engineGroups: string[], model: string, affinity: GroupAffinity, metadataMappings?: MetadataMappings, defaultMetadata?: JSONObject, metadataDetails?: MetadataDetails, metadataGroups?: MetadataGroups): void;
58
58
  registerMeasure(type: string, measureDefinition: MeasureDefinition): void;
59
59
  private load;
60
60
  }
@@ -8,7 +8,7 @@ interface ModelsControllerRequest {
8
8
  export interface ApiModelGetAssetRequest extends ModelsControllerRequest {
9
9
  action: "getAsset";
10
10
  model: string;
11
- engineGroup: string;
11
+ engineGroups: string[];
12
12
  }
13
13
  export type ApiModelGetAssetResult = KDocument<AssetModelContent>;
14
14
  export interface ApiModelGetDeviceRequest extends ModelsControllerRequest {
@@ -24,12 +24,13 @@ 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 {
30
31
  action: "writeAsset";
31
32
  body: {
32
- engineGroup: string;
33
+ engineGroups: string[];
33
34
  model: string;
34
35
  metadataDetails?: MetadataDetails;
35
36
  metadataGroups?: MetadataGroups;
@@ -59,7 +60,7 @@ export interface ApiModelWriteGroupRequest extends ModelsControllerRequest {
59
60
  action: "writeGroup";
60
61
  body: {
61
62
  affinity: GroupAffinity;
62
- engineGroup: string;
63
+ engineGroups: string[];
63
64
  model: string;
64
65
  metadataDetails?: MetadataDetails;
65
66
  metadataGroups?: MetadataGroups;
@@ -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
  };
@@ -83,7 +85,7 @@ export interface ApiModelWriteMeasureRequest extends ModelsControllerRequest {
83
85
  export type ApiModelWriteMeasureResult = KDocument<MeasureModelContent>;
84
86
  export interface ApiModelUpdateAssetRequest extends ModelsControllerRequest {
85
87
  action: "updateAsset";
86
- engineGroup: string;
88
+ engineGroups: string[];
87
89
  model: string;
88
90
  body: {
89
91
  metadataDetails?: MetadataDetails;
@@ -120,7 +122,7 @@ export interface ApiModelDeleteMeasureRequest extends ModelsControllerRequest {
120
122
  export type ApiModelDeleteMeasureResult = void;
121
123
  export interface ApiModelListAssetsRequest extends ModelsControllerRequest {
122
124
  action: "listAssets";
123
- engineGroup: string;
125
+ engineGroups: string[];
124
126
  }
125
127
  export type ApiModelListAssetsResult = {
126
128
  models: KDocument<AssetModelContent>[];
@@ -135,7 +137,7 @@ export type ApiModelListDevicesResult = {
135
137
  };
136
138
  export interface ApiModelListGroupsRequest extends ModelsControllerRequest {
137
139
  action: "listGroups";
138
- engineGroup: string;
140
+ engineGroups: string[];
139
141
  }
140
142
  export type ApiModelListGroupsResult = {
141
143
  models: KDocument<GroupModelContent>[];
@@ -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>[];
@@ -150,7 +153,7 @@ export type ApiModelListMeasuresResult = {
150
153
  };
151
154
  export interface ApiModelSearchAssetsRequest extends ModelsControllerRequest {
152
155
  action: "searchAssets";
153
- engineGroup: string;
156
+ engineGroups: string[];
154
157
  from?: number;
155
158
  size?: number;
156
159
  scrollTTL?: string;
@@ -167,7 +170,7 @@ export interface ApiModelSearchDevicesRequest extends ModelsControllerRequest {
167
170
  export type ApiModelSearchDevicesResult = SearchResult<KHit<DeviceModelContent>>;
168
171
  export interface ApiModelSearchGroupsRequest extends ModelsControllerRequest {
169
172
  action: "searchGroups";
170
- engineGroup: string;
173
+ engineGroups: string[];
171
174
  from?: number;
172
175
  size?: number;
173
176
  scrollTTL?: string;
@@ -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?: {
@@ -153,13 +154,13 @@ export interface TooltipModels {
153
154
  }
154
155
  export interface AssetModelContent extends KDocumentContent {
155
156
  type: "asset";
156
- engineGroup: string;
157
+ engineGroups: string[];
157
158
  /**
158
159
  * Optional list of engine IDs (tenant IDs) this model is scoped to.
159
160
  * When set, the model is only available to the specified tenants.
160
- * When absent, the model is available to all tenants in the engineGroup.
161
+ * When absent, the model is available to all tenants in the engineGroups.
161
162
  */
162
- engines?: string[];
163
+ engineIds?: string[];
163
164
  asset: {
164
165
  /**
165
166
  * Name of the model
@@ -390,7 +391,7 @@ export interface DeviceModelContent extends KDocumentContent {
390
391
  }
391
392
  export interface GroupModelContent extends KDocumentContent {
392
393
  type: "group";
393
- engineGroup: string;
394
+ engineGroups: string[];
394
395
  group: {
395
396
  /**
396
397
  * Name of the model
@@ -2,7 +2,7 @@ import { AssetModelContent, DeviceModelContent, GroupModelContent, MeasureModelC
2
2
  export type AskModelAssetGet = {
3
3
  name: "ask:device-manager:model:asset:get";
4
4
  payload: {
5
- engineGroup: string;
5
+ engineGroups: string[];
6
6
  engineId?: string;
7
7
  model: string;
8
8
  };
@@ -19,6 +19,7 @@ export type AskModelMeasureGet = {
19
19
  name: "ask:device-manager:model:measure:get";
20
20
  payload: {
21
21
  type: string;
22
+ engineId?: string;
22
23
  };
23
24
  result: MeasureModelContent;
24
25
  };
@@ -23,7 +23,7 @@ export declare class DeviceManagerPlugin extends Plugin {
23
23
  /**
24
24
  * Register an asset model
25
25
  *
26
- * @param engineGroup Engine group name
26
+ * @param engineGroups Engine group names
27
27
  * @param model Name of the asset model. Must follow a naming convention in PascalCase.
28
28
  * @param definition Object containing the asset model definition, including:
29
29
  * - measures: Array describing measure names and their types.
@@ -123,7 +123,7 @@ export declare class DeviceManagerPlugin extends Plugin {
123
123
  * );
124
124
  * ```
125
125
  */
126
- registerAsset: (engineGroup: string, model: string, definition: AssetModelDefinition) => void;
126
+ registerAsset: (engineGroups: string[], model: string, definition: AssetModelDefinition) => void;
127
127
  /**
128
128
  * Register a device.
129
129
  *
@@ -231,7 +231,7 @@ export declare class DeviceManagerPlugin extends Plugin {
231
231
  * );
232
232
  * ```
233
233
  */
234
- registerGroup: (engineGroup: string, model: string, definition: GroupModelDefinition) => void;
234
+ registerGroup: (engineGroups: string[], model: string, definition: GroupModelDefinition) => void;
235
235
  /**
236
236
  * Register a new measure
237
237
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kuzzle-device-manager-types",
3
- "version": "3.0.0-next.24",
3
+ "version": "3.0.0-next.26",
4
4
  "description": "Shared types for Kuzzle Device Manager",
5
5
  "author": "The Kuzzle Team (support@kuzzle.io)",
6
6
  "main": "index.js",