kuzzle-device-manager 2.0.0-rc8 → 2.0.0
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.
- package/dist/features/fixtures/application/app.d.ts +1 -0
- package/dist/features/fixtures/application/app.js +70 -0
- package/dist/features/fixtures/application/app.js.map +1 -0
- package/dist/features/fixtures/application/assets/Container.d.ts +1 -0
- package/dist/features/fixtures/application/assets/Container.js +14 -0
- package/dist/features/fixtures/application/assets/Container.js.map +1 -0
- package/dist/features/fixtures/application/decoders/DummyTempDecoder.d.ts +11 -0
- package/dist/features/fixtures/application/decoders/DummyTempDecoder.js +51 -0
- package/dist/features/fixtures/application/decoders/DummyTempDecoder.js.map +1 -0
- package/dist/features/fixtures/application/decoders/DummyTempPositionDecoder.d.ts +16 -0
- package/dist/features/fixtures/application/decoders/DummyTempPositionDecoder.js +49 -0
- package/dist/features/fixtures/application/decoders/DummyTempPositionDecoder.js.map +1 -0
- package/dist/features/fixtures/application/decoders/index.d.ts +2 -0
- package/{lib/utils → dist/features/fixtures/application/decoders}/index.js +2 -1
- package/dist/features/fixtures/application/decoders/index.js.map +1 -0
- package/dist/features/fixtures/application/testPipes.d.ts +2 -0
- package/dist/features/fixtures/application/testPipes.js +75 -0
- package/dist/features/fixtures/application/testPipes.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/{lib/types → dist/lib/core}/DeviceManagerConfiguration.d.ts +17 -8
- package/{lib/types → dist/lib/core}/DeviceManagerConfiguration.js +0 -0
- package/dist/lib/core/DeviceManagerConfiguration.js.map +1 -0
- package/dist/lib/core/DeviceManagerEngine.d.ts +32 -0
- package/dist/lib/core/DeviceManagerEngine.js +162 -0
- package/dist/lib/core/DeviceManagerEngine.js.map +1 -0
- package/dist/lib/core/DeviceManagerPlugin.d.ts +115 -0
- package/dist/lib/core/DeviceManagerPlugin.js +336 -0
- package/dist/lib/core/DeviceManagerPlugin.js.map +1 -0
- package/dist/lib/core/InternalCollection.d.ts +8 -0
- package/{lib → dist/lib/core}/InternalCollection.js +3 -0
- package/dist/lib/core/InternalCollection.js.map +1 -0
- package/dist/lib/core/exports.d.ts +2 -0
- package/{lib/models/index.js → dist/lib/core/exports.js} +3 -3
- package/dist/lib/core/exports.js.map +1 -0
- package/dist/lib/core/index.d.ts +4 -0
- package/dist/lib/core/index.js +21 -0
- package/dist/lib/core/index.js.map +1 -0
- package/{lib/core-classes → dist/lib/core}/registers/DecodersRegister.d.ts +6 -13
- package/{lib/core-classes → dist/lib/core}/registers/DecodersRegister.js +45 -66
- package/dist/lib/core/registers/DecodersRegister.js.map +1 -0
- package/dist/lib/core/registers/ModelsRegister.d.ts +18 -0
- package/dist/lib/core/registers/ModelsRegister.js +66 -0
- package/dist/lib/core/registers/ModelsRegister.js.map +1 -0
- package/dist/lib/modules/asset/AssetHistoryService.d.ts +11 -0
- package/dist/lib/modules/asset/AssetHistoryService.js +24 -0
- package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -0
- package/dist/lib/modules/asset/AssetModule.d.ts +7 -0
- package/dist/lib/modules/asset/AssetModule.js +21 -0
- package/dist/lib/modules/asset/AssetModule.js.map +1 -0
- package/dist/lib/modules/asset/AssetService.d.ts +50 -0
- package/dist/lib/modules/asset/AssetService.js +137 -0
- package/dist/lib/modules/asset/AssetService.js.map +1 -0
- package/dist/lib/modules/asset/AssetsController.d.ts +14 -0
- package/dist/lib/modules/asset/AssetsController.js +119 -0
- package/dist/lib/modules/asset/AssetsController.js.map +1 -0
- package/dist/lib/modules/asset/collections/assetsHistoryMappings.d.ts +63 -0
- package/dist/lib/modules/asset/collections/assetsHistoryMappings.js +48 -0
- package/dist/lib/modules/asset/collections/assetsHistoryMappings.js.map +1 -0
- package/dist/lib/modules/asset/collections/assetsMappings.d.ts +44 -0
- package/dist/lib/modules/asset/collections/assetsMappings.js +38 -0
- package/dist/lib/modules/asset/collections/assetsMappings.js.map +1 -0
- package/dist/lib/modules/asset/exports.d.ts +6 -0
- package/{index.js → dist/lib/modules/asset/exports.js} +7 -6
- package/dist/lib/modules/asset/exports.js.map +1 -0
- package/dist/lib/modules/asset/index.d.ts +10 -0
- package/dist/lib/modules/asset/index.js +27 -0
- package/dist/lib/modules/asset/index.js.map +1 -0
- package/dist/lib/modules/asset/model/AssetSerializer.d.ts +10 -0
- package/dist/lib/modules/asset/model/AssetSerializer.js +31 -0
- package/dist/lib/modules/asset/model/AssetSerializer.js.map +1 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.d.ts +22 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js +43 -0
- package/dist/lib/modules/asset/roles/RoleAssetsAdmin.js.map +1 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +21 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js +42 -0
- package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -0
- package/dist/lib/modules/asset/types/AssetApi.d.ts +58 -0
- package/{lib/types/Request.js → dist/lib/modules/asset/types/AssetApi.js} +1 -1
- package/dist/lib/modules/asset/types/AssetApi.js.map +1 -0
- package/dist/lib/modules/asset/types/AssetContent.d.ts +44 -0
- package/{lib/types/DecodedPayload.js → dist/lib/modules/asset/types/AssetContent.js} +1 -1
- package/dist/lib/modules/asset/types/AssetContent.js.map +1 -0
- package/dist/lib/modules/asset/types/AssetEvents.d.ts +30 -0
- package/dist/lib/modules/asset/types/AssetEvents.js +3 -0
- package/dist/lib/modules/asset/types/AssetEvents.js.map +1 -0
- package/dist/lib/modules/asset/types/AssetHistoryContent.d.ts +50 -0
- package/dist/lib/modules/asset/types/AssetHistoryContent.js +3 -0
- package/dist/lib/modules/asset/types/AssetHistoryContent.js.map +1 -0
- package/dist/lib/modules/decoder/DecodedPayload.d.ts +47 -0
- package/dist/lib/modules/decoder/DecodedPayload.js +82 -0
- package/dist/lib/modules/decoder/DecodedPayload.js.map +1 -0
- package/{lib/core-classes → dist/lib/modules/decoder}/Decoder.d.ts +30 -19
- package/{lib/core-classes → dist/lib/modules/decoder}/Decoder.js +40 -17
- package/dist/lib/modules/decoder/Decoder.js.map +1 -0
- package/dist/lib/modules/decoder/DecoderModule.d.ts +8 -0
- package/dist/lib/modules/decoder/DecoderModule.js +29 -0
- package/dist/lib/modules/decoder/DecoderModule.js.map +1 -0
- package/dist/lib/modules/decoder/DecodersController.d.ts +18 -0
- package/dist/lib/modules/decoder/DecodersController.js +44 -0
- package/dist/lib/modules/decoder/DecodersController.js.map +1 -0
- package/dist/lib/modules/decoder/PayloadService.d.ts +34 -0
- package/dist/lib/modules/decoder/PayloadService.js +136 -0
- package/dist/lib/modules/decoder/PayloadService.js.map +1 -0
- package/dist/lib/modules/decoder/PayloadsController.d.ts +11 -0
- package/dist/lib/modules/decoder/PayloadsController.js +56 -0
- package/dist/lib/modules/decoder/PayloadsController.js.map +1 -0
- package/{lib/mappings → dist/lib/modules/decoder/collections}/payloadsMappings.d.ts +0 -4
- package/dist/lib/modules/decoder/collections/payloadsMappings.js +16 -0
- package/dist/lib/modules/decoder/collections/payloadsMappings.js.map +1 -0
- package/dist/lib/modules/decoder/exports.d.ts +6 -0
- package/{lib/types/index.js → dist/lib/modules/decoder/exports.js} +6 -7
- package/dist/lib/modules/decoder/exports.js.map +1 -0
- package/dist/lib/modules/decoder/index.d.ts +8 -0
- package/{lib/core-classes → dist/lib/modules/decoder}/index.js +7 -8
- package/dist/lib/modules/decoder/index.js.map +1 -0
- package/dist/lib/modules/decoder/roles/RoleDecodersAdmin.d.ts +14 -0
- package/dist/lib/modules/decoder/roles/RoleDecodersAdmin.js +28 -0
- package/dist/lib/modules/decoder/roles/RoleDecodersAdmin.js.map +1 -0
- package/dist/lib/modules/decoder/roles/RolePayloadsAll.d.ts +12 -0
- package/dist/lib/modules/decoder/roles/RolePayloadsAll.js +26 -0
- package/dist/lib/modules/decoder/roles/RolePayloadsAll.js.map +1 -0
- package/dist/lib/modules/decoder/types/DecoderApi.d.ts +19 -0
- package/dist/lib/modules/decoder/types/DecoderApi.js +3 -0
- package/dist/lib/modules/decoder/types/DecoderApi.js.map +1 -0
- package/dist/lib/modules/decoder/types/DecoderContent.d.ts +5 -0
- package/{lib → dist/lib/modules/decoder}/types/DecoderContent.js +0 -0
- package/dist/lib/modules/decoder/types/DecoderContent.js.map +1 -0
- package/dist/lib/modules/decoder/types/PayloadApi.d.ts +11 -0
- package/dist/lib/modules/decoder/types/PayloadApi.js +3 -0
- package/dist/lib/modules/decoder/types/PayloadApi.js.map +1 -0
- package/dist/lib/modules/device/DeviceModule.d.ts +6 -0
- package/dist/lib/modules/device/DeviceModule.js +22 -0
- package/dist/lib/modules/device/DeviceModule.js.map +1 -0
- package/dist/lib/modules/device/DeviceService.d.ts +85 -0
- package/dist/lib/modules/device/DeviceService.js +282 -0
- package/dist/lib/modules/device/DeviceService.js.map +1 -0
- package/dist/lib/modules/device/DevicesController.d.ts +32 -0
- package/dist/lib/modules/device/DevicesController.js +183 -0
- package/dist/lib/modules/device/DevicesController.js.map +1 -0
- package/{lib/mappings → dist/lib/modules/device/collections}/deviceMappings.d.ts +14 -15
- package/dist/lib/modules/device/collections/deviceMappings.js +35 -0
- package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -0
- package/dist/lib/modules/device/exports.d.ts +6 -0
- package/dist/lib/modules/device/exports.js +23 -0
- package/dist/lib/modules/device/exports.js.map +1 -0
- package/dist/lib/modules/device/index.d.ts +9 -0
- package/dist/lib/modules/device/index.js +26 -0
- package/dist/lib/modules/device/index.js.map +1 -0
- package/dist/lib/modules/device/model/DeviceSerializer.d.ts +6 -0
- package/dist/lib/modules/device/model/DeviceSerializer.js +16 -0
- package/dist/lib/modules/device/model/DeviceSerializer.js.map +1 -0
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +27 -0
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +54 -0
- package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -0
- package/dist/lib/modules/device/roles/RoleDevicesPlatformAdmin.d.ts +21 -0
- package/dist/lib/modules/device/roles/RoleDevicesPlatformAdmin.js +42 -0
- package/dist/lib/modules/device/roles/RoleDevicesPlatformAdmin.js.map +1 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +21 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js +41 -0
- package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -0
- package/dist/lib/modules/device/types/DeviceApi.d.ts +97 -0
- package/dist/lib/modules/device/types/DeviceApi.js +3 -0
- package/dist/lib/modules/device/types/DeviceApi.js.map +1 -0
- package/dist/lib/modules/device/types/DeviceContent.d.ts +14 -0
- package/{lib → dist/lib/modules/device}/types/DeviceContent.js +0 -0
- package/dist/lib/modules/device/types/DeviceContent.js.map +1 -0
- package/dist/lib/modules/device/types/DeviceEvents.d.ts +28 -0
- package/dist/lib/modules/device/types/DeviceEvents.js +3 -0
- package/dist/lib/modules/device/types/DeviceEvents.js.map +1 -0
- package/dist/lib/modules/measure/MeasureModule.d.ts +5 -0
- package/dist/lib/modules/measure/MeasureModule.js +16 -0
- package/dist/lib/modules/measure/MeasureModule.js.map +1 -0
- package/dist/lib/modules/measure/MeasureService.d.ts +40 -0
- package/dist/lib/modules/measure/MeasureService.js +259 -0
- package/dist/lib/modules/measure/MeasureService.js.map +1 -0
- package/dist/lib/modules/measure/collections/measuresMappings.d.ts +61 -0
- package/dist/lib/modules/measure/collections/measuresMappings.js +45 -0
- package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -0
- package/dist/lib/modules/measure/exports.d.ts +6 -0
- package/dist/lib/modules/measure/exports.js +23 -0
- package/dist/lib/modules/measure/exports.js.map +1 -0
- package/dist/lib/modules/measure/index.d.ts +8 -0
- package/dist/lib/modules/measure/index.js +25 -0
- package/dist/lib/modules/measure/index.js.map +1 -0
- package/dist/lib/modules/measure/measures/BatteryMeasure.d.ts +5 -0
- package/dist/lib/modules/measure/measures/BatteryMeasure.js +7 -0
- package/dist/lib/modules/measure/measures/BatteryMeasure.js.map +1 -0
- package/dist/lib/modules/measure/measures/HumidityMeasure.d.ts +5 -0
- package/dist/lib/modules/measure/measures/HumidityMeasure.js +7 -0
- package/dist/lib/modules/measure/measures/HumidityMeasure.js.map +1 -0
- package/dist/lib/modules/measure/measures/MovementMeasure.d.ts +5 -0
- package/dist/lib/modules/measure/measures/MovementMeasure.js +7 -0
- package/dist/lib/modules/measure/measures/MovementMeasure.js.map +1 -0
- package/dist/lib/modules/measure/measures/PositionMeasure.d.ts +10 -0
- package/dist/lib/modules/measure/measures/PositionMeasure.js +11 -0
- package/dist/lib/modules/measure/measures/PositionMeasure.js.map +1 -0
- package/dist/lib/modules/measure/measures/TemperatureMeasure.d.ts +5 -0
- package/dist/lib/modules/measure/measures/TemperatureMeasure.js +7 -0
- package/dist/lib/modules/measure/measures/TemperatureMeasure.js.map +1 -0
- package/dist/lib/modules/measure/measures/index.d.ts +5 -0
- package/{lib → dist/lib/modules/measure}/measures/index.js +0 -0
- package/dist/lib/modules/measure/measures/index.js.map +1 -0
- package/dist/lib/modules/measure/roles/RoleMeasuresAdmin.d.ts +16 -0
- package/dist/lib/modules/measure/roles/RoleMeasuresAdmin.js +32 -0
- package/dist/lib/modules/measure/roles/RoleMeasuresAdmin.js.map +1 -0
- package/dist/lib/modules/measure/roles/RoleMeasuresReader.d.ts +14 -0
- package/dist/lib/modules/measure/roles/RoleMeasuresReader.js +28 -0
- package/dist/lib/modules/measure/roles/RoleMeasuresReader.js.map +1 -0
- package/dist/lib/modules/measure/types/MeasureContent.d.ts +82 -0
- package/dist/lib/modules/measure/types/MeasureContent.js +3 -0
- package/dist/lib/modules/measure/types/MeasureContent.js.map +1 -0
- package/dist/lib/modules/measure/types/MeasureDefinition.d.ts +15 -0
- package/{lib/types/measures → dist/lib/modules/measure/types}/MeasureDefinition.js +0 -0
- package/dist/lib/modules/measure/types/MeasureDefinition.js.map +1 -0
- package/dist/lib/modules/measure/types/MeasureEvents.d.ts +66 -0
- package/dist/lib/modules/measure/types/MeasureEvents.js +3 -0
- package/dist/lib/modules/measure/types/MeasureEvents.js.map +1 -0
- package/dist/lib/modules/model/ModelModule.d.ts +6 -0
- package/dist/lib/modules/model/ModelModule.js +15 -0
- package/dist/lib/modules/model/ModelModule.js.map +1 -0
- package/dist/lib/modules/model/ModelSerializer.d.ts +5 -0
- package/dist/lib/modules/model/ModelSerializer.js +32 -0
- package/dist/lib/modules/model/ModelSerializer.js.map +1 -0
- package/dist/lib/modules/model/ModelService.d.ts +24 -0
- package/dist/lib/modules/model/ModelService.js +153 -0
- package/dist/lib/modules/model/ModelService.js.map +1 -0
- package/dist/lib/modules/model/ModelsController.d.ts +17 -0
- package/dist/lib/modules/model/ModelsController.js +109 -0
- package/dist/lib/modules/model/ModelsController.js.map +1 -0
- package/dist/lib/modules/model/collections/modelsMappings.d.ts +2 -0
- package/dist/lib/modules/model/collections/modelsMappings.js +68 -0
- package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -0
- package/dist/lib/modules/model/exports.d.ts +3 -0
- package/{lib/controllers/index.js → dist/lib/modules/model/exports.js} +4 -4
- package/dist/lib/modules/model/exports.js.map +1 -0
- package/dist/lib/modules/model/index.d.ts +7 -0
- package/dist/lib/modules/model/index.js +24 -0
- package/dist/lib/modules/model/index.js.map +1 -0
- package/dist/lib/modules/model/types/ModelApi.d.ts +72 -0
- package/dist/lib/modules/model/types/ModelApi.js +3 -0
- package/dist/lib/modules/model/types/ModelApi.js.map +1 -0
- package/dist/lib/modules/model/types/ModelContent.d.ts +97 -0
- package/dist/lib/modules/model/types/ModelContent.js +3 -0
- package/dist/lib/modules/model/types/ModelContent.js.map +1 -0
- package/dist/lib/modules/model/types/ModelDefinition.d.ts +62 -0
- package/dist/lib/modules/model/types/ModelDefinition.js +3 -0
- package/dist/lib/modules/model/types/ModelDefinition.js.map +1 -0
- package/dist/lib/modules/model/types/ModelEvents.d.ts +16 -0
- package/dist/lib/modules/model/types/ModelEvents.js +3 -0
- package/dist/lib/modules/model/types/ModelEvents.js.map +1 -0
- package/dist/lib/modules/shared/Module.d.ts +7 -0
- package/dist/lib/modules/shared/Module.js +13 -0
- package/dist/lib/modules/shared/Module.js.map +1 -0
- package/dist/lib/modules/shared/exports.d.ts +3 -0
- package/{lib/mappings/index.js → dist/lib/modules/shared/exports.js} +4 -5
- package/dist/lib/modules/shared/exports.js.map +1 -0
- package/dist/lib/modules/shared/index.d.ts +9 -0
- package/dist/lib/modules/shared/index.js +26 -0
- package/dist/lib/modules/shared/index.js.map +1 -0
- package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +11 -0
- package/{lib/types/BaseAssetContent.js → dist/lib/modules/shared/types/DigitalTwinContent.js} +1 -1
- package/dist/lib/modules/shared/types/DigitalTwinContent.js.map +1 -0
- package/dist/lib/modules/shared/types/EmbeddedMeasure.d.ts +24 -0
- package/dist/lib/modules/shared/types/EmbeddedMeasure.js +3 -0
- package/dist/lib/modules/shared/types/EmbeddedMeasure.js.map +1 -0
- package/dist/lib/modules/shared/types/KuzzleRole.d.ts +5 -0
- package/dist/lib/modules/shared/types/KuzzleRole.js +3 -0
- package/dist/lib/modules/shared/types/KuzzleRole.js.map +1 -0
- package/dist/lib/modules/shared/types/Metadata.d.ts +5 -0
- package/dist/lib/modules/shared/types/Metadata.js +3 -0
- package/dist/lib/modules/shared/types/Metadata.js.map +1 -0
- package/dist/lib/modules/shared/utils/ask.d.ts +8 -0
- package/dist/lib/modules/shared/utils/ask.js +12 -0
- package/dist/lib/modules/shared/utils/ask.js.map +1 -0
- package/dist/lib/modules/shared/utils/flattenObject.d.ts +24 -0
- package/dist/lib/modules/shared/utils/flattenObject.js +46 -0
- package/dist/lib/modules/shared/utils/flattenObject.js.map +1 -0
- package/dist/lib/modules/shared/utils/lock.d.ts +1 -0
- package/dist/lib/modules/shared/utils/lock.js +16 -0
- package/dist/lib/modules/shared/utils/lock.js.map +1 -0
- package/dist/lib/modules/shared/utils/snakeCase.d.ts +7 -0
- package/dist/lib/modules/shared/utils/snakeCase.js +18 -0
- package/dist/lib/modules/shared/utils/snakeCase.js.map +1 -0
- package/package.json +19 -27
- package/index.d.ts +0 -5
- package/lib/DeviceManagerPlugin.d.ts +0 -75
- package/lib/DeviceManagerPlugin.js +0 -274
- package/lib/InternalCollection.d.ts +0 -5
- package/lib/controllers/AssetCategoryController.d.ts +0 -28
- package/lib/controllers/AssetCategoryController.js +0 -189
- package/lib/controllers/AssetController.d.ts +0 -50
- package/lib/controllers/AssetController.js +0 -241
- package/lib/controllers/DecodersController.d.ts +0 -16
- package/lib/controllers/DecodersController.js +0 -27
- package/lib/controllers/DeviceController.d.ts +0 -74
- package/lib/controllers/DeviceController.js +0 -329
- package/lib/controllers/MeasureDefinitionController.d.ts +0 -0
- package/lib/controllers/MeasureDefinitionController.js +0 -1
- package/lib/controllers/MetadataController.d.ts +0 -16
- package/lib/controllers/MetadataController.js +0 -70
- package/lib/controllers/RelationalController.d.ts +0 -155
- package/lib/controllers/RelationalController.js +0 -410
- package/lib/controllers/index.d.ts +0 -3
- package/lib/core-classes/AssetCategoryService.d.ts +0 -20
- package/lib/core-classes/AssetCategoryService.js +0 -178
- package/lib/core-classes/AssetService.d.ts +0 -40
- package/lib/core-classes/AssetService.js +0 -97
- package/lib/core-classes/DeviceManagerEngine.d.ts +0 -23
- package/lib/core-classes/DeviceManagerEngine.js +0 -62
- package/lib/core-classes/DeviceService.d.ts +0 -115
- package/lib/core-classes/DeviceService.js +0 -282
- package/lib/core-classes/MeasureService.d.ts +0 -77
- package/lib/core-classes/MeasureService.js +0 -302
- package/lib/core-classes/PayloadService.d.ts +0 -24
- package/lib/core-classes/PayloadService.js +0 -54
- package/lib/core-classes/index.d.ts +0 -9
- package/lib/core-classes/registers/AssetsRegister.d.ts +0 -30
- package/lib/core-classes/registers/AssetsRegister.js +0 -68
- package/lib/core-classes/registers/DevicesRegister.d.ts +0 -20
- package/lib/core-classes/registers/DevicesRegister.js +0 -37
- package/lib/core-classes/registers/MeasuresRegister.d.ts +0 -30
- package/lib/core-classes/registers/MeasuresRegister.js +0 -60
- package/lib/mappings/assetCategoryMappings.d.ts +0 -69
- package/lib/mappings/assetCategoryMappings.js +0 -23
- package/lib/mappings/assetsMappings.d.ts +0 -130
- package/lib/mappings/assetsMappings.js +0 -72
- package/lib/mappings/deviceMappings.js +0 -42
- package/lib/mappings/fieldpathMappings.d.ts +0 -17
- package/lib/mappings/fieldpathMappings.js +0 -21
- package/lib/mappings/genericEmbeddedMapping.d.ts +0 -1
- package/lib/mappings/genericEmbeddedMapping.js +0 -11
- package/lib/mappings/index.d.ts +0 -4
- package/lib/mappings/measuresMappings.d.ts +0 -82
- package/lib/mappings/measuresMappings.js +0 -72
- package/lib/mappings/metadataMappings.d.ts +0 -149
- package/lib/mappings/metadataMappings.js +0 -64
- package/lib/mappings/payloadsMappings.js +0 -20
- package/lib/measures/BatteryMeasure.d.ts +0 -7
- package/lib/measures/BatteryMeasure.js +0 -12
- package/lib/measures/HumidityMeasure.d.ts +0 -7
- package/lib/measures/HumidityMeasure.js +0 -12
- package/lib/measures/MovementMeasure.d.ts +0 -7
- package/lib/measures/MovementMeasure.js +0 -12
- package/lib/measures/PositionMeasure.d.ts +0 -12
- package/lib/measures/PositionMeasure.js +0 -16
- package/lib/measures/TemperatureMeasure.d.ts +0 -7
- package/lib/measures/TemperatureMeasure.js +0 -12
- package/lib/measures/index.d.ts +0 -5
- package/lib/models/BaseAsset.d.ts +0 -18
- package/lib/models/BaseAsset.js +0 -64
- package/lib/models/Config.d.ts +0 -21
- package/lib/models/Config.js +0 -26
- package/lib/models/Device.d.ts +0 -15
- package/lib/models/Device.js +0 -45
- package/lib/models/index.d.ts +0 -2
- package/lib/types/AssetCategoryContent.d.ts +0 -28
- package/lib/types/AssetCategoryContent.js +0 -3
- package/lib/types/BaseAssetContent.d.ts +0 -45
- package/lib/types/DecodedPayload.d.ts +0 -53
- package/lib/types/DecoderContent.d.ts +0 -5
- package/lib/types/DeviceContent.d.ts +0 -32
- package/lib/types/MetadataContent.d.ts +0 -29
- package/lib/types/MetadataContent.js +0 -15
- package/lib/types/Request.d.ts +0 -26
- package/lib/types/index.d.ts +0 -7
- package/lib/types/measures/MeasureContent.d.ts +0 -79
- package/lib/types/measures/MeasureContent.js +0 -12
- package/lib/types/measures/MeasureDefinition.d.ts +0 -40
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/writeMany.d.ts +0 -13
- package/lib/utils/writeMany.js +0 -39
|
@@ -2,24 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DecodersRegister = void 0;
|
|
4
4
|
const kuzzle_1 = require("kuzzle");
|
|
5
|
+
const shared_1 = require("../../modules/shared");
|
|
5
6
|
class DecodersRegister {
|
|
6
7
|
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* Map<deviceModel, Decoder>
|
|
10
|
+
*/
|
|
7
11
|
this._decoders = new Map();
|
|
8
12
|
}
|
|
9
13
|
get sdk() {
|
|
10
14
|
return this.context.accessors.sdk;
|
|
11
15
|
}
|
|
12
|
-
getByDeviceModel(deviceModel) {
|
|
13
|
-
return this._decoders.get(deviceModel);
|
|
14
|
-
}
|
|
15
16
|
get decoders() {
|
|
16
17
|
return Array.from(this._decoders.values());
|
|
17
18
|
}
|
|
18
19
|
init(context) {
|
|
19
20
|
this.context = context;
|
|
20
21
|
}
|
|
22
|
+
get(deviceModel) {
|
|
23
|
+
if (!this._decoders.has(deviceModel)) {
|
|
24
|
+
throw new kuzzle_1.BadRequestError(`Cannot find decoder for "${deviceModel}"`);
|
|
25
|
+
}
|
|
26
|
+
return this._decoders.get(deviceModel);
|
|
27
|
+
}
|
|
21
28
|
list() {
|
|
22
|
-
const decoders = this.decoders.map(decoder => decoder.serialize());
|
|
29
|
+
const decoders = this.decoders.map((decoder) => decoder.serialize());
|
|
23
30
|
return decoders;
|
|
24
31
|
}
|
|
25
32
|
/**
|
|
@@ -35,37 +42,22 @@ class DecodersRegister {
|
|
|
35
42
|
* @returns Corresponding API action requestPayload
|
|
36
43
|
*/
|
|
37
44
|
register(decoder) {
|
|
45
|
+
if (!decoder.deviceModel) {
|
|
46
|
+
decoder.deviceModel = decoder.constructor.name.replace("Decoder", "");
|
|
47
|
+
}
|
|
38
48
|
decoder.action = decoder.action || kuzzle_1.Inflector.kebabCase(decoder.deviceModel);
|
|
49
|
+
if (decoder.measures.length === 0) {
|
|
50
|
+
throw new kuzzle_1.PluginImplementationError(`Decoder "${decoder.deviceModel}" did not declare any measures in the "decoder.measures" property.`);
|
|
51
|
+
}
|
|
39
52
|
if (this._decoders.has(decoder.deviceModel)) {
|
|
40
53
|
throw new kuzzle_1.PluginImplementationError(`Decoder for device model "${decoder.deviceModel}" already registered`);
|
|
41
54
|
}
|
|
42
55
|
this._decoders.set(decoder.deviceModel, decoder);
|
|
43
56
|
return {
|
|
44
57
|
action: decoder.action,
|
|
45
|
-
controller:
|
|
58
|
+
controller: "device-manager/payloads",
|
|
46
59
|
};
|
|
47
60
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Build the PayloadController with registered decoders
|
|
50
|
-
*
|
|
51
|
-
* @todo generate OpenAPI specification
|
|
52
|
-
*
|
|
53
|
-
* @internal
|
|
54
|
-
*/
|
|
55
|
-
getPayloadController(payloadService) {
|
|
56
|
-
const controllers = { actions: {} };
|
|
57
|
-
for (const decoder of this.decoders) {
|
|
58
|
-
controllers.actions[decoder.action] = {
|
|
59
|
-
handler: async (request) => {
|
|
60
|
-
const source = request.getBoolean('source');
|
|
61
|
-
const ret = await payloadService.process(request, decoder);
|
|
62
|
-
return source ? ret : undefined;
|
|
63
|
-
},
|
|
64
|
-
http: decoder.http,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
return controllers;
|
|
68
|
-
}
|
|
69
61
|
printDecoders() {
|
|
70
62
|
for (const decoder of this.decoders) {
|
|
71
63
|
this.context.log.info(`Decoder for "${decoder.deviceModel}" registered`);
|
|
@@ -78,89 +70,76 @@ class DecodersRegister {
|
|
|
78
70
|
* This method never returns a rejected promise.
|
|
79
71
|
*/
|
|
80
72
|
async createDefaultRights() {
|
|
81
|
-
|
|
82
|
-
await this.createDefaultRoles();
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
this.context.log.error(`Cannot register default decoders roles: ${error}${error.stack}`);
|
|
73
|
+
if (this.decoders.length === 0) {
|
|
86
74
|
return;
|
|
87
75
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
this.context.log.error(`Cannot register default decoders profiles: ${error}${error.stack}`);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
try {
|
|
96
|
-
await this.createDefaultUsers();
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
this.context.log.error(`Cannot register default decoders users: ${error}${error.stack}`);
|
|
100
|
-
}
|
|
76
|
+
await this.createDefaultRoles();
|
|
77
|
+
await this.createDefaultProfiles();
|
|
78
|
+
await this.createDefaultUsers();
|
|
79
|
+
this.context.log.info("Default rights for payload controller has been registered.");
|
|
101
80
|
}
|
|
102
81
|
async createDefaultUsers() {
|
|
103
82
|
const promises = [];
|
|
104
83
|
const gatewayUser = {
|
|
105
84
|
content: {
|
|
106
|
-
profileIds: []
|
|
107
|
-
}
|
|
85
|
+
profileIds: [],
|
|
86
|
+
},
|
|
108
87
|
};
|
|
109
88
|
for (const decoder of this.decoders) {
|
|
110
|
-
const userId = `
|
|
89
|
+
const userId = `payload_gateway.${(0, shared_1.snakeCase)(decoder.action)}`;
|
|
111
90
|
const user = {
|
|
112
91
|
content: {
|
|
113
92
|
// each created user has only the profile of the same name
|
|
114
|
-
profileIds: [userId]
|
|
115
|
-
}
|
|
93
|
+
profileIds: [userId],
|
|
94
|
+
},
|
|
116
95
|
};
|
|
117
96
|
gatewayUser.content.profileIds.push(userId);
|
|
118
|
-
promises.push(this.sdk.security.createUser(userId, user)
|
|
119
|
-
|
|
120
|
-
if (error.id !== 'security.user.already_exists') {
|
|
97
|
+
promises.push(this.sdk.security.createUser(userId, user).catch((error) => {
|
|
98
|
+
if (error.id !== "security.user.already_exists") {
|
|
121
99
|
throw error;
|
|
122
100
|
}
|
|
123
101
|
return this.sdk.security.updateUser(userId, user);
|
|
124
102
|
}));
|
|
125
103
|
}
|
|
126
|
-
promises.push(this.sdk.security
|
|
127
|
-
.
|
|
128
|
-
|
|
104
|
+
promises.push(this.sdk.security
|
|
105
|
+
.createUser("payload_gateway", gatewayUser)
|
|
106
|
+
.catch((error) => {
|
|
107
|
+
if (error.id !== "security.user.already_exists") {
|
|
129
108
|
throw error;
|
|
130
109
|
}
|
|
131
|
-
return this.sdk.security.updateUser(
|
|
110
|
+
return this.sdk.security.updateUser("payload_gateway", gatewayUser);
|
|
132
111
|
}));
|
|
133
112
|
await Promise.all(promises);
|
|
134
113
|
}
|
|
135
114
|
async createDefaultProfiles() {
|
|
136
115
|
const promises = [];
|
|
137
116
|
const gatewayProfile = {
|
|
138
|
-
policies: []
|
|
117
|
+
policies: [],
|
|
139
118
|
};
|
|
140
119
|
for (const decoder of this.decoders) {
|
|
141
|
-
const profileId = `
|
|
120
|
+
const profileId = `payload_gateway.${(0, shared_1.snakeCase)(decoder.action)}`;
|
|
142
121
|
const profile = {
|
|
143
122
|
// each created profile has only the role of the same name
|
|
144
|
-
policies: [{ roleId: profileId }]
|
|
123
|
+
policies: [{ roleId: profileId }],
|
|
145
124
|
};
|
|
146
125
|
gatewayProfile.policies.push({ roleId: profileId });
|
|
147
126
|
promises.push(this.sdk.security.createOrReplaceProfile(profileId, profile));
|
|
148
127
|
}
|
|
149
|
-
promises.push(this.sdk.security.createOrReplaceProfile(
|
|
128
|
+
promises.push(this.sdk.security.createOrReplaceProfile("payload_gateway", gatewayProfile));
|
|
150
129
|
await Promise.all(promises);
|
|
151
130
|
}
|
|
152
131
|
async createDefaultRoles() {
|
|
153
132
|
const promises = [];
|
|
154
133
|
for (const decoder of this.decoders) {
|
|
155
|
-
const roleId = `
|
|
134
|
+
const roleId = `payload_gateway.${(0, shared_1.snakeCase)(decoder.action)}`;
|
|
156
135
|
const role = {
|
|
157
136
|
controllers: {
|
|
158
|
-
|
|
137
|
+
"device-manager/payloads": {
|
|
159
138
|
actions: {
|
|
160
|
-
[decoder.action]: true
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
139
|
+
[decoder.action]: true,
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
},
|
|
164
143
|
};
|
|
165
144
|
promises.push(this.sdk.security.createOrReplaceRole(roleId, role));
|
|
166
145
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DecodersRegister.js","sourceRoot":"","sources":["../../../../lib/core/registers/DecodersRegister.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { JSONObject } from "kuzzle";
|
|
2
|
+
import { NamedMeasures } from "../../modules/decoder";
|
|
3
|
+
import { MeasureDefinition } from "../../modules/measure";
|
|
4
|
+
import { DeviceManagerPlugin } from "../DeviceManagerPlugin";
|
|
5
|
+
export declare class ModelsRegister {
|
|
6
|
+
private config;
|
|
7
|
+
private context;
|
|
8
|
+
private assetModels;
|
|
9
|
+
private deviceModels;
|
|
10
|
+
private measureModels;
|
|
11
|
+
private get sdk();
|
|
12
|
+
init(plugin: DeviceManagerPlugin): void;
|
|
13
|
+
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;
|
|
16
|
+
registerMeasure(type: string, measureDefinition: MeasureDefinition): void;
|
|
17
|
+
private load;
|
|
18
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModelsRegister = void 0;
|
|
4
|
+
const kuzzle_1 = require("kuzzle");
|
|
5
|
+
const model_1 = require("../../modules/model");
|
|
6
|
+
const InternalCollection_1 = require("../InternalCollection");
|
|
7
|
+
class ModelsRegister {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.assetModels = [];
|
|
10
|
+
this.deviceModels = [];
|
|
11
|
+
this.measureModels = [];
|
|
12
|
+
}
|
|
13
|
+
get sdk() {
|
|
14
|
+
return this.context.accessors.sdk;
|
|
15
|
+
}
|
|
16
|
+
init(plugin) {
|
|
17
|
+
this.config = plugin.config;
|
|
18
|
+
this.context = plugin.context;
|
|
19
|
+
}
|
|
20
|
+
async loadModels() {
|
|
21
|
+
await Promise.all([
|
|
22
|
+
this.load("asset", this.assetModels),
|
|
23
|
+
this.load("device", this.deviceModels),
|
|
24
|
+
this.load("measure", this.measureModels),
|
|
25
|
+
]);
|
|
26
|
+
await this.sdk.collection.refresh(this.config.adminIndex, InternalCollection_1.InternalCollection.MODELS);
|
|
27
|
+
}
|
|
28
|
+
registerAsset(engineGroup, model, measures, metadataMappings = {}, defaultMetadata = {}) {
|
|
29
|
+
if (kuzzle_1.Inflector.pascalCase(model) !== model) {
|
|
30
|
+
throw new kuzzle_1.PluginImplementationError(`Asset model "${model}" must be PascalCase`);
|
|
31
|
+
}
|
|
32
|
+
this.assetModels.push({
|
|
33
|
+
asset: { defaultMetadata, measures, metadataMappings, model },
|
|
34
|
+
engineGroup,
|
|
35
|
+
type: "asset",
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
registerDevice(model, measures, metadataMappings = {}, defaultMetadata = {}) {
|
|
39
|
+
if (kuzzle_1.Inflector.pascalCase(model) !== model) {
|
|
40
|
+
throw new kuzzle_1.PluginImplementationError(`Device model "${model}" must be PascalCase`);
|
|
41
|
+
}
|
|
42
|
+
this.deviceModels.push({
|
|
43
|
+
device: { defaultMetadata, measures, metadataMappings, model },
|
|
44
|
+
type: "device",
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
registerMeasure(type, measureDefinition) {
|
|
48
|
+
this.measureModels.push({
|
|
49
|
+
measure: { type, valuesMappings: measureDefinition.valuesMappings },
|
|
50
|
+
type: "measure",
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async load(type, models) {
|
|
54
|
+
const documents = models.map((model) => {
|
|
55
|
+
return {
|
|
56
|
+
_id: model_1.ModelSerializer.id(type, model),
|
|
57
|
+
body: model,
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
const modelTitles = models.map((model) => model_1.ModelSerializer.title(type, model));
|
|
61
|
+
await this.sdk.document.mCreateOrReplace(this.config.adminIndex, InternalCollection_1.InternalCollection.MODELS, documents, { strict: true });
|
|
62
|
+
this.context.log.info(`Successfully load "${type}" models: ${modelTitles.join(", ")}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.ModelsRegister = ModelsRegister;
|
|
66
|
+
//# sourceMappingURL=ModelsRegister.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelsRegister.js","sourceRoot":"","sources":["../../../../lib/core/registers/ModelsRegister.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { KDocument } from "kuzzle";
|
|
2
|
+
import { DeviceManagerPlugin } from "../../core";
|
|
3
|
+
import { AssetHistoryEvent } from "./types/AssetHistoryContent";
|
|
4
|
+
import { AssetContent } from "./types/AssetContent";
|
|
5
|
+
export declare class AssetHistoryService {
|
|
6
|
+
private context;
|
|
7
|
+
private config;
|
|
8
|
+
private get sdk();
|
|
9
|
+
constructor(plugin: DeviceManagerPlugin);
|
|
10
|
+
add<TAssetHistoryEvent extends AssetHistoryEvent>(engineId: string, event: TAssetHistoryEvent, asset: KDocument<AssetContent>): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetHistoryService = void 0;
|
|
4
|
+
const core_1 = require("../../core");
|
|
5
|
+
const shared_1 = require("../shared");
|
|
6
|
+
class AssetHistoryService {
|
|
7
|
+
get sdk() {
|
|
8
|
+
return this.context.accessors.sdk;
|
|
9
|
+
}
|
|
10
|
+
constructor(plugin) {
|
|
11
|
+
this.context = plugin.context;
|
|
12
|
+
this.config = plugin.config;
|
|
13
|
+
(0, shared_1.onAsk)("ask:device-manager:asset:history:add", async ({ engineId, event, asset }) => this.add(engineId, event, asset));
|
|
14
|
+
}
|
|
15
|
+
async add(engineId, event, asset) {
|
|
16
|
+
await this.sdk.document.create(engineId, core_1.InternalCollection.ASSETS_HISTORY, {
|
|
17
|
+
asset: asset._source,
|
|
18
|
+
event,
|
|
19
|
+
id: asset._id,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.AssetHistoryService = AssetHistoryService;
|
|
24
|
+
//# sourceMappingURL=AssetHistoryService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetHistoryService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetHistoryService.ts"],"names":[],"mappings":";;;AAEA,qCAIoB;AACpB,sCAAkC;AASlC,MAAa,mBAAmB;IAI9B,IAAY,GAAG;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;IACpC,CAAC;IAED,YAAY,MAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,IAAA,cAAK,EACH,sCAAsC,EACtC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,KAAyB,EACzB,KAA8B;QAE9B,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC5B,QAAQ,EACR,yBAAkB,CAAC,cAAc,EACjC;YACE,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,KAAK;YACL,EAAE,EAAE,KAAK,CAAC,GAAG;SACd,CACF,CAAC;IACJ,CAAC;CACF;AAjCD,kDAiCC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetModule = void 0;
|
|
4
|
+
const Module_1 = require("../shared/Module");
|
|
5
|
+
const AssetHistoryService_1 = require("./AssetHistoryService");
|
|
6
|
+
const AssetsController_1 = require("./AssetsController");
|
|
7
|
+
const AssetService_1 = require("./AssetService");
|
|
8
|
+
const RoleAssetsAdmin_1 = require("./roles/RoleAssetsAdmin");
|
|
9
|
+
const RoleAssetsReader_1 = require("./roles/RoleAssetsReader");
|
|
10
|
+
class AssetModule extends Module_1.Module {
|
|
11
|
+
async init() {
|
|
12
|
+
this.assetHistoryService = new AssetHistoryService_1.AssetHistoryService(this.plugin);
|
|
13
|
+
this.assetService = new AssetService_1.AssetService(this.plugin, this.assetHistoryService);
|
|
14
|
+
this.assetController = new AssetsController_1.AssetsController(this.assetService);
|
|
15
|
+
this.plugin.api["device-manager/assets"] = this.assetController.definition;
|
|
16
|
+
this.plugin.roles.push(RoleAssetsAdmin_1.RoleAssetsAdmin);
|
|
17
|
+
this.plugin.roles.push(RoleAssetsReader_1.RoleAssetsReader);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.AssetModule = AssetModule;
|
|
21
|
+
//# sourceMappingURL=AssetModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetModule.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetModule.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAE1C,+DAA4D;AAC5D,yDAAsD;AACtD,iDAA8C;AAC9C,6DAA0D;AAC1D,+DAA4D;AAE5D,MAAa,WAAY,SAAQ,eAAM;IAK9B,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAE3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAe,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAgB,CAAC,CAAC;IAC3C,CAAC;CACF;AAfD,kCAeC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { JSONObject, KDocument, KHit, SearchResult, User } from "kuzzle";
|
|
2
|
+
import { MeasureContent } from "../measure/";
|
|
3
|
+
import { Metadata } from "../shared";
|
|
4
|
+
import { DeviceManagerPlugin } from "../../core";
|
|
5
|
+
import { AssetContent } from "./types/AssetContent";
|
|
6
|
+
import { AssetHistoryService } from "./AssetHistoryService";
|
|
7
|
+
export declare class AssetService {
|
|
8
|
+
private context;
|
|
9
|
+
private config;
|
|
10
|
+
private assetHistoryService;
|
|
11
|
+
private get sdk();
|
|
12
|
+
private get app();
|
|
13
|
+
private get impersonatedSdk();
|
|
14
|
+
constructor(plugin: DeviceManagerPlugin, assetHistoryService: AssetHistoryService);
|
|
15
|
+
/**
|
|
16
|
+
* Returns measures history for an asset
|
|
17
|
+
*
|
|
18
|
+
* @param engineId Engine ID
|
|
19
|
+
* @param assetId Asset ID
|
|
20
|
+
* @param options.size Number of measures to return
|
|
21
|
+
* @param options.startAt Returns measures starting from this date (ISO8601)
|
|
22
|
+
* @param options.endAt Returns measures until this date (ISO8601)
|
|
23
|
+
*/
|
|
24
|
+
getMeasureHistory(engineId: string, assetId: string, { size, startAt, endAt, }: {
|
|
25
|
+
size?: number;
|
|
26
|
+
startAt?: string;
|
|
27
|
+
endAt?: string;
|
|
28
|
+
}): Promise<KDocument<MeasureContent>[]>;
|
|
29
|
+
get(engineId: string, assetId: string): Promise<KDocument<AssetContent>>;
|
|
30
|
+
/**
|
|
31
|
+
* Updates an asset metadata
|
|
32
|
+
*/
|
|
33
|
+
update(user: User, engineId: string, assetId: string, metadata: Metadata, { refresh }: {
|
|
34
|
+
refresh: any;
|
|
35
|
+
}): Promise<KDocument<AssetContent>>;
|
|
36
|
+
create(user: User, engineId: string, model: string, reference: string, metadata: JSONObject, { refresh }: {
|
|
37
|
+
refresh: any;
|
|
38
|
+
}): Promise<KDocument<AssetContent>>;
|
|
39
|
+
delete(user: User, engineId: string, assetId: string, { refresh, strict }: {
|
|
40
|
+
refresh: any;
|
|
41
|
+
strict: boolean;
|
|
42
|
+
}): Promise<void>;
|
|
43
|
+
search(engineId: string, searchBody: JSONObject, { from, size, scroll, lang, }: {
|
|
44
|
+
from?: number;
|
|
45
|
+
size?: number;
|
|
46
|
+
scroll?: string;
|
|
47
|
+
lang?: string;
|
|
48
|
+
}): Promise<SearchResult<KHit<AssetContent>>>;
|
|
49
|
+
private getEngine;
|
|
50
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
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.AssetService = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const kuzzle_1 = require("kuzzle");
|
|
9
|
+
const shared_1 = require("../shared");
|
|
10
|
+
const core_1 = require("../../core");
|
|
11
|
+
const AssetSerializer_1 = require("./model/AssetSerializer");
|
|
12
|
+
class AssetService {
|
|
13
|
+
get sdk() {
|
|
14
|
+
return this.context.accessors.sdk;
|
|
15
|
+
}
|
|
16
|
+
get app() {
|
|
17
|
+
return global.app;
|
|
18
|
+
}
|
|
19
|
+
get impersonatedSdk() {
|
|
20
|
+
return (user) => this.sdk.as(user, { checkRights: false });
|
|
21
|
+
}
|
|
22
|
+
constructor(plugin, assetHistoryService) {
|
|
23
|
+
this.context = plugin.context;
|
|
24
|
+
this.config = plugin.config;
|
|
25
|
+
this.assetHistoryService = assetHistoryService;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns measures history for an asset
|
|
29
|
+
*
|
|
30
|
+
* @param engineId Engine ID
|
|
31
|
+
* @param assetId Asset ID
|
|
32
|
+
* @param options.size Number of measures to return
|
|
33
|
+
* @param options.startAt Returns measures starting from this date (ISO8601)
|
|
34
|
+
* @param options.endAt Returns measures until this date (ISO8601)
|
|
35
|
+
*/
|
|
36
|
+
async getMeasureHistory(engineId, assetId, { size = 25, startAt, endAt, }) {
|
|
37
|
+
await this.get(engineId, assetId);
|
|
38
|
+
const query = {
|
|
39
|
+
range: {
|
|
40
|
+
measuredAt: {
|
|
41
|
+
gte: 0,
|
|
42
|
+
lte: Number.MAX_SAFE_INTEGER,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
if (startAt) {
|
|
47
|
+
query.range.measuredAt.gte = new Date(startAt).getTime();
|
|
48
|
+
}
|
|
49
|
+
if (endAt) {
|
|
50
|
+
query.range.measuredAt.lte = new Date(endAt).getTime();
|
|
51
|
+
}
|
|
52
|
+
const sort = { measuredAt: "desc" };
|
|
53
|
+
const measures = await this.sdk.document.search(engineId, "measures", { query, sort }, { size: size || 25 });
|
|
54
|
+
return measures.hits;
|
|
55
|
+
}
|
|
56
|
+
async get(engineId, assetId) {
|
|
57
|
+
const asset = await this.sdk.document.get(engineId, core_1.InternalCollection.ASSETS, assetId);
|
|
58
|
+
return asset;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Updates an asset metadata
|
|
62
|
+
*/
|
|
63
|
+
async update(user, engineId, assetId, metadata, { refresh }) {
|
|
64
|
+
return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
|
|
65
|
+
const asset = await this.get(engineId, assetId);
|
|
66
|
+
const updatedPayload = await this.app.trigger("device-manager:asset:update:before", { asset, metadata });
|
|
67
|
+
const updatedAsset = await this.impersonatedSdk(user).document.update(engineId, core_1.InternalCollection.ASSETS, assetId, { metadata: updatedPayload.metadata }, { refresh, source: true });
|
|
68
|
+
await this.assetHistoryService.add(engineId, {
|
|
69
|
+
metadata: {
|
|
70
|
+
names: Object.keys(updatedPayload.metadata),
|
|
71
|
+
},
|
|
72
|
+
name: "metadata",
|
|
73
|
+
}, updatedAsset);
|
|
74
|
+
await this.app.trigger("device-manager:asset:update:after", {
|
|
75
|
+
asset: updatedAsset,
|
|
76
|
+
metadata: updatedPayload.metadata,
|
|
77
|
+
});
|
|
78
|
+
return updatedAsset;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async create(user, engineId, model, reference, metadata, { refresh }) {
|
|
82
|
+
const assetId = AssetSerializer_1.AssetSerializer.id(model, reference);
|
|
83
|
+
return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
|
|
84
|
+
const engine = await this.getEngine(engineId);
|
|
85
|
+
const assetModel = await (0, shared_1.ask)("ask:device-manager:model:asset:get", { engineGroup: engine.group, model });
|
|
86
|
+
const assetMetadata = {};
|
|
87
|
+
for (const metadataName of Object.keys(assetModel.asset.metadataMappings)) {
|
|
88
|
+
assetMetadata[metadataName] = null;
|
|
89
|
+
}
|
|
90
|
+
for (const [metadataName, metadataValue] of Object.entries(assetModel.asset.defaultMetadata)) {
|
|
91
|
+
lodash_1.default.set(assetMetadata, metadataName, metadataValue);
|
|
92
|
+
}
|
|
93
|
+
const measures = {};
|
|
94
|
+
for (const { name } of assetModel.asset.measures) {
|
|
95
|
+
measures[name] = null;
|
|
96
|
+
}
|
|
97
|
+
const asset = await this.impersonatedSdk(user).document.create(engineId, core_1.InternalCollection.ASSETS, {
|
|
98
|
+
linkedDevices: [],
|
|
99
|
+
measures,
|
|
100
|
+
metadata: { ...assetMetadata, ...metadata },
|
|
101
|
+
model,
|
|
102
|
+
reference,
|
|
103
|
+
}, assetId, { refresh });
|
|
104
|
+
await this.assetHistoryService.add(engineId, {
|
|
105
|
+
metadata: {
|
|
106
|
+
names: Object.keys(asset._source.metadata),
|
|
107
|
+
},
|
|
108
|
+
name: "metadata",
|
|
109
|
+
}, asset);
|
|
110
|
+
return asset;
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
async delete(user, engineId, assetId, { refresh, strict }) {
|
|
114
|
+
return (0, shared_1.lock)(`asset:${engineId}:${assetId}`, async () => {
|
|
115
|
+
const asset = await this.get(engineId, assetId);
|
|
116
|
+
if (strict && asset._source.linkedDevices.length !== 0) {
|
|
117
|
+
throw new kuzzle_1.BadRequestError(`Asset "${assetId}" is still linked to devices.`);
|
|
118
|
+
}
|
|
119
|
+
for (const { _id: deviceId } of asset._source.linkedDevices) {
|
|
120
|
+
await (0, shared_1.ask)("ask:device-manager:device:unlink-asset", { deviceId, user });
|
|
121
|
+
}
|
|
122
|
+
await this.sdk.document.delete(engineId, core_1.InternalCollection.ASSETS, assetId, {
|
|
123
|
+
refresh,
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
async search(engineId, searchBody, { from, size, scroll, lang, }) {
|
|
128
|
+
const result = await this.sdk.document.search(engineId, core_1.InternalCollection.ASSETS, searchBody, { from, lang, scroll, size });
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
async getEngine(engineId) {
|
|
132
|
+
const engine = await this.sdk.document.get(this.config.adminIndex, core_1.InternalCollection.CONFIG, `engine-device-manager--${engineId}`);
|
|
133
|
+
return engine._source.engine;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.AssetService = AssetService;
|
|
137
|
+
//# sourceMappingURL=AssetService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ControllerDefinition, KuzzleRequest } from "kuzzle";
|
|
2
|
+
import { AssetService } from "./AssetService";
|
|
3
|
+
import { ApiAssetCreateResult, ApiAssetDeleteResult, ApiAssetGetMeasuresResult, ApiAssetGetResult, ApiAssetSearchResult, ApiAssetUpdateResult } from "./types/AssetApi";
|
|
4
|
+
export declare class AssetsController {
|
|
5
|
+
definition: ControllerDefinition;
|
|
6
|
+
private assetService;
|
|
7
|
+
constructor(assetService: AssetService);
|
|
8
|
+
get(request: KuzzleRequest): Promise<ApiAssetGetResult>;
|
|
9
|
+
update(request: KuzzleRequest): Promise<ApiAssetUpdateResult>;
|
|
10
|
+
create(request: KuzzleRequest): Promise<ApiAssetCreateResult>;
|
|
11
|
+
delete(request: KuzzleRequest): Promise<ApiAssetDeleteResult>;
|
|
12
|
+
search(request: KuzzleRequest): Promise<ApiAssetSearchResult>;
|
|
13
|
+
getMeasures(request: KuzzleRequest): Promise<ApiAssetGetMeasuresResult>;
|
|
14
|
+
}
|