kuzzle-device-manager 2.4.0-beta.2 → 2.4.0-beta.20

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 (128) hide show
  1. package/dist/lib/modules/asset/AssetHistoryService.d.ts +2 -4
  2. package/dist/lib/modules/asset/AssetHistoryService.js +4 -7
  3. package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
  4. package/dist/lib/modules/asset/AssetService.d.ts +25 -26
  5. package/dist/lib/modules/asset/AssetService.js +235 -42
  6. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  7. package/dist/lib/modules/asset/AssetsController.d.ts +4 -1
  8. package/dist/lib/modules/asset/AssetsController.js +51 -25
  9. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  10. package/dist/lib/modules/asset/AssetsGroupsController.js +1 -1
  11. package/dist/lib/modules/asset/AssetsGroupsController.js.map +1 -1
  12. package/dist/lib/modules/asset/model/AssetSerializer.js +1 -0
  13. package/dist/lib/modules/asset/model/AssetSerializer.js.map +1 -1
  14. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +3 -0
  15. package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -1
  16. package/dist/lib/modules/asset/types/AssetApi.d.ts +32 -0
  17. package/dist/lib/modules/asset/types/AssetContent.d.ts +1 -1
  18. package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -1
  19. package/dist/lib/modules/decoder/Decoder.d.ts +11 -0
  20. package/dist/lib/modules/decoder/Decoder.js +1 -0
  21. package/dist/lib/modules/decoder/Decoder.js.map +1 -1
  22. package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -1
  23. package/dist/lib/modules/decoder/DecodingState.js +1 -1
  24. package/dist/lib/modules/decoder/DecodingState.js.map +1 -1
  25. package/dist/lib/modules/decoder/PayloadService.d.ts +3 -6
  26. package/dist/lib/modules/decoder/PayloadService.js +11 -17
  27. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  28. package/dist/lib/modules/decoder/PayloadsController.js.map +1 -1
  29. package/dist/lib/modules/decoder/types/DecoderContent.d.ts +1 -0
  30. package/dist/lib/modules/device/DeviceService.d.ts +27 -46
  31. package/dist/lib/modules/device/DeviceService.js +159 -73
  32. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  33. package/dist/lib/modules/device/DevicesController.d.ts +2 -1
  34. package/dist/lib/modules/device/DevicesController.js +25 -41
  35. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  36. package/dist/lib/modules/device/collections/deviceMappings.d.ts +2 -46
  37. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  38. package/dist/lib/modules/device/types/DeviceApi.d.ts +11 -0
  39. package/dist/lib/modules/device/types/DeviceEvents.d.ts +29 -0
  40. package/dist/lib/modules/measure/MeasureExporter.d.ts +5 -2
  41. package/dist/lib/modules/measure/MeasureExporter.js +35 -14
  42. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -1
  43. package/dist/lib/modules/measure/MeasureService.d.ts +2 -6
  44. package/dist/lib/modules/measure/MeasureService.js +6 -11
  45. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  46. package/dist/lib/modules/measure/collections/measuresMappings.d.ts +18 -0
  47. package/dist/lib/modules/measure/collections/measuresMappings.js +14 -0
  48. package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
  49. package/dist/lib/modules/measure/measures/BatteryMeasure.js +12 -0
  50. package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +1 -1
  51. package/dist/lib/modules/measure/measures/HumidityMeasure.js +12 -0
  52. package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +1 -1
  53. package/dist/lib/modules/measure/measures/MovementMeasure.js +10 -0
  54. package/dist/lib/modules/measure/measures/MovementMeasure.js.map +1 -1
  55. package/dist/lib/modules/measure/measures/PositionMeasure.js +22 -0
  56. package/dist/lib/modules/measure/measures/PositionMeasure.js.map +1 -1
  57. package/dist/lib/modules/measure/measures/TemperatureMeasure.js +12 -0
  58. package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +1 -1
  59. package/dist/lib/modules/measure/types/MeasureContent.d.ts +4 -0
  60. package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +28 -3
  61. package/dist/lib/modules/model/MappingsConflictsError.d.ts +7 -0
  62. package/dist/lib/modules/model/MappingsConflictsError.js +20 -0
  63. package/dist/lib/modules/model/MappingsConflictsError.js.map +1 -0
  64. package/dist/lib/modules/model/ModelSerializer.js.map +1 -1
  65. package/dist/lib/modules/model/ModelService.d.ts +13 -8
  66. package/dist/lib/modules/model/ModelService.js +162 -28
  67. package/dist/lib/modules/model/ModelService.js.map +1 -1
  68. package/dist/lib/modules/model/ModelsConflicts.d.ts +30 -0
  69. package/dist/lib/modules/model/ModelsConflicts.js +107 -0
  70. package/dist/lib/modules/model/ModelsConflicts.js.map +1 -0
  71. package/dist/lib/modules/model/ModelsController.d.ts +2 -1
  72. package/dist/lib/modules/model/ModelsController.js +27 -3
  73. package/dist/lib/modules/model/ModelsController.js.map +1 -1
  74. package/dist/lib/modules/model/ModelsRegister.d.ts +28 -3
  75. package/dist/lib/modules/model/ModelsRegister.js +50 -5
  76. package/dist/lib/modules/model/ModelsRegister.js.map +1 -1
  77. package/dist/lib/modules/model/collections/modelsMappings.js +24 -0
  78. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  79. package/dist/lib/modules/model/types/ModelApi.d.ts +24 -3
  80. package/dist/lib/modules/model/types/ModelContent.d.ts +207 -2
  81. package/dist/lib/modules/model/types/ModelContent.js +9 -0
  82. package/dist/lib/modules/model/types/ModelContent.js.map +1 -1
  83. package/dist/lib/modules/model/types/ModelDefinition.d.ts +129 -5
  84. package/dist/lib/modules/plugin/DeviceManagerEngine.d.ts +141 -5
  85. package/dist/lib/modules/plugin/DeviceManagerEngine.js +238 -41
  86. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -1
  87. package/dist/lib/modules/plugin/DeviceManagerPlugin.d.ts +113 -8
  88. package/dist/lib/modules/plugin/DeviceManagerPlugin.js +146 -16
  89. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -1
  90. package/dist/lib/modules/plugin/exports.d.ts +1 -1
  91. package/dist/lib/modules/plugin/exports.js +1 -1
  92. package/dist/lib/modules/plugin/exports.js.map +1 -1
  93. package/dist/lib/modules/plugin/index.d.ts +1 -2
  94. package/dist/lib/modules/plugin/index.js +1 -2
  95. package/dist/lib/modules/plugin/index.js.map +1 -1
  96. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.d.ts +27 -5
  97. package/dist/lib/modules/plugin/types/InternalCollection.js +1 -1
  98. package/dist/lib/modules/plugin/types/InternalCollection.js.map +1 -1
  99. package/dist/lib/modules/plugin/types/Pipes.d.ts +17 -0
  100. package/dist/lib/modules/plugin/types/Pipes.js +3 -0
  101. package/dist/lib/modules/plugin/types/Pipes.js.map +1 -0
  102. package/dist/lib/modules/plugin/types/exports.d.ts +1 -0
  103. package/dist/lib/modules/plugin/types/exports.js +18 -0
  104. package/dist/lib/modules/plugin/types/exports.js.map +1 -0
  105. package/dist/lib/modules/plugin/types/index.d.ts +3 -0
  106. package/dist/lib/modules/plugin/types/index.js +20 -0
  107. package/dist/lib/modules/plugin/types/index.js.map +1 -0
  108. package/dist/lib/modules/shared/index.d.ts +3 -4
  109. package/dist/lib/modules/shared/index.js +3 -4
  110. package/dist/lib/modules/shared/index.js.map +1 -1
  111. package/dist/lib/modules/shared/services/AbstractExporter.d.ts +1 -0
  112. package/dist/lib/modules/shared/services/AbstractExporter.js +7 -1
  113. package/dist/lib/modules/shared/services/AbstractExporter.js.map +1 -1
  114. package/dist/lib/modules/shared/services/BaseService.d.ts +69 -0
  115. package/dist/lib/modules/shared/services/BaseService.js +157 -0
  116. package/dist/lib/modules/shared/services/BaseService.js.map +1 -0
  117. package/dist/lib/modules/shared/services/DigitalTwinExporter.js +9 -3
  118. package/dist/lib/modules/shared/services/DigitalTwinExporter.js.map +1 -1
  119. package/dist/lib/modules/shared/services/index.d.ts +1 -0
  120. package/dist/lib/modules/shared/services/index.js +1 -0
  121. package/dist/lib/modules/shared/services/index.js.map +1 -1
  122. package/dist/lib/modules/shared/utils/flattenObject.js.map +1 -1
  123. package/dist/lib/modules/shared/utils/lock.js.map +1 -1
  124. package/dist/lib/modules/shared/utils/objectDiff.js.map +1 -1
  125. package/package.json +26 -26
  126. package/dist/lib/modules/shared/utils/ask.d.ts +0 -8
  127. package/dist/lib/modules/shared/utils/ask.js +0 -12
  128. package/dist/lib/modules/shared/utils/ask.js.map +0 -1
@@ -0,0 +1,30 @@
1
+ import { TwinModelContent, TwinType } from "../plugin";
2
+ import { MeasureModelContent } from "./exports";
3
+ export type ConflictChunk = {
4
+ sourceModel: string;
5
+ newModel: string;
6
+ modelType: string;
7
+ conflicts: MappingsConflict[];
8
+ };
9
+ export type MappingsConflict = {
10
+ path: string;
11
+ currentType: string | undefined;
12
+ newType: string | undefined;
13
+ };
14
+ /**
15
+ * Return every conflicts between the mappings of twins and a new twin model
16
+ *
17
+ * @param twinType The target twin type
18
+ * @param models The already present twin models
19
+ * @param additional The new asset
20
+ * @returns An array of ConflictChunk between current twins and the new twin
21
+ */
22
+ export declare function getTwinConflicts<TDigitalTwin extends TwinModelContent>(twinType: TwinType, models: TDigitalTwin[], additional: TDigitalTwin): ConflictChunk[];
23
+ /**
24
+ * Return every conflicts between the mappings of measure models and a new measure model
25
+ *
26
+ * @param measures The already present measure models
27
+ * @param additional The new measure
28
+ * @returns An array of ConflictChunk between current measures and the new measure
29
+ */
30
+ export declare function getMeasureConflicts(measures: MeasureModelContent[], additional: MeasureModelContent): ConflictChunk[];
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getMeasureConflicts = exports.getTwinConflicts = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ /**
9
+ * Return every conflicts between the mappings of models and a new model
10
+ *
11
+ * @param modelType The target model type
12
+ * @param models The already present models used as comparison source
13
+ * @param additional The new model
14
+ * @param mappingsPath The object path to the mappings
15
+ * @param modelIdPath The object path to the model ID
16
+ * @returns An array of ConflictChunk between current models and the new model
17
+ */
18
+ function getModelConflicts(modelType, models, additional, mappingsPath, modelIdPath) {
19
+ const conflicts = [];
20
+ for (const model of models) {
21
+ const baseMappings = lodash_1.default.get(model, mappingsPath);
22
+ const updatedMappings = JSON.parse(JSON.stringify(baseMappings));
23
+ lodash_1.default.merge(updatedMappings, lodash_1.default.get(additional, mappingsPath));
24
+ const mappingsConflict = findConflicts(baseMappings, updatedMappings, mappingsPath);
25
+ if (mappingsConflict.length > 0) {
26
+ conflicts.push({
27
+ conflicts: mappingsConflict,
28
+ modelType: modelType,
29
+ newModel: lodash_1.default.get(additional, modelIdPath),
30
+ sourceModel: lodash_1.default.get(model, modelIdPath),
31
+ });
32
+ }
33
+ }
34
+ return conflicts;
35
+ }
36
+ /**
37
+ * Return every conflicts between the mappings of twins and a new twin model
38
+ *
39
+ * @param twinType The target twin type
40
+ * @param models The already present twin models
41
+ * @param additional The new asset
42
+ * @returns An array of ConflictChunk between current twins and the new twin
43
+ */
44
+ function getTwinConflicts(twinType, models, additional) {
45
+ const metadataPath = twinType + ".metadataMappings";
46
+ const modelIdPath = twinType + ".model";
47
+ return getModelConflicts(twinType, models, additional, metadataPath, modelIdPath);
48
+ }
49
+ exports.getTwinConflicts = getTwinConflicts;
50
+ /**
51
+ * Return every conflicts between the mappings of measure models and a new measure model
52
+ *
53
+ * @param measures The already present measure models
54
+ * @param additional The new measure
55
+ * @returns An array of ConflictChunk between current measures and the new measure
56
+ */
57
+ function getMeasureConflicts(measures, additional) {
58
+ const modelType = "measure";
59
+ const mappingsPath = "measure.valuesMappings";
60
+ const modelIdPath = "measure.type";
61
+ return getModelConflicts(modelType, measures, additional, mappingsPath, modelIdPath);
62
+ }
63
+ exports.getMeasureConflicts = getMeasureConflicts;
64
+ /**
65
+ * Find every conflicts between two objects.
66
+ * WARNING: "undefined" type of conflicts are not registered
67
+ * @param sourceObject The source object used to compare
68
+ * @param objectToCompare The target object to compare to
69
+ * @param basePath Optional path to be added before conflicts paths
70
+ * @returns An array of MappingsConflict
71
+ */
72
+ function findConflicts(sourceObject, objectToCompare, basePath = "") {
73
+ if (sourceObject === objectToCompare) {
74
+ return [];
75
+ }
76
+ if (lodash_1.default.isEqual(sourceObject, objectToCompare)) {
77
+ return [];
78
+ }
79
+ const conflicts = [];
80
+ function compareObjects(source, toCompare, path = "") {
81
+ //Loop over the source object properties of distinct depth level
82
+ lodash_1.default.forOwn(source, (value, key) => {
83
+ //Construct full path from the previous path and the current key
84
+ const fullPath = path ? `${path}.${key}` : key;
85
+ //Check the object to compare key availibility, if there's nothing return to continue on the next property
86
+ if (!lodash_1.default.has(toCompare, key)) {
87
+ return;
88
+ }
89
+ //If the property to compare is an object, recursively call the method to advance on the next depth level
90
+ if (lodash_1.default.isObject(value) && lodash_1.default.isObject(toCompare[key])) {
91
+ compareObjects(value, toCompare[key], fullPath);
92
+ return;
93
+ }
94
+ //If the property to compare is not an object and is not equal to the source value, add the current/new value with it's corresponding full path
95
+ if (!lodash_1.default.isEqual(value, toCompare[key])) {
96
+ conflicts.push({
97
+ currentType: source[key],
98
+ newType: toCompare[key],
99
+ path: fullPath,
100
+ });
101
+ }
102
+ });
103
+ }
104
+ compareObjects(sourceObject, objectToCompare, basePath);
105
+ return conflicts;
106
+ }
107
+ //# sourceMappingURL=ModelsConflicts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelsConflicts.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsConflicts.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAiBvB;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CACxB,SAAiB,EACjB,MAAsB,EACtB,UAAwB,EACxB,YAAoB,EACpB,WAAmB;IAEnB,MAAM,SAAS,GAAoB,EAAE,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,gBAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAEjE,gBAAC,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAC,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAE1D,MAAM,gBAAgB,GAAG,aAAa,CACpC,YAAY,EACZ,eAAe,EACf,YAAY,CACb,CAAC;QAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC;gBACb,SAAS,EAAE,gBAAgB;gBAC3B,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,gBAAC,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC;gBACxC,WAAW,EAAE,gBAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,QAAkB,EAClB,MAAsB,EACtB,UAAwB;IAExB,MAAM,YAAY,GAAG,QAAQ,GAAG,mBAAmB,CAAC;IACpD,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAExC,OAAO,iBAAiB,CACtB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,YAAY,EACZ,WAAW,CACZ,CAAC;AACJ,CAAC;AAfD,4CAeC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,QAA+B,EAC/B,UAA+B;IAE/B,MAAM,SAAS,GAAG,SAAS,CAAC;IAC5B,MAAM,YAAY,GAAG,wBAAwB,CAAC;IAC9C,MAAM,WAAW,GAAG,cAAc,CAAC;IAEnC,OAAO,iBAAiB,CACtB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,CACZ,CAAC;AACJ,CAAC;AAfD,kDAeC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,YAAiB,EAAE,eAAoB,EAAE,QAAQ,GAAG,EAAE;IAC3E,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,gBAAC,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAuB,EAAE,CAAC;IAEzC,SAAS,cAAc,CAAC,MAAW,EAAE,SAAc,EAAE,IAAI,GAAG,EAAE;QAC5D,gEAAgE;QAChE,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9B,gEAAgE;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAE/C,0GAA0G;YAC1G,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,yGAAyG;YACzG,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACpD,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,+IAA+I;YAC/I,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtC,SAAS,CAAC,IAAI,CAAC;oBACb,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC;oBACxB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;oBACvB,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ControllerDefinition, KuzzleRequest } from "kuzzle";
2
2
  import { ModelService } from "./ModelService";
3
- import { ApiModelWriteAssetResult, ApiModelWriteDeviceResult, ApiModelWriteMeasureResult, ApiModelDeleteAssetResult, ApiModelDeleteDeviceResult, ApiModelDeleteMeasureResult, ApiModelListAssetsResult, ApiModelListDevicesResult, ApiModelListMeasuresResult, ApiModelGetAssetResult, ApiModelGetDeviceResult, ApiModelGetMeasureResult } from "./types/ModelApi";
3
+ import { ApiModelWriteAssetResult, ApiModelWriteDeviceResult, ApiModelWriteMeasureResult, ApiModelUpdateAssetResult, ApiModelDeleteAssetResult, ApiModelDeleteDeviceResult, ApiModelDeleteMeasureResult, ApiModelListAssetsResult, ApiModelListDevicesResult, ApiModelListMeasuresResult, ApiModelGetAssetResult, ApiModelGetDeviceResult, ApiModelGetMeasureResult } from "./types/ModelApi";
4
4
  export declare class ModelsController {
5
5
  private modelService;
6
6
  definition: ControllerDefinition;
@@ -17,4 +17,5 @@ export declare class ModelsController {
17
17
  listAssets(request: KuzzleRequest): Promise<ApiModelListAssetsResult>;
18
18
  listDevices(): Promise<ApiModelListDevicesResult>;
19
19
  listMeasures(): Promise<ApiModelListMeasuresResult>;
20
+ updateAsset(request: KuzzleRequest): Promise<ApiModelUpdateAssetResult>;
20
21
  }
@@ -44,6 +44,12 @@ class ModelsController {
44
44
  handler: this.listMeasures.bind(this),
45
45
  http: [{ path: "device-manager/models/measures", verb: "get" }],
46
46
  },
47
+ updateAsset: {
48
+ handler: this.updateAsset.bind(this),
49
+ http: [
50
+ { path: "device-manager/models/assets/:model", verb: "patch" },
51
+ ],
52
+ },
47
53
  writeAsset: {
48
54
  handler: this.writeAsset.bind(this),
49
55
  http: [{ path: "device-manager/models/assets", verb: "post" }],
@@ -81,7 +87,10 @@ class ModelsController {
81
87
  const metadataMappings = request.getBodyObject("metadataMappings", {});
82
88
  const defaultValues = request.getBodyObject("defaultValues", {});
83
89
  const measures = request.getBodyArray("measures", []);
84
- const assetModel = await this.modelService.writeAsset(engineGroup, model, metadataMappings, defaultValues, measures);
90
+ const metadataDetails = request.getBodyObject("metadataDetails", {});
91
+ const metadataGroups = request.getBodyObject("metadataGroups", {});
92
+ const tooltipModels = request.getBodyObject("tooltipModels", {});
93
+ const assetModel = await this.modelService.writeAsset(engineGroup, model, metadataMappings, defaultValues, metadataDetails, metadataGroups, measures, tooltipModels);
85
94
  return assetModel;
86
95
  }
87
96
  async writeDevice(request) {
@@ -89,13 +98,16 @@ class ModelsController {
89
98
  const metadataMappings = request.getBodyObject("metadataMappings", {});
90
99
  const defaultValues = request.getBodyObject("defaultValues", {});
91
100
  const measures = request.getBodyArray("measures");
92
- const deviceModel = await this.modelService.writeDevice(model, metadataMappings, defaultValues, measures);
101
+ const metadataDetails = request.getBodyObject("metadataDetails", {});
102
+ const metadataGroups = request.getBodyObject("metadataGroups", {});
103
+ const deviceModel = await this.modelService.writeDevice(model, metadataMappings, defaultValues, metadataDetails, metadataGroups, measures);
93
104
  return deviceModel;
94
105
  }
95
106
  async writeMeasure(request) {
96
107
  const type = request.getBodyString("type");
97
108
  const valuesMappings = request.getBodyObject("valuesMappings");
98
- const measureModel = await this.modelService.writeMeasure(type, valuesMappings);
109
+ const valuesDetails = request.getBodyObject("valuesDetails", {});
110
+ const measureModel = await this.modelService.writeMeasure(type, valuesMappings, valuesDetails);
99
111
  return measureModel;
100
112
  }
101
113
  async deleteAsset(request) {
@@ -132,6 +144,18 @@ class ModelsController {
132
144
  total: models.length,
133
145
  };
134
146
  }
147
+ async updateAsset(request) {
148
+ const engineGroup = request.getString("engineGroup");
149
+ const model = request.getString("model");
150
+ const metadataMappings = request.getBodyObject("metadataMappings", {});
151
+ const defaultValues = request.getBodyObject("defaultValues", {});
152
+ const measures = request.getBodyArray("measures", []);
153
+ const metadataDetails = request.getBodyObject("metadataDetails", {});
154
+ const metadataGroups = request.getBodyObject("metadataGroups", {});
155
+ const tooltipModels = request.getBodyObject("tooltipModels", {});
156
+ const updatedAssetModel = await this.modelService.updateAsset(engineGroup, model, metadataMappings, defaultValues, metadataDetails, metadataGroups, measures, tooltipModels, request);
157
+ return updatedAssetModel;
158
+ }
135
159
  }
136
160
  exports.ModelsController = ModelsController;
137
161
  //# sourceMappingURL=ModelsController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsController.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelsController.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsController.ts"],"names":[],"mappings":";;;AAmBA,MAAa,gBAAgB;IAK3B,YAAY,YAA0B;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,UAAU,GAAG;YAChB,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBACrE;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBACtE;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtC,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC/D;iBACF;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBAClE;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBACnE;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBACpE;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBAC9D;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBAC/D;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;iBAChE;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpC,IAAI,EAAE;wBACJ,EAAE,IAAI,EAAE,qCAAqC,EAAE,IAAI,EAAE,OAAO,EAAE;qBAC/D;iBACF;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iBAC/D;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iBAChE;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iBACjE;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAsB;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAErD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAExE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE7D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAsB;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE9D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAsB;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CACnD,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EACR,aAAa,CACd,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAsB;QAEtB,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAEnE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CACrD,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,CACT,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAsB;QAEtB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CACvD,IAAI,EACJ,cAAc,EACd,aAAa,CACd,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAsB;QAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAsB;QAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAAsB;QAEtB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAsB;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE9D,OAAO;YACL,MAAM;YACN,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAErD,OAAO;YACL,MAAM;YACN,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QAEtD,OAAO;YACL,MAAM;YACN,KAAK,EAAE,MAAM,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAsB;QAEtB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAC3D,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EACR,aAAa,EACb,OAAO,CACR,CAAC;QAEF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;CACF;AA3OD,4CA2OC"}
@@ -1,7 +1,8 @@
1
- import { JSONObject } from "kuzzle-sdk";
2
1
  import { DeviceManagerPlugin } from "../plugin";
3
2
  import { NamedMeasures } from "../decoder";
4
3
  import { MeasureDefinition } from "../measure";
4
+ import { MetadataDetails, MetadataGroups, MetadataMappings, TooltipModels } from "./types/ModelContent";
5
+ import { JSONObject } from "kuzzle-sdk";
5
6
  export declare class ModelsRegister {
6
7
  private config;
7
8
  private context;
@@ -11,8 +12,32 @@ export declare class ModelsRegister {
11
12
  private get sdk();
12
13
  init(plugin: DeviceManagerPlugin): void;
13
14
  loadModels(): Promise<void>;
14
- registerAsset(engineGroup: string, model: string, measures: NamedMeasures, metadataMappings?: JSONObject, defaultMetadata?: JSONObject): void;
15
- registerDevice(model: string, measures: NamedMeasures, metadataMappings?: JSONObject, defaultMetadata?: JSONObject): void;
15
+ /**
16
+ * Registers an asset model.
17
+ *
18
+ * @param engineGroup - The engine group name.
19
+ * @param model - The name of the asset model, which must be in PascalCase.
20
+ * @param measures - The measures associated with this asset model.
21
+ * @param metadataMappings - The metadata mappings for the model, defaults to an empty object.
22
+ * @param defaultMetadata - The default metadata values for the model, defaults to an empty object.
23
+ * @param metadataDetails - Optional detailed metadata descriptions and localizations.
24
+ * @param metadataGroups - Optional groups for organizing metadata, with localizations.
25
+ * @param tooltipModels - Optional model list for tooltip, containing labels and tooltip content.
26
+ * @throws PluginImplementationError if the model name is not in PascalCase.
27
+ */
28
+ registerAsset(engineGroup: string, model: string, measures: NamedMeasures, metadataMappings?: MetadataMappings, defaultMetadata?: JSONObject, metadataDetails?: MetadataDetails, metadataGroups?: MetadataGroups, tooltipModels?: TooltipModels): void;
29
+ /**
30
+ * Registers a device model.
31
+ *
32
+ * @param model - The name of the device model, which must be in PascalCase.
33
+ * @param measures - The measures associated with this device model.
34
+ * @param metadataMappings - The metadata mappings for the model, defaults to an empty object.
35
+ * @param defaultMetadata - The default metadata values for the model, defaults to an empty object.
36
+ * @param metadataDetails - Optional detailed metadata descriptions and localizations.
37
+ * @param metadataGroups - Optional groups for organizing metadata, with localizations.
38
+ * @throws PluginImplementationError if the model name is not in PascalCase.
39
+ */
40
+ registerDevice(model: string, measures: NamedMeasures, metadataMappings?: MetadataMappings, defaultMetadata?: JSONObject, metadataDetails?: MetadataDetails, metadataGroups?: MetadataGroups): void;
16
41
  registerMeasure(type: string, measureDefinition: MeasureDefinition): void;
17
42
  private load;
18
43
  }
@@ -25,28 +25,73 @@ class ModelsRegister {
25
25
  ]);
26
26
  await this.sdk.collection.refresh(this.config.adminIndex, plugin_1.InternalCollection.MODELS);
27
27
  }
28
- registerAsset(engineGroup, model, measures, metadataMappings = {}, defaultMetadata = {}) {
28
+ /**
29
+ * Registers an asset model.
30
+ *
31
+ * @param engineGroup - The engine group name.
32
+ * @param model - The name of the asset model, which must be in PascalCase.
33
+ * @param measures - The measures associated with this asset model.
34
+ * @param metadataMappings - The metadata mappings for the model, defaults to an empty object.
35
+ * @param defaultMetadata - The default metadata values for the model, defaults to an empty object.
36
+ * @param metadataDetails - Optional detailed metadata descriptions and localizations.
37
+ * @param metadataGroups - Optional groups for organizing metadata, with localizations.
38
+ * @param tooltipModels - Optional model list for tooltip, containing labels and tooltip content.
39
+ * @throws PluginImplementationError if the model name is not in PascalCase.
40
+ */
41
+ registerAsset(engineGroup, model, measures, metadataMappings = {}, defaultMetadata = {}, metadataDetails = {}, metadataGroups = {}, tooltipModels = {}) {
29
42
  if (kuzzle_1.Inflector.pascalCase(model) !== model) {
30
43
  throw new kuzzle_1.PluginImplementationError(`Asset model "${model}" must be PascalCase`);
31
44
  }
45
+ // Construct and push the new asset model to the assetModels array
32
46
  this.assetModels.push({
33
- asset: { defaultMetadata, measures, metadataMappings, model },
47
+ asset: {
48
+ defaultMetadata,
49
+ measures,
50
+ metadataDetails,
51
+ metadataGroups,
52
+ metadataMappings,
53
+ model,
54
+ tooltipModels,
55
+ },
34
56
  engineGroup,
35
57
  type: "asset",
36
58
  });
37
59
  }
38
- registerDevice(model, measures, metadataMappings = {}, defaultMetadata = {}) {
60
+ /**
61
+ * Registers a device model.
62
+ *
63
+ * @param model - The name of the device model, which must be in PascalCase.
64
+ * @param measures - The measures associated with this device model.
65
+ * @param metadataMappings - The metadata mappings for the model, defaults to an empty object.
66
+ * @param defaultMetadata - The default metadata values for the model, defaults to an empty object.
67
+ * @param metadataDetails - Optional detailed metadata descriptions and localizations.
68
+ * @param metadataGroups - Optional groups for organizing metadata, with localizations.
69
+ * @throws PluginImplementationError if the model name is not in PascalCase.
70
+ */
71
+ registerDevice(model, measures, metadataMappings = {}, defaultMetadata = {}, metadataDetails = {}, metadataGroups = {}) {
39
72
  if (kuzzle_1.Inflector.pascalCase(model) !== model) {
40
73
  throw new kuzzle_1.PluginImplementationError(`Device model "${model}" must be PascalCase`);
41
74
  }
75
+ // Construct and push the new device model to the deviceModels array
42
76
  this.deviceModels.push({
43
- device: { defaultMetadata, measures, metadataMappings, model },
77
+ device: {
78
+ defaultMetadata,
79
+ measures,
80
+ metadataDetails,
81
+ metadataGroups,
82
+ metadataMappings,
83
+ model,
84
+ },
44
85
  type: "device",
45
86
  });
46
87
  }
47
88
  registerMeasure(type, measureDefinition) {
48
89
  this.measureModels.push({
49
- measure: { type, valuesMappings: measureDefinition.valuesMappings },
90
+ measure: {
91
+ type,
92
+ valuesDetails: measureDefinition.valuesDetails,
93
+ valuesMappings: measureDefinition.valuesMappings,
94
+ },
50
95
  type: "measure",
51
96
  });
52
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsRegister.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsRegister.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelsRegister.js","sourceRoot":"","sources":["../../../../lib/modules/model/ModelsRegister.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,10 @@ exports.modelsMappings = {
20
20
  dynamic: "false",
21
21
  properties: {},
22
22
  },
23
+ valuesDetails: {
24
+ dynamic: "false",
25
+ properties: {},
26
+ },
23
27
  },
24
28
  },
25
29
  /**
@@ -36,12 +40,24 @@ exports.modelsMappings = {
36
40
  dynamic: "false",
37
41
  properties: {},
38
42
  },
43
+ metadataDetails: {
44
+ dynamic: "false",
45
+ properties: {},
46
+ },
47
+ metadataGroups: {
48
+ dynamic: "false",
49
+ properties: {},
50
+ },
39
51
  measures: {
40
52
  properties: {
41
53
  type: { type: "keyword" },
42
54
  name: { type: "keyword" },
43
55
  },
44
56
  },
57
+ tooltipModels: {
58
+ dynamic: "false",
59
+ properties: {},
60
+ },
45
61
  },
46
62
  },
47
63
  /**
@@ -58,6 +74,14 @@ exports.modelsMappings = {
58
74
  dynamic: "false",
59
75
  properties: {},
60
76
  },
77
+ metadataDetails: {
78
+ dynamic: "false",
79
+ properties: {},
80
+ },
81
+ metadataGroups: {
82
+ dynamic: "false",
83
+ properties: {},
84
+ },
61
85
  measures: {
62
86
  properties: {
63
87
  type: { type: "keyword" },
@@ -1 +1 @@
1
- {"version":3,"file":"modelsMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/model/collections/modelsMappings.ts"],"names":[],"mappings":";;;AAEA,8BAA8B;AAE9B;;GAEG;AACU,QAAA,cAAc,GAAuB;IAChD,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzB,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAEhC;;WAEG;QACH,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,cAAc,EAAE;oBACd,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;aACF;SACF;QAED;;WAEG;QACH,KAAK,EAAE;YACL,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,gBAAgB,EAAE;oBAChB,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,QAAQ,EAAE;oBACR,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC1B;iBACF;aACF;SACF;QAED;;WAEG;QACH,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,gBAAgB,EAAE;oBAChB,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,QAAQ,EAAE;oBACR,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC1B;iBACF;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"modelsMappings.js","sourceRoot":"","sources":["../../../../../lib/modules/model/collections/modelsMappings.ts"],"names":[],"mappings":";;;AAEA,8BAA8B;AAE9B;;GAEG;AACU,QAAA,cAAc,GAAuB;IAChD,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzB,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAEhC;;WAEG;QACH,OAAO,EAAE;YACP,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,cAAc,EAAE;oBACd,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;aACF;SACF;QAED;;WAEG;QACH,KAAK,EAAE;YACL,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,gBAAgB,EAAE;oBAChB,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,cAAc,EAAE;oBACd,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,QAAQ,EAAE;oBACR,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC1B;iBACF;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;aACF;SACF;QAED;;WAEG;QACH,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,gBAAgB,EAAE;oBAChB,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,cAAc,EAAE;oBACd,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,EAAE;iBACf;gBACD,QAAQ,EAAE;oBACR,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;qBAC1B;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { JSONObject, KDocument } from "kuzzle-sdk";
2
- import { AssetModelContent, DeviceModelContent, MeasureModelContent } from "./ModelContent";
2
+ import { AssetModelContent, DeviceModelContent, MeasureModelContent, MetadataDetails, MetadataGroups, MetadataMappings, TooltipModels } from "./ModelContent";
3
+ import { MeasureValuesDetails } from "../../measure/types/MeasureDefinition";
3
4
  interface ModelsControllerRequest {
4
5
  controller: "device-manager/models";
5
6
  }
@@ -24,9 +25,12 @@ export interface ApiModelWriteAssetRequest extends ModelsControllerRequest {
24
25
  body: {
25
26
  engineGroup: string;
26
27
  model: string;
27
- metadataMappings?: JSONObject;
28
+ metadataDetails?: MetadataDetails;
29
+ metadataGroups?: MetadataGroups;
30
+ metadataMappings?: MetadataMappings;
28
31
  defaultValues?: JSONObject;
29
32
  measures?: AssetModelContent["asset"]["measures"];
33
+ tooltipModels?: TooltipModels;
30
34
  };
31
35
  }
32
36
  export type ApiModelWriteAssetResult = KDocument<AssetModelContent>;
@@ -34,7 +38,9 @@ export interface ApiModelWriteDeviceRequest extends ModelsControllerRequest {
34
38
  action: "writeDevice";
35
39
  body: {
36
40
  model: string;
37
- metadataMappings?: JSONObject;
41
+ metadataDetails?: MetadataDetails;
42
+ metadataGroups?: MetadataGroups;
43
+ metadataMappings?: MetadataMappings;
38
44
  defaultValues?: JSONObject;
39
45
  measures: DeviceModelContent["device"]["measures"];
40
46
  };
@@ -45,9 +51,24 @@ export interface ApiModelWriteMeasureRequest extends ModelsControllerRequest {
45
51
  body: {
46
52
  type: string;
47
53
  valuesMappings: JSONObject;
54
+ valuesDetails?: MeasureValuesDetails;
48
55
  };
49
56
  }
50
57
  export type ApiModelWriteMeasureResult = KDocument<MeasureModelContent>;
58
+ export interface ApiModelUpdateAssetRequest extends ModelsControllerRequest {
59
+ action: "updateAsset";
60
+ engineGroup: string;
61
+ model: string;
62
+ body: {
63
+ metadataDetails?: MetadataDetails;
64
+ metadataGroups?: MetadataGroups;
65
+ metadataMappings?: MetadataMappings;
66
+ defaultValues?: JSONObject;
67
+ measures?: AssetModelContent["asset"]["measures"];
68
+ tooltipModels?: TooltipModels;
69
+ };
70
+ }
71
+ export type ApiModelUpdateAssetResult = KDocument<AssetModelContent>;
51
72
  export interface ApiModelDeleteAssetRequest extends ModelsControllerRequest {
52
73
  action: "deleteAsset";
53
74
  _id: string;