kuzzle-device-manager 3.0.0-3-dev.19 → 3.0.0-3-dev.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 (118) hide show
  1. package/dist/bin/migration/migrate-tenant-classes.d.ts +2 -0
  2. package/dist/bin/migration/migrate-tenant-classes.js +133 -0
  3. package/dist/bin/migration/migrate-tenant-classes.js.map +1 -0
  4. package/dist/lib/modules/asset/AssetHistoryService.d.ts +1 -1
  5. package/dist/lib/modules/asset/AssetHistoryService.js +3 -3
  6. package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
  7. package/dist/lib/modules/asset/AssetService.d.ts +18 -12
  8. package/dist/lib/modules/asset/AssetService.js +115 -115
  9. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  10. package/dist/lib/modules/asset/AssetsController.d.ts +1 -1
  11. package/dist/lib/modules/asset/AssetsController.js +72 -74
  12. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  13. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.d.ts +1 -0
  14. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +2 -0
  15. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
  16. package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +1 -0
  17. package/dist/lib/modules/asset/roles/RoleAssetsReader.js +2 -0
  18. package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
  19. package/dist/lib/modules/asset/types/AssetApi.d.ts +6 -6
  20. package/dist/lib/modules/asset/types/AssetEvents.d.ts +1 -1
  21. package/dist/lib/modules/decoder/PayloadService.js +16 -16
  22. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  23. package/dist/lib/modules/device/DeviceService.d.ts +11 -11
  24. package/dist/lib/modules/device/DeviceService.js +86 -86
  25. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  26. package/dist/lib/modules/device/DevicesController.js +60 -64
  27. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  28. package/dist/lib/modules/device/collections/deviceMappings.js +2 -2
  29. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  30. package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +1 -0
  31. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +2 -0
  32. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -1
  33. package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +1 -0
  34. package/dist/lib/modules/device/roles/RoleDevicesReader.js +2 -0
  35. package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
  36. package/dist/lib/modules/device/types/DeviceApi.d.ts +2 -2
  37. package/dist/lib/modules/device/types/DeviceContent.d.ts +2 -2
  38. package/dist/lib/modules/device/types/DeviceEvents.d.ts +1 -1
  39. package/dist/lib/modules/group/GroupsController.d.ts +3 -3
  40. package/dist/lib/modules/group/GroupsController.js +66 -66
  41. package/dist/lib/modules/group/GroupsController.js.map +1 -1
  42. package/dist/lib/modules/group/GroupsService.d.ts +19 -14
  43. package/dist/lib/modules/group/GroupsService.js +103 -64
  44. package/dist/lib/modules/group/GroupsService.js.map +1 -1
  45. package/dist/lib/modules/group/index.d.ts +1 -0
  46. package/dist/lib/modules/group/index.js +1 -0
  47. package/dist/lib/modules/group/index.js.map +1 -1
  48. package/dist/lib/modules/group/roles/RoleGroupsAdmin.d.ts +1 -0
  49. package/dist/lib/modules/group/roles/RoleGroupsAdmin.js +2 -0
  50. package/dist/lib/modules/group/roles/RoleGroupsAdmin.js.map +1 -1
  51. package/dist/lib/modules/group/roles/RoleGroupsReader.d.ts +1 -0
  52. package/dist/lib/modules/group/roles/RoleGroupsReader.js +2 -0
  53. package/dist/lib/modules/group/roles/RoleGroupsReader.js.map +1 -1
  54. package/dist/lib/modules/group/types/GroupEvents.d.ts +8 -0
  55. package/dist/lib/modules/group/types/GroupEvents.js +3 -0
  56. package/dist/lib/modules/group/types/GroupEvents.js.map +1 -0
  57. package/dist/lib/modules/group/types/GroupsApi.d.ts +1 -1
  58. package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -5
  59. package/dist/lib/modules/measure/MeasureExporter.js +20 -20
  60. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
  61. package/dist/lib/modules/measure/MeasureService.d.ts +2 -2
  62. package/dist/lib/modules/measure/MeasureService.js +5 -5
  63. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  64. package/dist/lib/modules/measure/MeasureTargetBuilder.d.ts +1 -1
  65. package/dist/lib/modules/measure/MeasureTargetBuilder.js +2 -2
  66. package/dist/lib/modules/measure/MeasureTargetBuilder.js.map +1 -1
  67. package/dist/lib/modules/measure/types/MeasureTarget.d.ts +1 -1
  68. package/dist/lib/modules/measure/types/MeasureTarget.js +1 -1
  69. package/dist/lib/modules/measure/types/MeasureTarget.js.map +1 -1
  70. package/dist/lib/modules/model/MetadataReferential.d.ts +119 -0
  71. package/dist/lib/modules/model/MetadataReferential.js +342 -0
  72. package/dist/lib/modules/model/MetadataReferential.js.map +1 -0
  73. package/dist/lib/modules/model/ModelSerializer.js +13 -13
  74. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  75. package/dist/lib/modules/model/ModelService.d.ts +120 -22
  76. package/dist/lib/modules/model/ModelService.js +548 -263
  77. package/dist/lib/modules/model/ModelService.js.map +1 -1
  78. package/dist/lib/modules/model/ModelsConflicts.d.ts +23 -0
  79. package/dist/lib/modules/model/ModelsConflicts.js +54 -4
  80. package/dist/lib/modules/model/ModelsConflicts.js.map +1 -1
  81. package/dist/lib/modules/model/ModelsController.d.ts +11 -2
  82. package/dist/lib/modules/model/ModelsController.js +151 -54
  83. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  84. package/dist/lib/modules/model/ModelsRegister.d.ts +37 -5
  85. package/dist/lib/modules/model/ModelsRegister.js +107 -9
  86. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  87. package/dist/lib/modules/model/collections/modelsMappings.js +15 -1
  88. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  89. package/dist/lib/modules/model/types/ModelApi.d.ts +105 -14
  90. package/dist/lib/modules/model/types/ModelContent.d.ts +73 -7
  91. package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
  92. package/dist/lib/modules/model/types/ModelDefinition.d.ts +6 -3
  93. package/dist/lib/modules/model/types/ModelEvents.d.ts +9 -4
  94. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +58 -25
  95. package/dist/lib/modules/plugin/DeviceManagerEngine.js +184 -88
  96. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  97. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +46 -4
  98. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +72 -9
  99. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  100. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +11 -0
  101. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +8 -8
  102. package/dist/lib/modules/shared/services/AbstractExporter.js +9 -9
  103. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  104. package/dist/lib/modules/shared/services/BaseService.d.ts +7 -7
  105. package/dist/lib/modules/shared/services/BaseService.js +20 -17
  106. package/dist/lib/modules/shared/services/BaseService.js.map +1 -1
  107. package/dist/lib/modules/shared/services/DigitalTwinExporter.d.ts +3 -3
  108. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +18 -18
  109. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  110. package/dist/lib/modules/shared/services/DigitalTwinService.d.ts +8 -8
  111. package/dist/lib/modules/shared/services/DigitalTwinService.js +39 -39
  112. package/dist/lib/modules/shared/services/DigitalTwinService.js.map +1 -1
  113. package/dist/lib/modules/shared/types/DigitalTwinApi.d.ts +1 -1
  114. package/dist/lib/modules/shared/types/DigitalTwinEvents.d.ts +2 -2
  115. package/dist/lib/modules/shared/utils/lock.d.ts +7 -1
  116. package/dist/lib/modules/shared/utils/lock.js +2 -2
  117. package/dist/lib/modules/shared/utils/lock.js.map +1 -1
  118. package/package.json +3 -2
@@ -5,6 +5,7 @@ import { DeviceManagerPlugin } from "./DeviceManagerPlugin";
5
5
  import { DeviceManagerConfiguration } from "./types/DeviceManagerConfiguration";
6
6
  import { InternalCollection } from "./types/InternalCollection";
7
7
  import { ConflictChunk } from "../model/ModelsConflicts";
8
+ import { MetadataMappings } from "../model/types/ModelContent";
8
9
  export type TwinType = "asset" | "device";
9
10
  export type TwinModelContent = AssetModelContent | DeviceModelContent;
10
11
  export interface EngineDocument extends KDocumentContent {
@@ -18,7 +19,7 @@ export interface EngineDocument extends KDocumentContent {
18
19
  export type AskEngineList = {
19
20
  name: "ask:device-manager:engine:list";
20
21
  payload: {
21
- group?: string;
22
+ tenantClass?: string;
22
23
  };
23
24
  result: EngineContent[];
24
25
  };
@@ -39,10 +40,42 @@ export type AskEngineUpdateConflict = {
39
40
  };
40
41
  result: ConflictChunk[];
41
42
  };
43
+ /**
44
+ * Checks a metadata of the metadata referential against the actual metadata mappings
45
+ * of the assets, devices and groups collections of every engine
46
+ */
47
+ export type AskEngineMetadataConflict = {
48
+ name: "ask:device-manager:engine:doesMetadataConflict";
49
+ payload: {
50
+ metadataMappings: MetadataMappings;
51
+ };
52
+ result: ConflictChunk[];
53
+ };
42
54
  export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlugin> {
43
55
  config: DeviceManagerConfiguration;
44
56
  get app(): Backend;
45
57
  constructor(plugin: Plugin, platformConfigManager: ConfigManager, engineConfigManager: ConfigManager);
58
+ /**
59
+ * Returns the actual metadata mappings of an engine collection
60
+ *
61
+ * @returns The mappings of the metadata properties, empty if the collection does not exist
62
+ */
63
+ private getCollectionMetadataMappings;
64
+ /**
65
+ * Return conflicts between the metadata mappings of models and the actual mappings
66
+ * of their collection in an engine
67
+ *
68
+ * @param engineIndex The target engine
69
+ * @param modelType The models type
70
+ * @param models The new or updated models, with their referential metadata resolved
71
+ * @returns An array of ConflictChunk
72
+ */
73
+ private getModelsMetadataConflicts;
74
+ /**
75
+ * Merges the mappings of the metadata referential and of models into metadata mappings.
76
+ * Every referential metadata is merged, used by a model or not.
77
+ */
78
+ private mergeMetadataMappings;
46
79
  /**
47
80
  * Return conflicts between the new and already present twin models
48
81
  *
@@ -79,10 +112,10 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
79
112
  */
80
113
  getEngines(): Promise<EngineDocument[]>;
81
114
  updateMeasuresSchema(): Promise<void>;
82
- onCreate(index: string, group?: string): Promise<{
115
+ onCreate(index: string, tenantClass?: string): Promise<{
83
116
  collections: any[];
84
117
  }>;
85
- onUpdate(index: string, group?: string): Promise<{
118
+ onUpdate(index: string, tenantClass?: string): Promise<{
86
119
  collections: any[];
87
120
  }>;
88
121
  onDelete(index: string): Promise<{
@@ -91,44 +124,44 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
91
124
  /**
92
125
  * Generate assets mappings and create the assets collection in the engine
93
126
  *
94
- * @param engineId The target engine Id
95
- * @param engineGroup The engine group
127
+ * @param index The target engine Id
128
+ * @param tenantClass The tenant class
96
129
  *
97
130
  * @throws If it failed during the assets collection creation
98
131
  */
99
- createAssetsCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
132
+ createAssetsCollection(index: string, tenantClass: string): Promise<InternalCollection>;
100
133
  /**
101
134
  * Generate assets mappings and create the assets history collection in the engine
102
135
  *
103
- * @param engineId The target engine Id
104
- * @param engineGroup The engine group
136
+ * @param index The target engine Id
137
+ * @param tenantClass The tenant class
105
138
  *
106
139
  * @throws If it failed during the assets history collection creation
107
140
  */
108
- createAssetsHistoryCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
141
+ createAssetsHistoryCollection(index: string, tenantClass: string): Promise<InternalCollection>;
109
142
  /**
110
143
  * Create the groups collection with the groups mappings in the engine
111
144
  *
112
- * @param engineId The target engine Id
113
- * @param engineGroup The engine group
145
+ * @param index The target engine Id
146
+ * @param tenantClass The tenant class
114
147
  *
115
148
  * @throws If it failed during the groups collection creation
116
149
  */
117
- createGroupsCollection(engineId: string): Promise<InternalCollection>;
150
+ createGroupsCollection(index: string): Promise<InternalCollection>;
118
151
  /**
119
152
  * Generate devices mappings and create the devices collection in the engine
120
153
  *
121
- * @param engineId The target engine Id
122
- * @param engineGroup The engine group
154
+ * @param index The target engine Id
155
+ * @param tenantClass The tenant class
123
156
  *
124
157
  * @throws If it failed during the devices collection creation
125
158
  */
126
- createDevicesCollection(engineId: string): Promise<InternalCollection>;
159
+ createDevicesCollection(index: string): Promise<InternalCollection>;
127
160
  /**
128
161
  * Generate devices mappings and create the devices collection in the engine
129
162
  *
130
- * @param engineId The target engine Id
131
- * @param engineGroup The engine group
163
+ * @param index The target engine Id
164
+ * @param tenantClass The tenant class
132
165
  *
133
166
  * @throws If it failed during the devices collection creation
134
167
  */
@@ -136,12 +169,12 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
136
169
  /**
137
170
  * Generate measures mappings and create the measures collection in the engine
138
171
  *
139
- * @param engineId The target engine Id
140
- * @param engineGroup The engine group
172
+ * @param index The target engine Id
173
+ * @param tenantClass The tenant class
141
174
  *
142
175
  * @throws If it failed during the measures collection creation
143
176
  */
144
- createMeasuresCollection(engineId: string, engineGroup: string): Promise<InternalCollection>;
177
+ createMeasuresCollection(index: string, tenantClass: string): Promise<InternalCollection>;
145
178
  /**
146
179
  * Create a collection with custom mappings in an engine
147
180
  *
@@ -156,7 +189,7 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
156
189
  * Generate ES mappings from twin models and theirs associated measures, all fetched from the database
157
190
  *
158
191
  * @param digitalTwinType The target twin type
159
- * @param engineGroup The twin engine group
192
+ * @param tenantClass The twin tenant class
160
193
  * @returns The complete ES mappings produces by merging all the target type twins
161
194
  */
162
195
  private getDigitalTwinMappingsFromDB;
@@ -172,7 +205,7 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
172
205
  /**
173
206
  * Generate ES mappings from measures and theirs associated assets, all fetched via the database
174
207
  *
175
- * @param engineGroup The target engine group
208
+ * @param tenantClass The target tenant class
176
209
  * @returns The complete ES mappings produced by merging models mappings
177
210
  */
178
211
  private getMeasuresMappingsFromDB;
@@ -188,16 +221,16 @@ export declare class DeviceManagerEngine extends AbstractEngine<DeviceManagerPlu
188
221
  /**
189
222
  * Retrieve a certain type of models associated to an engine
190
223
  *
191
- * @param engineId The target engine Id
224
+ * @param index The target engine Id
192
225
  * @param type The desired model type
193
- * @param engineGroup The target engine group
226
+ * @param tenantClass The target tenant class
194
227
  * @returns An array of the generic type provided
195
228
  */
196
229
  private getModels;
197
230
  /**
198
231
  * Detach all devices of an index in the platform index
199
232
  *
200
- * @param engineId The target engine Id
233
+ * @param index The target engine Id
201
234
  * @returns {any}
202
235
  */
203
236
  private detachDevicesFromPlatformIndex;