@fastybird/smart-panel-backend 1.1.0-alpha.3 → 1.1.0-alpha.30
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/app.module.js +8 -0
- package/dist/app.module.js.map +1 -1
- package/dist/common/filters/conflict-exception.filter.d.ts +6 -0
- package/dist/common/filters/conflict-exception.filter.js +59 -0
- package/dist/common/filters/conflict-exception.filter.js.map +1 -0
- package/dist/common/filters/global-error.filter.js +1 -4
- package/dist/common/filters/global-error.filter.js.map +1 -1
- package/dist/common/filters/global-filters.d.ts +3 -0
- package/dist/common/filters/global-filters.js +22 -0
- package/dist/common/filters/global-filters.js.map +1 -0
- package/dist/common/filters/unprocessable-entity-exception.filter.d.ts +1 -0
- package/dist/common/filters/unprocessable-entity-exception.filter.js +15 -3
- package/dist/common/filters/unprocessable-entity-exception.filter.js.map +1 -1
- package/dist/dataSource.js +1 -0
- package/dist/dataSource.js.map +1 -1
- package/dist/main.js +2 -7
- package/dist/main.js.map +1 -1
- package/dist/migrations/1000000000026-AddHardwareInputCategories.d.ts +7 -0
- package/dist/migrations/1000000000026-AddHardwareInputCategories.js +364 -0
- package/dist/migrations/1000000000026-AddHardwareInputCategories.js.map +1 -0
- package/dist/modules/devices/controllers/channels.controller.d.ts +5 -1
- package/dist/modules/devices/controllers/channels.controller.js +34 -2
- package/dist/modules/devices/controllers/channels.controller.js.map +1 -1
- package/dist/modules/devices/controllers/channels.properties.controller.js +21 -4
- package/dist/modules/devices/controllers/channels.properties.controller.js.map +1 -1
- package/dist/modules/devices/controllers/devices.channels.controller.d.ts +5 -1
- package/dist/modules/devices/controllers/devices.channels.controller.js +38 -2
- package/dist/modules/devices/controllers/devices.channels.controller.js.map +1 -1
- package/dist/modules/devices/controllers/devices.channels.properties.controller.js +21 -4
- package/dist/modules/devices/controllers/devices.channels.properties.controller.js.map +1 -1
- package/dist/modules/devices/devices.constants.d.ts +6 -0
- package/dist/modules/devices/devices.constants.js +6 -0
- package/dist/modules/devices/devices.constants.js.map +1 -1
- package/dist/modules/devices/devices.module.js +20 -0
- package/dist/modules/devices/devices.module.js.map +1 -1
- package/dist/modules/devices/devices.openapi.d.ts +3 -1
- package/dist/modules/devices/devices.openapi.js +7 -0
- package/dist/modules/devices/devices.openapi.js.map +1 -1
- package/dist/modules/devices/dto/channel-input-occurrence.dto.d.ts +10 -0
- package/dist/modules/devices/dto/channel-input-occurrence.dto.js +99 -0
- package/dist/modules/devices/dto/channel-input-occurrence.dto.js.map +1 -0
- package/dist/modules/devices/models/channel-input-capabilities.model.d.ts +20 -0
- package/dist/modules/devices/models/channel-input-capabilities.model.js +111 -0
- package/dist/modules/devices/models/channel-input-capabilities.model.js.map +1 -0
- package/dist/modules/devices/models/channel-input-occurrence.model.d.ts +22 -0
- package/dist/modules/devices/models/channel-input-occurrence.model.js +154 -0
- package/dist/modules/devices/models/channel-input-occurrence.model.js.map +1 -0
- package/dist/modules/devices/services/channel-input-deduplication.service.d.ts +17 -0
- package/dist/modules/devices/services/channel-input-deduplication.service.js +88 -0
- package/dist/modules/devices/services/channel-input-deduplication.service.js.map +1 -0
- package/dist/modules/devices/services/channel-input-occurrences.service.d.ts +21 -0
- package/dist/modules/devices/services/channel-input-occurrences.service.js +163 -0
- package/dist/modules/devices/services/channel-input-occurrences.service.js.map +1 -0
- package/dist/modules/devices/services/channels.properties.service.d.ts +31 -3
- package/dist/modules/devices/services/channels.properties.service.js +346 -51
- package/dist/modules/devices/services/channels.properties.service.js.map +1 -1
- package/dist/modules/devices/services/channels.service.js +42 -38
- package/dist/modules/devices/services/channels.service.js.map +1 -1
- package/dist/modules/devices/services/command-latency-trace-collector.service.d.ts +101 -0
- package/dist/modules/devices/services/command-latency-trace-collector.service.js +451 -0
- package/dist/modules/devices/services/command-latency-trace-collector.service.js.map +1 -0
- package/dist/modules/devices/services/device-structure-lock.service.d.ts +10 -2
- package/dist/modules/devices/services/device-structure-lock.service.js +86 -7
- package/dist/modules/devices/services/device-structure-lock.service.js.map +1 -1
- package/dist/modules/devices/services/devices.service.js +37 -33
- package/dist/modules/devices/services/devices.service.js.map +1 -1
- package/dist/modules/devices/services/module-reset.service.d.ts +3 -1
- package/dist/modules/devices/services/module-reset.service.js +21 -16
- package/dist/modules/devices/services/module-reset.service.js.map +1 -1
- package/dist/modules/devices/services/property-command-dispatch.service.d.ts +45 -0
- package/dist/modules/devices/services/property-command-dispatch.service.js +227 -0
- package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -0
- package/dist/modules/devices/services/property-command-window.service.d.ts +71 -0
- package/dist/modules/devices/services/property-command-window.service.js +206 -0
- package/dist/modules/devices/services/property-command-window.service.js.map +1 -0
- package/dist/modules/devices/services/property-command.service.d.ts +20 -3
- package/dist/modules/devices/services/property-command.service.js +56 -10
- package/dist/modules/devices/services/property-command.service.js.map +1 -1
- package/dist/modules/devices/services/property-metadata.service.d.ts +31 -0
- package/dist/modules/devices/services/property-metadata.service.js +160 -0
- package/dist/modules/devices/services/property-metadata.service.js.map +1 -0
- package/dist/modules/devices/services/property-state-coordinator.service.d.ts +4 -0
- package/dist/modules/devices/services/property-state-coordinator.service.js +35 -0
- package/dist/modules/devices/services/property-state-coordinator.service.js.map +1 -0
- package/dist/modules/devices/services/property-value-lock.service.d.ts +3 -1
- package/dist/modules/devices/services/property-value-lock.service.js +13 -2
- package/dist/modules/devices/services/property-value-lock.service.js.map +1 -1
- package/dist/modules/devices/services/property-value.service.d.ts +1 -0
- package/dist/modules/devices/services/property-value.service.js +4 -0
- package/dist/modules/devices/services/property-value.service.js.map +1 -1
- package/dist/modules/devices/utils/schema.utils.js +1 -1
- package/dist/modules/devices/utils/schema.utils.js.map +1 -1
- package/dist/modules/platform/platforms/raspberry.platform.js +5 -10
- package/dist/modules/platform/platforms/raspberry.platform.js.map +1 -1
- package/dist/modules/platform/services/platform.service.d.ts +13 -4
- package/dist/modules/platform/services/platform.service.js +57 -35
- package/dist/modules/platform/services/platform.service.js.map +1 -1
- package/dist/modules/remote-access/dto/update-config.dto.js +5 -0
- package/dist/modules/remote-access/dto/update-config.dto.js.map +1 -1
- package/dist/modules/remote-access/validators/is-remote-access-url.validator.js +5 -2
- package/dist/modules/remote-access/validators/is-remote-access-url.validator.js.map +1 -1
- package/dist/modules/system/scripts/update-worker.sh +1168 -61
- package/dist/modules/system/services/privileged-worker.service.d.ts +13 -0
- package/dist/modules/system/services/privileged-worker.service.js +192 -31
- package/dist/modules/system/services/privileged-worker.service.js.map +1 -1
- package/dist/modules/system/services/system.service.d.ts +2 -0
- package/dist/modules/system/services/system.service.js +22 -1
- package/dist/modules/system/services/system.service.js.map +1 -1
- package/dist/modules/system/services/update-executor.service.d.ts +20 -2
- package/dist/modules/system/services/update-executor.service.js +272 -26
- package/dist/modules/system/services/update-executor.service.js.map +1 -1
- package/dist/modules/websocket/gateway/websocket.gateway.d.ts +4 -1
- package/dist/modules/websocket/gateway/websocket.gateway.js +28 -5
- package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.d.ts +143 -0
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.js +523 -0
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.js.map +1 -0
- package/dist/modules/websocket/websocket.module.js +9 -1
- package/dist/modules/websocket/websocket.module.js.map +1 -1
- package/dist/plugins/devices-home-assistant/devices-home-assistant.openapi.d.ts +2 -2
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.d.ts +6 -1
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js +16 -1
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js.map +1 -1
- package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.d.ts +1 -0
- package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.js +11 -0
- package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.js.map +1 -1
- package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.d.ts +19 -0
- package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.js +51 -0
- package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.js.map +1 -0
- package/dist/plugins/devices-home-assistant/mappings/definitions/entity-mappings.yaml +56 -7
- package/dist/plugins/devices-home-assistant/models/mapping-preview.model.d.ts +1 -0
- package/dist/plugins/devices-home-assistant/models/mapping-preview.model.js +11 -0
- package/dist/plugins/devices-home-assistant/models/mapping-preview.model.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/device-adoption.service.js +17 -0
- package/dist/plugins/devices-home-assistant/services/device-adoption.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.d.ts +27 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.js +271 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.js.map +1 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.d.ts +2 -2
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +33 -14
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/mapping-preview.service.js +24 -4
- package/dist/plugins/devices-home-assistant/services/mapping-preview.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.d.ts +4 -1
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +84 -5
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/wizard.service.js +1 -0
- package/dist/plugins/devices-home-assistant/services/wizard.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/utils/ha-event.utils.d.ts +2 -0
- package/dist/plugins/devices-home-assistant/utils/ha-event.utils.js +50 -0
- package/dist/plugins/devices-home-assistant/utils/ha-event.utils.js.map +1 -0
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.d.ts +4 -1
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +39 -4
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/base.mapper.js +30 -6
- package/dist/plugins/devices-homekit/mappers/base.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/button.mapper.d.ts +15 -0
- package/dist/plugins/devices-homekit/mappers/button.mapper.js +143 -0
- package/dist/plugins/devices-homekit/mappers/button.mapper.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/characteristic-write.d.ts +2 -0
- package/dist/plugins/devices-homekit/mappers/characteristic-write.js +17 -0
- package/dist/plugins/devices-homekit/mappers/characteristic-write.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +17 -1
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.d.ts +7 -0
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js +96 -84
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js.map +1 -1
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.d.ts +5 -1
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js +42 -0
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js.map +1 -1
- package/dist/plugins/devices-homey/mappings/definitions/channels.yaml +50 -0
- package/dist/plugins/devices-homey/mappings/definitions/devices.yaml +18 -0
- package/dist/plugins/devices-homey/mappings/definitions/properties.yaml +55 -0
- package/dist/plugins/devices-homey/mappings/device-support.js +10 -0
- package/dist/plugins/devices-homey/mappings/device-support.js.map +1 -1
- package/dist/plugins/devices-homey/mappings/mapping-loader.service.d.ts +1 -0
- package/dist/plugins/devices-homey/mappings/mapping-loader.service.js +66 -8
- package/dist/plugins/devices-homey/mappings/mapping-loader.service.js.map +1 -1
- package/dist/plugins/devices-homey/models/inventory.model.d.ts +2 -1
- package/dist/plugins/devices-homey/models/inventory.model.js +1 -0
- package/dist/plugins/devices-homey/models/inventory.model.js.map +1 -1
- package/dist/plugins/devices-homey/models/mapping-preview.model.d.ts +1 -0
- package/dist/plugins/devices-homey/models/mapping-preview.model.js +1 -0
- package/dist/plugins/devices-homey/models/mapping-preview.model.js.map +1 -1
- package/dist/plugins/devices-homey/services/homey-mapping-preview.service.js +7 -0
- package/dist/plugins/devices-homey/services/homey-mapping-preview.service.js.map +1 -1
- package/dist/plugins/devices-homey/services/homey-synchronizer.service.d.ts +3 -1
- package/dist/plugins/devices-homey/services/homey-synchronizer.service.js +37 -6
- package/dist/plugins/devices-homey/services/homey-synchronizer.service.js.map +1 -1
- package/dist/plugins/devices-reterminal/services/reterminal-button.service.d.ts +7 -3
- package/dist/plugins/devices-reterminal/services/reterminal-button.service.js +63 -17
- package/dist/plugins/devices-reterminal/services/reterminal-button.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +36 -3
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +707 -42
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +11 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +100 -10
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js +9 -11
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +2 -0
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/mappings/definitions/inputs.yaml +80 -0
- package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js +7 -1
- package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/mappings/mapping.types.d.ts +6 -3
- package/dist/plugins/devices-shelly-ng/mappings/schema/mapping-schema.json +5 -0
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js +153 -8
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.d.ts +51 -0
- package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.js +549 -0
- package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +14 -2
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +134 -35
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js +3 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.d.ts +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +14 -4
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.d.ts +2 -0
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.js +66 -4
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js +2 -0
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js +7 -0
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/services/device-mapper.service.d.ts +3 -1
- package/dist/plugins/devices-shelly-v1/services/device-mapper.service.js +20 -2
- package/dist/plugins/devices-shelly-v1/services/device-mapper.service.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.d.ts +16 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.js +107 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.js.map +1 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.d.ts +7 -1
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js +98 -3
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js.map +1 -1
- package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.d.ts +17 -0
- package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.js +205 -0
- package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.js.map +1 -0
- package/dist/plugins/devices-third-party/devices-third-party.openapi.d.ts +1 -1
- package/dist/plugins/devices-third-party/devices-third-party.plugin.js +2 -1
- package/dist/plugins/devices-third-party/devices-third-party.plugin.js.map +1 -1
- package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.d.ts +5 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.js +50 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.js.map +1 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.d.ts +8 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.js +81 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.js.map +1 -0
- package/dist/plugins/devices-third-party/platforms/third-party-device.platform.js +19 -4
- package/dist/plugins/devices-third-party/platforms/third-party-device.platform.js.map +1 -1
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.d.ts +2 -0
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js +57 -0
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.d.ts +3 -0
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.js +41 -5
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/interfaces/zigbee2mqtt.interface.d.ts +7 -1
- package/dist/plugins/devices-zigbee2mqtt/mappings/config-driven.converter.js +16 -15
- package/dist/plugins/devices-zigbee2mqtt/mappings/config-driven.converter.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/mappings/definitions/remotes.yaml +505 -74
- package/dist/plugins/devices-zigbee2mqtt/mappings/schema/mapping-schema.json +3 -3
- package/dist/plugins/devices-zigbee2mqtt/mappings/transformers/transformer.types.d.ts +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.d.ts +8 -2
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js +6 -5
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.js +18 -11
- package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.d.ts +9 -3
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js +166 -3
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js +5 -2
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.d.ts +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js +44 -4
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +17 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +147 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +15 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +98 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.d.ts +9 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js +94 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.d.ts +9 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js +92 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.d.ts +7 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js +48 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +42 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +352 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.d.ts +24 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js +27 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.d.ts +8 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js +19 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.d.ts +4 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js +20 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.d.ts +21 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js +135 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/scripts/cloudflared-setup.sh +185 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +82 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +507 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +10 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +37 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.d.ts +38 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js +147 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +15 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +67 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +8 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +46 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.d.ts +27 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js +139 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js.map +1 -0
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +1 -0
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +26 -10
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +6 -1
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +28 -3
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +19 -0
- package/dist/plugins/remote-access-tailscale/models/status.model.js +158 -1
- package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +3 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +4 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +13 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +27 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +2 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +1 -1
- package/dist/plugins/remote-access-tailscale/scripts/tailscale-setup.sh +61 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +9 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +12 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +1 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +27 -2
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +31 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +316 -30
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +8 -3
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +39 -12
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +14 -5
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +51 -16
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
- package/dist/plugins/scenes-local/platforms/local-scene.platform.d.ts +3 -1
- package/dist/plugins/scenes-local/platforms/local-scene.platform.js +12 -7
- package/dist/plugins/scenes-local/platforms/local-scene.platform.js.map +1 -1
- package/dist/plugins/simulator/controllers/simulator.controller.d.ts +8 -2
- package/dist/plugins/simulator/controllers/simulator.controller.js +102 -2
- package/dist/plugins/simulator/controllers/simulator.controller.js.map +1 -1
- package/dist/plugins/simulator/dto/simulate-occurrence.dto.d.ts +12 -0
- package/dist/plugins/simulator/dto/simulate-occurrence.dto.js +122 -0
- package/dist/plugins/simulator/dto/simulate-occurrence.dto.js.map +1 -0
- package/dist/plugins/simulator/models/simulator-response.model.d.ts +12 -0
- package/dist/plugins/simulator/models/simulator-response.model.js +84 -1
- package/dist/plugins/simulator/models/simulator-response.model.js.map +1 -1
- package/dist/plugins/simulator/scenarios/definitions/small-apartment.yaml +78 -0
- package/dist/plugins/simulator/services/scenario-executor.service.js +3 -1
- package/dist/plugins/simulator/services/scenario-executor.service.js.map +1 -1
- package/dist/plugins/simulator/services/simulation.service.js +10 -1
- package/dist/plugins/simulator/services/simulation.service.js.map +1 -1
- package/dist/plugins/simulator/simulator.openapi.d.ts +3 -2
- package/dist/plugins/simulator/simulator.openapi.js +5 -0
- package/dist/plugins/simulator/simulator.openapi.js.map +1 -1
- package/dist/plugins/simulator/simulators/device-simulator.interface.d.ts +2 -0
- package/dist/plugins/simulator/simulators/device-simulator.interface.js +83 -0
- package/dist/plugins/simulator/simulators/device-simulator.interface.js.map +1 -1
- package/dist/plugins/simulator/simulators/index.d.ts +1 -0
- package/dist/plugins/simulator/simulators/index.js +1 -0
- package/dist/plugins/simulator/simulators/index.js.map +1 -1
- package/dist/plugins/simulator/simulators/input-controller.simulator.d.ts +10 -0
- package/dist/plugins/simulator/simulators/input-controller.simulator.js +57 -0
- package/dist/plugins/simulator/simulators/input-controller.simulator.js.map +1 -0
- package/dist/plugins/simulator/simulators/lighting.simulator.js +1 -0
- package/dist/plugins/simulator/simulators/lighting.simulator.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/climate-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js +6 -3
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/covers-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js +6 -3
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js +7 -4
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js +11 -5
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.js +8 -5
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.js.map +1 -1
- package/dist/spec/channels.d.ts +51 -1
- package/dist/spec/channels.js +64 -1
- package/dist/spec/channels.js.map +1 -1
- package/dist/spec/devices.d.ts +155 -2
- package/dist/spec/devices.js +161 -2
- package/dist/spec/devices.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CreateChannelInputOccurrenceDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
16
|
+
let CreateChannelInputOccurrenceDto = class CreateChannelInputOccurrenceDto {
|
|
17
|
+
};
|
|
18
|
+
exports.CreateChannelInputOccurrenceDto = CreateChannelInputOccurrenceDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, swagger_1.ApiProperty)({
|
|
21
|
+
description: 'Unique identifier of the device reporting the input occurrence',
|
|
22
|
+
format: 'uuid',
|
|
23
|
+
}),
|
|
24
|
+
(0, class_validator_1.IsUUID)('4'),
|
|
25
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], CreateChannelInputOccurrenceDto.prototype, "deviceId", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, swagger_1.ApiProperty)({
|
|
31
|
+
description: 'Unique identifier of the input channel triggering the occurrence',
|
|
32
|
+
format: 'uuid',
|
|
33
|
+
}),
|
|
34
|
+
(0, class_validator_1.IsUUID)('4'),
|
|
35
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
36
|
+
(0, class_transformer_1.Expose)(),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], CreateChannelInputOccurrenceDto.prototype, "channelId", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, swagger_1.ApiProperty)({
|
|
41
|
+
description: 'Unique identifier of the channel property representing the input capability',
|
|
42
|
+
format: 'uuid',
|
|
43
|
+
}),
|
|
44
|
+
(0, class_validator_1.IsUUID)('4'),
|
|
45
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
46
|
+
(0, class_transformer_1.Expose)(),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], CreateChannelInputOccurrenceDto.prototype, "propertyId", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, swagger_1.ApiProperty)({
|
|
51
|
+
description: 'Input interaction event type (e.g. press, double_press, long_press, down, up, change)',
|
|
52
|
+
}),
|
|
53
|
+
(0, class_validator_1.IsString)(),
|
|
54
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
55
|
+
(0, class_transformer_1.Expose)(),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], CreateChannelInputOccurrenceDto.prototype, "event", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
60
|
+
description: 'Source timestamp of the event in ISO 8601 string format (if recorded at hardware)',
|
|
61
|
+
}),
|
|
62
|
+
(0, class_validator_1.IsISO8601)(),
|
|
63
|
+
(0, class_validator_1.IsOptional)(),
|
|
64
|
+
(0, class_transformer_1.Expose)(),
|
|
65
|
+
__metadata("design:type", String)
|
|
66
|
+
], CreateChannelInputOccurrenceDto.prototype, "sourceTimestamp", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
69
|
+
description: 'Native sequence counter or packet ID used for transport redelivery deduplication',
|
|
70
|
+
}),
|
|
71
|
+
(0, class_validator_1.IsString)(),
|
|
72
|
+
(0, class_validator_1.IsOptional)(),
|
|
73
|
+
(0, class_transformer_1.Expose)(),
|
|
74
|
+
__metadata("design:type", String)
|
|
75
|
+
], CreateChannelInputOccurrenceDto.prototype, "sourceOccurrenceId", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
78
|
+
description: 'Original native event identifier from provider (e.g. btn_down, single_push)',
|
|
79
|
+
}),
|
|
80
|
+
(0, class_validator_1.IsString)(),
|
|
81
|
+
(0, class_validator_1.IsOptional)(),
|
|
82
|
+
(0, class_transformer_1.Expose)(),
|
|
83
|
+
__metadata("design:type", String)
|
|
84
|
+
], CreateChannelInputOccurrenceDto.prototype, "nativeEventType", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
87
|
+
description: 'Optional structured context data for the occurrence',
|
|
88
|
+
type: 'object',
|
|
89
|
+
additionalProperties: true,
|
|
90
|
+
}),
|
|
91
|
+
(0, class_validator_1.IsObject)(),
|
|
92
|
+
(0, class_validator_1.IsOptional)(),
|
|
93
|
+
(0, class_transformer_1.Expose)(),
|
|
94
|
+
__metadata("design:type", Object)
|
|
95
|
+
], CreateChannelInputOccurrenceDto.prototype, "data", void 0);
|
|
96
|
+
exports.CreateChannelInputOccurrenceDto = CreateChannelInputOccurrenceDto = __decorate([
|
|
97
|
+
(0, swagger_1.ApiSchema)({ name: 'DevicesModuleReqCreateChannelInputOccurrence' })
|
|
98
|
+
], CreateChannelInputOccurrenceDto);
|
|
99
|
+
//# sourceMappingURL=channel-input-occurrence.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-input-occurrence.dto.js","sourceRoot":"","sources":["../../../../src/modules/devices/dto/channel-input-occurrence.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAAgG;AAEhG,6CAA8E;AAMvE,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;CAqE3C,CAAA;AArEY,0EAA+B;AAQ3C;IAPC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,gEAAgE;QAC7E,MAAM,EAAE,MAAM;KACd,CAAC;IACD,IAAA,wBAAM,EAAC,GAAG,CAAC;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;iEACQ;AASjB;IAPC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE,MAAM;KACd,CAAC;IACD,IAAA,wBAAM,EAAC,GAAG,CAAC;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;kEACS;AASlB;IAPC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,6EAA6E;QAC1F,MAAM,EAAE,MAAM;KACd,CAAC;IACD,IAAA,wBAAM,EAAC,GAAG,CAAC;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;mEACU;AAQnB;IANC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,uFAAuF;KACpG,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;8DACK;AAQd;IANC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,mFAAmF;KAChG,CAAC;IACD,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;wEACgB;AAQzB;IANC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,kFAAkF;KAC/F,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;2EACmB;AAQ5B;IANC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,6EAA6E;KAC1F,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;wEACgB;AAUzB;IARC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,QAAQ;QACd,oBAAoB,EAAE,IAAI;KAC1B,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;6DACsB;0CApEnB,+BAA+B;IAD3C,IAAA,mBAAS,EAAC,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC;GACvD,+BAA+B,CAqE3C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseSuccessResponseModel } from '../../api/models/api-response.model';
|
|
2
|
+
import { ChannelCategory, DataTypeType, PermissionType, PropertyCategory } from '../devices.constants';
|
|
3
|
+
export declare class ChannelInputPropertyCapabilityModel {
|
|
4
|
+
id: string;
|
|
5
|
+
category: PropertyCategory;
|
|
6
|
+
permissions: PermissionType[];
|
|
7
|
+
data_type: DataTypeType;
|
|
8
|
+
format: string[] | number[] | null;
|
|
9
|
+
}
|
|
10
|
+
export declare class ChannelInputCapabilitiesModel {
|
|
11
|
+
channel_id: string;
|
|
12
|
+
device_id: string;
|
|
13
|
+
category: ChannelCategory;
|
|
14
|
+
is_input: boolean;
|
|
15
|
+
supported_events: string[];
|
|
16
|
+
properties: ChannelInputPropertyCapabilityModel[];
|
|
17
|
+
}
|
|
18
|
+
export declare class ChannelInputCapabilitiesResponseModel extends BaseSuccessResponseModel<ChannelInputCapabilitiesModel> {
|
|
19
|
+
data: ChannelInputCapabilitiesModel;
|
|
20
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ChannelInputCapabilitiesResponseModel = exports.ChannelInputCapabilitiesModel = exports.ChannelInputPropertyCapabilityModel = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const api_response_model_1 = require("../../api/models/api-response.model");
|
|
16
|
+
const devices_constants_1 = require("../devices.constants");
|
|
17
|
+
let ChannelInputPropertyCapabilityModel = class ChannelInputPropertyCapabilityModel {
|
|
18
|
+
};
|
|
19
|
+
exports.ChannelInputPropertyCapabilityModel = ChannelInputPropertyCapabilityModel;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, swagger_1.ApiProperty)({ description: 'Property unique identifier', format: 'uuid' }),
|
|
22
|
+
(0, class_transformer_1.Expose)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], ChannelInputPropertyCapabilityModel.prototype, "id", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, swagger_1.ApiProperty)({ description: 'Property category', enum: devices_constants_1.PropertyCategory }),
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], ChannelInputPropertyCapabilityModel.prototype, "category", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, swagger_1.ApiProperty)({ description: 'Property permissions', enum: devices_constants_1.PermissionType, isArray: true }),
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
__metadata("design:type", Array)
|
|
34
|
+
], ChannelInputPropertyCapabilityModel.prototype, "permissions", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, swagger_1.ApiProperty)({ description: 'Property data type', enum: devices_constants_1.DataTypeType }),
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], ChannelInputPropertyCapabilityModel.prototype, "data_type", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, swagger_1.ApiProperty)({
|
|
42
|
+
description: 'Permitted format values or enum options (null if unbounded)',
|
|
43
|
+
type: 'array',
|
|
44
|
+
items: { oneOf: [{ type: 'string' }, { type: 'number' }] },
|
|
45
|
+
nullable: true,
|
|
46
|
+
}),
|
|
47
|
+
(0, class_transformer_1.Expose)(),
|
|
48
|
+
__metadata("design:type", Array)
|
|
49
|
+
], ChannelInputPropertyCapabilityModel.prototype, "format", void 0);
|
|
50
|
+
exports.ChannelInputPropertyCapabilityModel = ChannelInputPropertyCapabilityModel = __decorate([
|
|
51
|
+
(0, swagger_1.ApiSchema)({ name: 'DevicesModuleDataChannelInputPropertyCapability' })
|
|
52
|
+
], ChannelInputPropertyCapabilityModel);
|
|
53
|
+
let ChannelInputCapabilitiesModel = class ChannelInputCapabilitiesModel {
|
|
54
|
+
};
|
|
55
|
+
exports.ChannelInputCapabilitiesModel = ChannelInputCapabilitiesModel;
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, swagger_1.ApiProperty)({ description: 'Channel unique identifier', format: 'uuid' }),
|
|
58
|
+
(0, class_transformer_1.Expose)(),
|
|
59
|
+
__metadata("design:type", String)
|
|
60
|
+
], ChannelInputCapabilitiesModel.prototype, "channel_id", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
(0, swagger_1.ApiProperty)({ description: 'Associated device unique identifier', format: 'uuid' }),
|
|
63
|
+
(0, class_transformer_1.Expose)(),
|
|
64
|
+
__metadata("design:type", String)
|
|
65
|
+
], ChannelInputCapabilitiesModel.prototype, "device_id", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, swagger_1.ApiProperty)({ description: 'Channel category', enum: devices_constants_1.ChannelCategory }),
|
|
68
|
+
(0, class_transformer_1.Expose)(),
|
|
69
|
+
__metadata("design:type", String)
|
|
70
|
+
], ChannelInputCapabilitiesModel.prototype, "category", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, swagger_1.ApiProperty)({ description: 'Whether this channel is recognized as a hardware input source', type: 'boolean' }),
|
|
73
|
+
(0, class_transformer_1.Expose)(),
|
|
74
|
+
__metadata("design:type", Boolean)
|
|
75
|
+
], ChannelInputCapabilitiesModel.prototype, "is_input", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, swagger_1.ApiProperty)({
|
|
78
|
+
description: 'Supported interaction events (e.g. press, double_press, long_press, down, up)',
|
|
79
|
+
type: 'array',
|
|
80
|
+
items: { type: 'string' },
|
|
81
|
+
}),
|
|
82
|
+
(0, class_transformer_1.Expose)(),
|
|
83
|
+
__metadata("design:type", Array)
|
|
84
|
+
], ChannelInputCapabilitiesModel.prototype, "supported_events", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, swagger_1.ApiProperty)({
|
|
87
|
+
description: 'Input properties exposed by this channel',
|
|
88
|
+
type: () => [ChannelInputPropertyCapabilityModel],
|
|
89
|
+
}),
|
|
90
|
+
(0, class_transformer_1.Expose)(),
|
|
91
|
+
(0, class_transformer_1.Type)(() => ChannelInputPropertyCapabilityModel),
|
|
92
|
+
__metadata("design:type", Array)
|
|
93
|
+
], ChannelInputCapabilitiesModel.prototype, "properties", void 0);
|
|
94
|
+
exports.ChannelInputCapabilitiesModel = ChannelInputCapabilitiesModel = __decorate([
|
|
95
|
+
(0, swagger_1.ApiSchema)({ name: 'DevicesModuleDataChannelInputCapabilities' })
|
|
96
|
+
], ChannelInputCapabilitiesModel);
|
|
97
|
+
let ChannelInputCapabilitiesResponseModel = class ChannelInputCapabilitiesResponseModel extends api_response_model_1.BaseSuccessResponseModel {
|
|
98
|
+
};
|
|
99
|
+
exports.ChannelInputCapabilitiesResponseModel = ChannelInputCapabilitiesResponseModel;
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, swagger_1.ApiProperty)({
|
|
102
|
+
description: 'The channel input capabilities',
|
|
103
|
+
type: () => ChannelInputCapabilitiesModel,
|
|
104
|
+
}),
|
|
105
|
+
(0, class_transformer_1.Expose)(),
|
|
106
|
+
__metadata("design:type", ChannelInputCapabilitiesModel)
|
|
107
|
+
], ChannelInputCapabilitiesResponseModel.prototype, "data", void 0);
|
|
108
|
+
exports.ChannelInputCapabilitiesResponseModel = ChannelInputCapabilitiesResponseModel = __decorate([
|
|
109
|
+
(0, swagger_1.ApiSchema)({ name: 'DevicesModuleResChannelInputCapabilities' })
|
|
110
|
+
], ChannelInputCapabilitiesResponseModel);
|
|
111
|
+
//# sourceMappingURL=channel-input-capabilities.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-input-capabilities.model.js","sourceRoot":"","sources":["../../../../src/modules/devices/models/channel-input-capabilities.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseSuccessResponseModel } from '../../api/models/api-response.model';
|
|
2
|
+
import { ChannelCategory, DeviceCategory, PropertyCategory } from '../devices.constants';
|
|
3
|
+
export declare class ChannelInputOccurrencePayload {
|
|
4
|
+
id: string;
|
|
5
|
+
deviceId: string;
|
|
6
|
+
channelId: string;
|
|
7
|
+
propertyId: string;
|
|
8
|
+
deviceCategory?: DeviceCategory;
|
|
9
|
+
channelCategory: ChannelCategory;
|
|
10
|
+
propertyCategory: PropertyCategory;
|
|
11
|
+
event: string;
|
|
12
|
+
timestamp: string;
|
|
13
|
+
sourceTimestamp?: string;
|
|
14
|
+
sourceOccurrenceId?: string;
|
|
15
|
+
nativeEventType?: string;
|
|
16
|
+
data?: Record<string, unknown>;
|
|
17
|
+
integration?: string;
|
|
18
|
+
endpoint?: string | null;
|
|
19
|
+
}
|
|
20
|
+
export declare class ChannelInputOccurrenceResponseModel extends BaseSuccessResponseModel<ChannelInputOccurrencePayload> {
|
|
21
|
+
data: ChannelInputOccurrencePayload;
|
|
22
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ChannelInputOccurrenceResponseModel = exports.ChannelInputOccurrencePayload = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const api_response_model_1 = require("../../api/models/api-response.model");
|
|
16
|
+
const devices_constants_1 = require("../devices.constants");
|
|
17
|
+
let ChannelInputOccurrencePayload = class ChannelInputOccurrencePayload {
|
|
18
|
+
};
|
|
19
|
+
exports.ChannelInputOccurrencePayload = ChannelInputOccurrencePayload;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, swagger_1.ApiProperty)({
|
|
22
|
+
description: 'Unique occurrence identifier (UUIDv4)',
|
|
23
|
+
format: 'uuid',
|
|
24
|
+
}),
|
|
25
|
+
(0, class_transformer_1.Expose)(),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], ChannelInputOccurrencePayload.prototype, "id", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, swagger_1.ApiProperty)({
|
|
30
|
+
description: 'Device unique identifier',
|
|
31
|
+
format: 'uuid',
|
|
32
|
+
}),
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], ChannelInputOccurrencePayload.prototype, "deviceId", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, swagger_1.ApiProperty)({
|
|
38
|
+
description: 'Channel unique identifier',
|
|
39
|
+
format: 'uuid',
|
|
40
|
+
}),
|
|
41
|
+
(0, class_transformer_1.Expose)(),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], ChannelInputOccurrencePayload.prototype, "channelId", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, swagger_1.ApiProperty)({
|
|
46
|
+
description: 'Property unique identifier',
|
|
47
|
+
format: 'uuid',
|
|
48
|
+
}),
|
|
49
|
+
(0, class_transformer_1.Expose)(),
|
|
50
|
+
__metadata("design:type", String)
|
|
51
|
+
], ChannelInputOccurrencePayload.prototype, "propertyId", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
54
|
+
description: 'Device category',
|
|
55
|
+
enum: devices_constants_1.DeviceCategory,
|
|
56
|
+
}),
|
|
57
|
+
(0, class_transformer_1.Expose)(),
|
|
58
|
+
__metadata("design:type", String)
|
|
59
|
+
], ChannelInputOccurrencePayload.prototype, "deviceCategory", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, swagger_1.ApiProperty)({
|
|
62
|
+
description: 'Channel category',
|
|
63
|
+
enum: devices_constants_1.ChannelCategory,
|
|
64
|
+
}),
|
|
65
|
+
(0, class_transformer_1.Expose)(),
|
|
66
|
+
__metadata("design:type", String)
|
|
67
|
+
], ChannelInputOccurrencePayload.prototype, "channelCategory", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, swagger_1.ApiProperty)({
|
|
70
|
+
description: 'Property category',
|
|
71
|
+
enum: devices_constants_1.PropertyCategory,
|
|
72
|
+
}),
|
|
73
|
+
(0, class_transformer_1.Expose)(),
|
|
74
|
+
__metadata("design:type", String)
|
|
75
|
+
], ChannelInputOccurrencePayload.prototype, "propertyCategory", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, swagger_1.ApiProperty)({
|
|
78
|
+
description: 'Normalized interaction event (e.g. press, long_press, double_press, triple_press, down, up)',
|
|
79
|
+
example: 'press',
|
|
80
|
+
}),
|
|
81
|
+
(0, class_transformer_1.Expose)(),
|
|
82
|
+
__metadata("design:type", String)
|
|
83
|
+
], ChannelInputOccurrencePayload.prototype, "event", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, swagger_1.ApiProperty)({
|
|
86
|
+
description: 'Server receive timestamp in ISO 8601 format',
|
|
87
|
+
}),
|
|
88
|
+
(0, class_transformer_1.Expose)(),
|
|
89
|
+
__metadata("design:type", String)
|
|
90
|
+
], ChannelInputOccurrencePayload.prototype, "timestamp", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
93
|
+
description: 'Source hardware timestamp when provided by device clock',
|
|
94
|
+
}),
|
|
95
|
+
(0, class_transformer_1.Expose)(),
|
|
96
|
+
__metadata("design:type", String)
|
|
97
|
+
], ChannelInputOccurrencePayload.prototype, "sourceTimestamp", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
100
|
+
description: 'Native sequence counter or packet ID used for transport redelivery deduplication',
|
|
101
|
+
}),
|
|
102
|
+
(0, class_transformer_1.Expose)(),
|
|
103
|
+
__metadata("design:type", String)
|
|
104
|
+
], ChannelInputOccurrencePayload.prototype, "sourceOccurrenceId", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
107
|
+
description: 'Original native event identifier from provider',
|
|
108
|
+
}),
|
|
109
|
+
(0, class_transformer_1.Expose)(),
|
|
110
|
+
__metadata("design:type", String)
|
|
111
|
+
], ChannelInputOccurrencePayload.prototype, "nativeEventType", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
114
|
+
description: 'Optional structured context data (e.g. duration_ms, delta)',
|
|
115
|
+
type: 'object',
|
|
116
|
+
additionalProperties: true,
|
|
117
|
+
}),
|
|
118
|
+
(0, class_transformer_1.Expose)(),
|
|
119
|
+
__metadata("design:type", Object)
|
|
120
|
+
], ChannelInputOccurrencePayload.prototype, "data", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
123
|
+
description: 'Device platform or plugin integration type',
|
|
124
|
+
}),
|
|
125
|
+
(0, class_transformer_1.Expose)(),
|
|
126
|
+
__metadata("design:type", String)
|
|
127
|
+
], ChannelInputOccurrencePayload.prototype, "integration", void 0);
|
|
128
|
+
__decorate([
|
|
129
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
130
|
+
description: 'Native device endpoint identifier within the integration',
|
|
131
|
+
type: 'string',
|
|
132
|
+
nullable: true,
|
|
133
|
+
}),
|
|
134
|
+
(0, class_transformer_1.Expose)(),
|
|
135
|
+
__metadata("design:type", String)
|
|
136
|
+
], ChannelInputOccurrencePayload.prototype, "endpoint", void 0);
|
|
137
|
+
exports.ChannelInputOccurrencePayload = ChannelInputOccurrencePayload = __decorate([
|
|
138
|
+
(0, swagger_1.ApiSchema)({ name: 'DevicesModuleDataChannelInputOccurrence' })
|
|
139
|
+
], ChannelInputOccurrencePayload);
|
|
140
|
+
let ChannelInputOccurrenceResponseModel = class ChannelInputOccurrenceResponseModel extends api_response_model_1.BaseSuccessResponseModel {
|
|
141
|
+
};
|
|
142
|
+
exports.ChannelInputOccurrenceResponseModel = ChannelInputOccurrenceResponseModel;
|
|
143
|
+
__decorate([
|
|
144
|
+
(0, swagger_1.ApiProperty)({
|
|
145
|
+
description: 'The actual occurrence payload',
|
|
146
|
+
type: () => ChannelInputOccurrencePayload,
|
|
147
|
+
}),
|
|
148
|
+
(0, class_transformer_1.Expose)(),
|
|
149
|
+
__metadata("design:type", ChannelInputOccurrencePayload)
|
|
150
|
+
], ChannelInputOccurrenceResponseModel.prototype, "data", void 0);
|
|
151
|
+
exports.ChannelInputOccurrenceResponseModel = ChannelInputOccurrenceResponseModel = __decorate([
|
|
152
|
+
(0, swagger_1.ApiSchema)({ name: 'DevicesModuleResChannelInputOccurrence' })
|
|
153
|
+
], ChannelInputOccurrenceResponseModel);
|
|
154
|
+
//# sourceMappingURL=channel-input-occurrence.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-input-occurrence.model.js","sourceRoot":"","sources":["../../../../src/modules/devices/models/channel-input-occurrence.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const DEFAULT_DEDUPLICATION_TTL_MS = 5000;
|
|
2
|
+
export declare const MAX_DEDUPLICATION_CACHE_SIZE = 1000;
|
|
3
|
+
export interface ChannelInputDeduplicationOptions {
|
|
4
|
+
propertyId?: string;
|
|
5
|
+
event?: string;
|
|
6
|
+
nativeEventType?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class ChannelInputDeduplicationService {
|
|
9
|
+
private readonly logger;
|
|
10
|
+
private readonly cache;
|
|
11
|
+
private readonly ttlMs;
|
|
12
|
+
private readonly maxCapacity;
|
|
13
|
+
isDuplicate(deviceId: string, channelId: string, sourceOccurrenceId?: string, propertyIdOrOptions?: string | ChannelInputDeduplicationOptions, event?: string, nativeEventType?: string): boolean;
|
|
14
|
+
private evict;
|
|
15
|
+
get size(): number;
|
|
16
|
+
clear(): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ChannelInputDeduplicationService = exports.MAX_DEDUPLICATION_CACHE_SIZE = exports.DEFAULT_DEDUPLICATION_TTL_MS = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const extension_logger_service_1 = require("../../../common/logger/extension-logger.service");
|
|
12
|
+
const devices_constants_1 = require("../devices.constants");
|
|
13
|
+
exports.DEFAULT_DEDUPLICATION_TTL_MS = 5_000;
|
|
14
|
+
exports.MAX_DEDUPLICATION_CACHE_SIZE = 1_000;
|
|
15
|
+
let ChannelInputDeduplicationService = class ChannelInputDeduplicationService {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.logger = (0, extension_logger_service_1.createExtensionLogger)(devices_constants_1.DEVICES_MODULE_NAME, 'ChannelInputDeduplicationService');
|
|
18
|
+
this.cache = new Map();
|
|
19
|
+
this.ttlMs = exports.DEFAULT_DEDUPLICATION_TTL_MS;
|
|
20
|
+
this.maxCapacity = exports.MAX_DEDUPLICATION_CACHE_SIZE;
|
|
21
|
+
}
|
|
22
|
+
isDuplicate(deviceId, channelId, sourceOccurrenceId, propertyIdOrOptions, event, nativeEventType) {
|
|
23
|
+
if (!sourceOccurrenceId || sourceOccurrenceId.trim() === '') {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
let propertyId;
|
|
27
|
+
let ev = event;
|
|
28
|
+
let nativeType = nativeEventType;
|
|
29
|
+
if (typeof propertyIdOrOptions === 'object' && propertyIdOrOptions !== null) {
|
|
30
|
+
propertyId = propertyIdOrOptions.propertyId;
|
|
31
|
+
ev = propertyIdOrOptions.event ?? ev;
|
|
32
|
+
nativeType = propertyIdOrOptions.nativeEventType ?? nativeType;
|
|
33
|
+
}
|
|
34
|
+
else if (typeof propertyIdOrOptions === 'string') {
|
|
35
|
+
propertyId = propertyIdOrOptions;
|
|
36
|
+
}
|
|
37
|
+
const key = JSON.stringify([
|
|
38
|
+
deviceId,
|
|
39
|
+
channelId,
|
|
40
|
+
propertyId ?? null,
|
|
41
|
+
ev ?? null,
|
|
42
|
+
nativeType ?? null,
|
|
43
|
+
sourceOccurrenceId,
|
|
44
|
+
]);
|
|
45
|
+
const now = Date.now();
|
|
46
|
+
const expiry = this.cache.get(key);
|
|
47
|
+
if (typeof expiry === 'number') {
|
|
48
|
+
if (expiry > now) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
this.cache.delete(key);
|
|
52
|
+
}
|
|
53
|
+
if (this.cache.size >= this.maxCapacity) {
|
|
54
|
+
this.evict(now);
|
|
55
|
+
}
|
|
56
|
+
this.cache.set(key, now + this.ttlMs);
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
evict(now) {
|
|
60
|
+
for (const [k, exp] of this.cache.entries()) {
|
|
61
|
+
if (exp <= now) {
|
|
62
|
+
this.cache.delete(k);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
while (this.cache.size >= this.maxCapacity) {
|
|
66
|
+
let deleted = false;
|
|
67
|
+
for (const key of this.cache.keys()) {
|
|
68
|
+
this.cache.delete(key);
|
|
69
|
+
deleted = true;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
if (!deleted) {
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
get size() {
|
|
78
|
+
return this.cache.size;
|
|
79
|
+
}
|
|
80
|
+
clear() {
|
|
81
|
+
this.cache.clear();
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
exports.ChannelInputDeduplicationService = ChannelInputDeduplicationService;
|
|
85
|
+
exports.ChannelInputDeduplicationService = ChannelInputDeduplicationService = __decorate([
|
|
86
|
+
(0, common_1.Injectable)()
|
|
87
|
+
], ChannelInputDeduplicationService);
|
|
88
|
+
//# sourceMappingURL=channel-input-deduplication.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-input-deduplication.service.js","sourceRoot":"","sources":["../../../../src/modules/devices/services/channel-input-deduplication.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
2
|
+
import { CreateChannelInputOccurrenceDto } from '../dto/channel-input-occurrence.dto';
|
|
3
|
+
import { ChannelInputCapabilitiesModel } from '../models/channel-input-capabilities.model';
|
|
4
|
+
import { ChannelInputOccurrencePayload } from '../models/channel-input-occurrence.model';
|
|
5
|
+
import { ChannelInputDeduplicationService } from './channel-input-deduplication.service';
|
|
6
|
+
import { ChannelsPropertiesService } from './channels.properties.service';
|
|
7
|
+
import { ChannelsService } from './channels.service';
|
|
8
|
+
import { DevicesService } from './devices.service';
|
|
9
|
+
export declare class ChannelInputOccurrencesService {
|
|
10
|
+
private readonly devicesService;
|
|
11
|
+
private readonly channelsService;
|
|
12
|
+
private readonly channelsPropertiesService;
|
|
13
|
+
private readonly deduplicationService;
|
|
14
|
+
private readonly eventEmitter;
|
|
15
|
+
private readonly logger;
|
|
16
|
+
constructor(devicesService: DevicesService, channelsService: ChannelsService, channelsPropertiesService: ChannelsPropertiesService, deduplicationService: ChannelInputDeduplicationService, eventEmitter: EventEmitter2);
|
|
17
|
+
ingestOccurrence(dto: CreateChannelInputOccurrenceDto): Promise<ChannelInputOccurrencePayload | null>;
|
|
18
|
+
publishOccurrence(dto: CreateChannelInputOccurrenceDto): Promise<ChannelInputOccurrencePayload | null>;
|
|
19
|
+
subscribe(listener: (occurrence: ChannelInputOccurrencePayload) => void | Promise<void>): () => void;
|
|
20
|
+
getInputCapabilities(channelId: string): Promise<ChannelInputCapabilitiesModel | null>;
|
|
21
|
+
}
|