@ray-js/lock-sdk 1.1.3 → 1.2.0-beta.2
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/lib/api/ble.d.ts +57 -0
- package/lib/api/ble.js +46 -0
- package/lib/api/fit.d.ts +203 -0
- package/lib/api/fit.js +158 -0
- package/lib/api/index.d.ts +4 -2
- package/lib/api/index.js +26 -0
- package/lib/api/linkage.js +6 -0
- package/lib/api/lock.d.ts +4 -2
- package/lib/api/lock.js +24 -0
- package/lib/api/log.d.ts +49 -22
- package/lib/api/log.js +21 -0
- package/lib/api/request.d.ts +5 -2
- package/lib/api/request.js +34 -2
- package/lib/api/screen.d.ts +111 -0
- package/lib/api/screen.js +52 -0
- package/lib/api/setting.js +2 -0
- package/lib/api/temp.d.ts +24 -3
- package/lib/api/temp.js +27 -0
- package/lib/api/user.d.ts +35 -1
- package/lib/api/user.js +24 -0
- package/lib/api/video.d.ts +27 -0
- package/lib/api/video.js +21 -0
- package/lib/api/voice-file.d.ts +14 -0
- package/lib/api/voice-file.js +18 -0
- package/lib/bootstrap/bootstrap-lock-instance.d.ts +7 -0
- package/lib/bootstrap/bootstrap-lock-instance.js +16 -0
- package/lib/bootstrap/bootstrap.d.ts +4 -0
- package/lib/bootstrap/bootstrap.js +53 -0
- package/lib/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
- package/lib/bootstrap/lock-instance-runtime-ref.js +7 -0
- package/lib/bootstrap/primary-instance.d.ts +6 -0
- package/lib/bootstrap/primary-instance.js +24 -0
- package/lib/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
- package/lib/bootstrap/resolve-runtime-from-export-this.js +29 -0
- package/lib/bootstrap/top-level-runtime.d.ts +2 -0
- package/lib/bootstrap/top-level-runtime.js +9 -0
- package/lib/config/dp-code/index.d.ts +100 -67
- package/lib/config/dp-code/index.js +33 -1
- package/lib/config/dp-map/ble-check-code.d.ts +41 -0
- package/lib/config/dp-map/ble-check-code.js +55 -0
- package/lib/config/dp-map/ble-key-fit.d.ts +328 -0
- package/lib/config/dp-map/ble-key-fit.js +33 -0
- package/lib/config/dp-map/ble-sync.d.ts +2 -2
- package/lib/config/dp-map/ble-sync.js +2 -2
- package/lib/config/dp-map/ble-unlock-check.d.ts +42 -0
- package/lib/config/dp-map/ble-unlock-check.js +59 -0
- package/lib/config/dp-map/ble-voice-data.d.ts +16 -0
- package/lib/config/dp-map/ble-voice-data.js +7 -0
- package/lib/config/dp-map/bluetooth-unlock.d.ts +10 -0
- package/lib/config/dp-map/bluetooth-unlock.js +16 -0
- package/lib/config/dp-map/registry.d.ts +1137 -0
- package/lib/config/dp-map/registry.js +110 -0
- package/lib/config/dp-map/sync-method-fit.d.ts +3 -0
- package/lib/config/dp-map/sync-method-fit.js +36 -0
- package/lib/config/dp-map/temp-pwd-fit.d.ts +441 -0
- package/lib/config/dp-map/temp-pwd-fit.js +73 -0
- package/lib/config/dp-map/unlock-method-fit.d.ts +302 -0
- package/lib/config/dp-map/unlock-method-fit.js +62 -0
- package/lib/config/dp-map/unlock-method.d.ts +345 -1
- package/lib/config/dp-map/unlock-method.js +37 -1
- package/lib/constant.d.ts +5 -0
- package/lib/constant.js +6 -0
- package/lib/entries/ble/bootstrap/bootstrap-lock-instance.d.ts +7 -0
- package/lib/entries/ble/bootstrap/bootstrap-lock-instance.js +12 -0
- package/lib/entries/ble/bootstrap/bootstrap.d.ts +4 -0
- package/lib/entries/ble/bootstrap/bootstrap.js +53 -0
- package/lib/entries/ble/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
- package/lib/entries/ble/bootstrap/lock-instance-runtime-ref.js +7 -0
- package/lib/entries/ble/bootstrap/primary-instance.d.ts +6 -0
- package/lib/entries/ble/bootstrap/primary-instance.js +24 -0
- package/lib/entries/ble/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
- package/lib/entries/ble/bootstrap/resolve-runtime-from-export-this.js +29 -0
- package/lib/entries/ble/bootstrap/top-level-runtime.d.ts +2 -0
- package/lib/entries/ble/bootstrap/top-level-runtime.js +9 -0
- package/lib/entries/ble/build-instance.d.ts +9 -0
- package/lib/entries/ble/build-instance.js +50 -0
- package/lib/entries/ble/exports/capability.d.ts +6 -0
- package/lib/entries/ble/exports/capability.js +17 -0
- package/lib/entries/ble/exports/config.d.ts +3 -0
- package/lib/entries/ble/exports/config.js +5 -0
- package/lib/entries/ble/exports/dp.d.ts +9 -0
- package/lib/entries/ble/exports/dp.js +13 -0
- package/lib/entries/ble/exports/index.d.ts +16 -0
- package/lib/entries/ble/exports/index.js +16 -0
- package/lib/entries/ble/exports/linkage.d.ts +5 -0
- package/lib/entries/ble/exports/linkage.js +15 -0
- package/lib/entries/ble/exports/log.d.ts +9 -0
- package/lib/entries/ble/exports/log.js +21 -0
- package/lib/entries/ble/exports/media.d.ts +4 -0
- package/lib/entries/ble/exports/media.js +12 -0
- package/lib/entries/ble/exports/misc.d.ts +19 -0
- package/lib/entries/ble/exports/misc.js +30 -0
- package/lib/entries/ble/exports/offline-dps.d.ts +8 -0
- package/lib/entries/ble/exports/offline-dps.js +24 -0
- package/lib/entries/ble/exports/open/do-open-close-action.d.ts +2 -0
- package/lib/entries/ble/exports/open/do-open-close-action.js +36 -0
- package/lib/entries/ble/exports/open/index.d.ts +18 -0
- package/lib/entries/ble/exports/open/index.js +45 -0
- package/lib/entries/ble/exports/signal.d.ts +6 -0
- package/lib/entries/ble/exports/signal.js +14 -0
- package/lib/entries/ble/exports/sleep.d.ts +13 -0
- package/lib/entries/ble/exports/sleep.js +31 -0
- package/lib/entries/ble/exports/state.d.ts +6 -0
- package/lib/entries/ble/exports/state.js +19 -0
- package/lib/entries/ble/exports/temporary.d.ts +31 -0
- package/lib/entries/ble/exports/temporary.js +91 -0
- package/lib/entries/ble/exports/unlock/sync.d.ts +1 -0
- package/lib/entries/ble/exports/unlock/sync.js +5 -0
- package/lib/entries/ble/exports/unlock-method.d.ts +19 -0
- package/lib/entries/ble/exports/unlock-method.js +58 -0
- package/lib/entries/ble/exports/user/index.d.ts +23 -0
- package/lib/entries/ble/exports/user/index.js +22 -0
- package/lib/entries/ble/exports/user/sync.d.ts +1 -0
- package/lib/entries/ble/exports/user/sync.js +5 -0
- package/lib/entries/ble/index.d.ts +8 -0
- package/lib/entries/ble/index.js +39 -0
- package/lib/entries/fit/bootstrap/bootstrap-lock-instance.d.ts +7 -0
- package/lib/entries/fit/bootstrap/bootstrap-lock-instance.js +12 -0
- package/lib/entries/fit/bootstrap/bootstrap.d.ts +4 -0
- package/lib/entries/fit/bootstrap/bootstrap.js +69 -0
- package/lib/entries/fit/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
- package/lib/entries/fit/bootstrap/lock-instance-runtime-ref.js +7 -0
- package/lib/entries/fit/bootstrap/primary-instance.d.ts +6 -0
- package/lib/entries/fit/bootstrap/primary-instance.js +24 -0
- package/lib/entries/fit/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
- package/lib/entries/fit/bootstrap/resolve-runtime-from-export-this.js +29 -0
- package/lib/entries/fit/bootstrap/top-level-runtime.d.ts +2 -0
- package/lib/entries/fit/bootstrap/top-level-runtime.js +9 -0
- package/lib/entries/fit/build-instance.d.ts +9 -0
- package/lib/entries/fit/build-instance.js +57 -0
- package/lib/entries/fit/exports/binding.d.ts +8 -0
- package/lib/entries/fit/exports/binding.js +15 -0
- package/lib/entries/fit/exports/device.d.ts +26 -0
- package/lib/entries/fit/exports/device.js +64 -0
- package/lib/entries/fit/exports/index.d.ts +3 -0
- package/lib/entries/fit/exports/index.js +3 -0
- package/lib/entries/fit/exports/temp.d.ts +19 -0
- package/lib/entries/fit/exports/temp.js +18 -0
- package/lib/entries/fit/index.d.ts +8 -0
- package/lib/entries/fit/index.js +36 -0
- package/lib/entries/main/bootstrap/bootstrap-lock-instance.d.ts +7 -0
- package/lib/entries/main/bootstrap/bootstrap-lock-instance.js +12 -0
- package/lib/entries/main/bootstrap/bootstrap.d.ts +4 -0
- package/lib/entries/main/bootstrap/bootstrap.js +69 -0
- package/lib/entries/main/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
- package/lib/entries/main/bootstrap/lock-instance-runtime-ref.js +7 -0
- package/lib/entries/main/bootstrap/primary-instance.d.ts +6 -0
- package/lib/entries/main/bootstrap/primary-instance.js +24 -0
- package/lib/entries/main/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
- package/lib/entries/main/bootstrap/resolve-runtime-from-export-this.js +29 -0
- package/lib/entries/main/bootstrap/top-level-runtime.d.ts +2 -0
- package/lib/entries/main/bootstrap/top-level-runtime.js +9 -0
- package/lib/entries/main/build-instance.d.ts +7 -0
- package/lib/entries/main/build-instance.js +49 -0
- package/lib/entries/main/exports/accessory-binding.d.ts +1 -0
- package/lib/entries/main/exports/accessory-binding.js +1 -0
- package/lib/entries/main/exports/ai.d.ts +4 -0
- package/lib/entries/main/exports/ai.js +11 -0
- package/lib/entries/main/exports/capability.d.ts +6 -0
- package/lib/entries/main/exports/capability.js +17 -0
- package/lib/entries/main/exports/config.d.ts +3 -0
- package/lib/entries/main/exports/config.js +5 -0
- package/lib/entries/main/exports/dp.d.ts +11 -0
- package/lib/entries/main/exports/dp.js +13 -0
- package/lib/entries/main/exports/fit.d.ts +8 -0
- package/lib/entries/main/exports/fit.js +14 -0
- package/lib/entries/main/exports/index.d.ts +21 -0
- package/lib/entries/main/exports/index.js +21 -0
- package/lib/entries/main/exports/linkage.d.ts +5 -0
- package/lib/entries/main/exports/linkage.js +15 -0
- package/lib/entries/main/exports/log.d.ts +10 -0
- package/lib/entries/main/exports/log.js +24 -0
- package/lib/entries/main/exports/media.d.ts +6 -0
- package/lib/entries/main/exports/media.js +18 -0
- package/lib/entries/main/exports/misc.d.ts +18 -0
- package/lib/entries/main/exports/misc.js +30 -0
- package/lib/entries/main/exports/offline-dps.d.ts +8 -0
- package/lib/entries/main/exports/offline-dps.js +28 -0
- package/lib/entries/main/exports/open/do-open-close-action.d.ts +2 -0
- package/lib/entries/main/exports/open/do-open-close-action.js +68 -0
- package/lib/entries/main/exports/open/index.d.ts +16 -0
- package/lib/entries/main/exports/open/index.js +44 -0
- package/lib/entries/main/exports/open.d.ts +16 -0
- package/lib/entries/main/exports/open.js +44 -0
- package/lib/entries/main/exports/screen/bind.d.ts +7 -0
- package/lib/entries/main/exports/screen/bind.js +15 -0
- package/lib/entries/main/exports/screen/list.d.ts +5 -0
- package/lib/entries/main/exports/screen/list.js +13 -0
- package/lib/entries/main/exports/signal.d.ts +6 -0
- package/lib/entries/main/exports/signal.js +14 -0
- package/lib/entries/main/exports/sleep.d.ts +15 -0
- package/lib/entries/main/exports/sleep.js +31 -0
- package/lib/entries/main/exports/state.d.ts +6 -0
- package/lib/entries/main/exports/state.js +19 -0
- package/lib/entries/main/exports/temporary.d.ts +32 -0
- package/lib/entries/main/exports/temporary.js +86 -0
- package/lib/entries/main/exports/unlock/sync.d.ts +1 -0
- package/lib/entries/main/exports/unlock/sync.js +5 -0
- package/lib/entries/main/exports/unlock-method.d.ts +19 -0
- package/lib/entries/main/exports/unlock-method.js +58 -0
- package/lib/entries/main/exports/user/index.d.ts +33 -0
- package/lib/entries/main/exports/user/index.js +35 -0
- package/lib/entries/main/exports/user/sync.d.ts +1 -0
- package/lib/entries/main/exports/user/sync.js +5 -0
- package/lib/entries/main/exports/voice-file.d.ts +7 -0
- package/lib/entries/main/exports/voice-file.js +17 -0
- package/lib/entries/main/exports/yu-channel.d.ts +5 -0
- package/lib/entries/main/exports/yu-channel.js +17 -0
- package/lib/entries/main/index.d.ts +8 -0
- package/lib/entries/main/index.js +36 -0
- package/lib/entries/screen/bootstrap/bootstrap-lock-instance.d.ts +7 -0
- package/lib/entries/screen/bootstrap/bootstrap-lock-instance.js +12 -0
- package/lib/entries/screen/bootstrap/bootstrap.d.ts +4 -0
- package/lib/entries/screen/bootstrap/bootstrap.js +69 -0
- package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
- package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.js +7 -0
- package/lib/entries/screen/bootstrap/primary-instance.d.ts +6 -0
- package/lib/entries/screen/bootstrap/primary-instance.js +24 -0
- package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
- package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.js +29 -0
- package/lib/entries/screen/bootstrap/top-level-runtime.d.ts +2 -0
- package/lib/entries/screen/bootstrap/top-level-runtime.js +9 -0
- package/lib/entries/screen/build-instance.d.ts +9 -0
- package/lib/entries/screen/build-instance.js +57 -0
- package/lib/entries/screen/exports/bind-events.d.ts +4 -0
- package/lib/entries/screen/exports/bind-events.js +8 -0
- package/lib/entries/screen/exports/binding.d.ts +6 -0
- package/lib/entries/screen/exports/binding.js +15 -0
- package/lib/entries/screen/exports/device.d.ts +16 -0
- package/lib/entries/screen/exports/device.js +41 -0
- package/lib/entries/screen/exports/event.d.ts +3 -0
- package/lib/entries/screen/exports/event.js +5 -0
- package/lib/entries/screen/exports/index.d.ts +5 -0
- package/lib/entries/screen/exports/index.js +5 -0
- package/lib/entries/screen/exports/user.d.ts +2 -0
- package/lib/entries/screen/exports/user.js +8 -0
- package/lib/entries/screen/index.d.ts +8 -0
- package/lib/entries/screen/index.js +36 -0
- package/lib/feature/ai/report.d.ts +5 -0
- package/lib/feature/ai/report.js +37 -0
- package/lib/feature/dp/get-dp-value.d.ts +3 -0
- package/lib/feature/dp/get-dp-value.js +3 -0
- package/lib/feature/dp/has-dp.d.ts +2 -0
- package/lib/feature/dp/has-dp.js +1 -0
- package/lib/feature/dp/publish-dps.d.ts +7 -0
- package/lib/feature/dp/publish-dps.js +155 -0
- package/lib/feature/fit/bind-fit-to-lock.d.ts +6 -0
- package/lib/feature/fit/bind-fit-to-lock.js +222 -0
- package/lib/feature/fit/bind-lock-to-fit.d.ts +4 -0
- package/lib/feature/fit/bind-lock-to-fit.js +167 -0
- package/lib/feature/fit/ble-key.d.ts +16 -0
- package/lib/feature/fit/ble-key.js +99 -0
- package/lib/feature/fit/list.d.ts +3 -0
- package/lib/feature/fit/list.js +28 -0
- package/lib/feature/fit/method/add-flow.d.ts +7 -0
- package/lib/feature/fit/method/add-flow.js +380 -0
- package/lib/feature/fit/method/add-method-events.d.ts +5 -0
- package/lib/feature/fit/method/add-method-events.js +11 -0
- package/lib/feature/fit/method/add-password.d.ts +3 -0
- package/lib/feature/fit/method/add-password.js +99 -0
- package/lib/feature/fit/method/internal/base.d.ts +19 -0
- package/lib/feature/fit/method/internal/base.js +134 -0
- package/lib/feature/fit/method/list.d.ts +3 -0
- package/lib/feature/fit/method/list.js +64 -0
- package/lib/feature/fit/method/types.d.ts +68 -0
- package/lib/feature/fit/method/types.js +1 -0
- package/lib/feature/fit/method/update-remove.d.ts +4 -0
- package/lib/feature/fit/method/update-remove.js +159 -0
- package/lib/feature/fit/password-list.d.ts +24 -0
- package/lib/feature/fit/password-list.js +31 -0
- package/lib/feature/fit/resolve-slave-id.d.ts +2 -0
- package/lib/feature/fit/resolve-slave-id.js +38 -0
- package/lib/feature/fit/setting.d.ts +2 -0
- package/lib/feature/fit/setting.js +27 -0
- package/lib/feature/fit/shared.d.ts +27 -0
- package/lib/feature/fit/shared.js +118 -0
- package/lib/feature/fit/sync.d.ts +4 -0
- package/lib/feature/fit/sync.js +85 -0
- package/lib/feature/fit/temp-password.d.ts +27 -0
- package/lib/feature/fit/temp-password.js +428 -0
- package/lib/feature/fit/users.d.ts +12 -0
- package/lib/feature/fit/users.js +25 -0
- package/lib/feature/linkage/linkage.d.ts +10 -0
- package/lib/{linkage.js → feature/linkage/linkage.js} +30 -30
- package/lib/feature/log/log.d.ts +63 -0
- package/lib/feature/log/log.js +438 -0
- package/lib/feature/media/media.d.ts +31 -0
- package/lib/feature/media/media.js +66 -0
- package/lib/feature/media/rotate.d.ts +6 -0
- package/lib/feature/media/rotate.js +6 -0
- package/lib/feature/misc/ble-control.d.ts +2 -0
- package/lib/feature/misc/ble-control.js +38 -0
- package/lib/feature/misc/capability.d.ts +8 -0
- package/lib/{capability.js → feature/misc/capability.js} +39 -29
- package/lib/feature/misc/connect-device.d.ts +2 -0
- package/lib/feature/misc/connect-device.js +206 -0
- package/lib/feature/misc/dp-period.d.ts +18 -0
- package/lib/feature/misc/dp-period.js +75 -0
- package/lib/feature/misc/is-use-near-channel-for-runtime.d.ts +2 -0
- package/lib/feature/misc/is-use-near-channel-for-runtime.js +17 -0
- package/lib/feature/misc/open-scene.d.ts +3 -0
- package/lib/feature/misc/open-scene.js +63 -0
- package/lib/feature/misc/signal.d.ts +12 -0
- package/lib/feature/misc/signal.js +36 -0
- package/lib/feature/misc/sleep.d.ts +14 -0
- package/lib/feature/misc/sleep.js +66 -0
- package/lib/feature/misc/types.d.ts +7 -0
- package/lib/feature/misc/types.js +1 -0
- package/lib/feature/misc/update-config.d.ts +4 -0
- package/lib/feature/misc/update-config.js +9 -0
- package/lib/feature/misc/validate-pwd.d.ts +2 -0
- package/lib/feature/misc/validate-pwd.js +10 -0
- package/lib/feature/misc/yu-channel.d.ts +6 -0
- package/lib/feature/misc/yu-channel.js +26 -0
- package/lib/feature/offline-dps/index.d.ts +10 -0
- package/lib/feature/offline-dps/index.js +133 -0
- package/lib/feature/password/ble-temp-payload.d.ts +3 -0
- package/lib/{sync → feature/password}/ble-temp-payload.js +10 -10
- package/lib/feature/password/sync-temp.d.ts +4 -0
- package/lib/feature/password/sync-temp.js +91 -0
- package/lib/feature/password/temporary/custom-dp-ble.d.ts +6 -0
- package/lib/feature/password/temporary/custom-dp-ble.js +263 -0
- package/lib/feature/password/temporary/custom-dp-create-shared.d.ts +34 -0
- package/lib/feature/password/temporary/custom-dp-create-shared.js +64 -0
- package/lib/feature/password/temporary/custom-dp.d.ts +6 -0
- package/lib/feature/password/temporary/custom-dp.js +241 -0
- package/lib/feature/password/temporary/freeze-ble-key.d.ts +4 -0
- package/lib/feature/password/temporary/freeze-ble-key.js +7 -0
- package/lib/feature/password/temporary/freeze-rename.d.ts +5 -0
- package/lib/feature/password/temporary/freeze-rename.js +72 -0
- package/lib/feature/password/temporary/internal/change-password-phase.d.ts +2 -0
- package/lib/feature/password/temporary/internal/change-password-phase.js +48 -0
- package/lib/feature/password/temporary/internal/constants.d.ts +12 -0
- package/lib/feature/password/temporary/internal/constants.js +21 -0
- package/lib/feature/password/temporary/internal/password-helpers.d.ts +4 -0
- package/lib/feature/password/temporary/internal/password-helpers.js +18 -0
- package/lib/feature/password/temporary/internal/password-type-map.d.ts +2 -0
- package/lib/feature/password/temporary/internal/password-type-map.js +7 -0
- package/lib/feature/password/temporary/lists.d.ts +16 -0
- package/lib/feature/password/temporary/lists.js +157 -0
- package/lib/feature/password/temporary/offline-create.d.ts +7 -0
- package/lib/feature/password/temporary/offline-create.js +192 -0
- package/lib/feature/password/temporary/types.d.ts +107 -0
- package/lib/feature/password/temporary/types.js +1 -0
- package/lib/feature/password/temporary/wifi-offline.d.ts +5 -0
- package/lib/feature/password/temporary/wifi-offline.js +85 -0
- package/lib/feature/password/temporary/wifi-online.d.ts +28 -0
- package/lib/feature/password/temporary/wifi-online.js +153 -0
- package/lib/feature/screen/bind-watch.d.ts +18 -0
- package/lib/feature/screen/bind-watch.js +92 -0
- package/lib/feature/screen/bind.d.ts +4 -0
- package/lib/feature/screen/bind.js +151 -0
- package/lib/feature/screen/error.d.ts +1 -0
- package/lib/feature/screen/error.js +34 -0
- package/lib/feature/screen/event.d.ts +3 -0
- package/lib/feature/screen/event.js +19 -0
- package/lib/feature/screen/list.d.ts +13 -0
- package/lib/feature/screen/list.js +69 -0
- package/lib/feature/service/goto-service.d.ts +5 -0
- package/lib/feature/service/goto-service.js +16 -0
- package/lib/feature/state/clear.d.ts +2 -0
- package/lib/feature/state/clear.js +17 -0
- package/lib/feature/state/device-status-events.d.ts +5 -0
- package/lib/feature/state/device-status-events.js +11 -0
- package/lib/feature/state/device-status.d.ts +5 -0
- package/lib/feature/state/device-status.js +130 -0
- package/lib/feature/state/dp-change.d.ts +3 -0
- package/lib/feature/state/dp-change.js +44 -0
- package/lib/feature/state/init-state.d.ts +2 -0
- package/lib/feature/state/init-state.js +175 -0
- package/lib/feature/state/internal/read-is-sleep.d.ts +2 -0
- package/lib/feature/state/internal/read-is-sleep.js +9 -0
- package/lib/feature/state/internal/share-thread-local.d.ts +2 -0
- package/lib/feature/state/internal/share-thread-local.js +4 -0
- package/lib/feature/state/platform-routing.d.ts +3 -0
- package/lib/feature/state/platform-routing.js +155 -0
- package/lib/feature/state/remote-permissions.d.ts +4 -0
- package/lib/feature/state/remote-permissions.js +30 -0
- package/lib/feature/state/sync/offline-dps.d.ts +2 -0
- package/lib/feature/state/sync/offline-dps.js +71 -0
- package/lib/feature/state/sync/remote-serect-key.d.ts +3 -0
- package/lib/feature/state/sync/remote-serect-key.js +74 -0
- package/lib/feature/state/sync/t0.d.ts +3 -0
- package/lib/feature/state/sync/t0.js +64 -0
- package/lib/feature/unlock/door/check-remote.d.ts +2 -0
- package/lib/feature/unlock/door/check-remote.js +40 -0
- package/lib/feature/unlock/door/check-user-valid.d.ts +2 -0
- package/lib/feature/unlock/door/check-user-valid.js +21 -0
- package/lib/feature/unlock/door/door-action.d.ts +2 -0
- package/lib/feature/unlock/door/door-action.js +32 -0
- package/lib/feature/unlock/door/door-ble-only.d.ts +2 -0
- package/lib/feature/unlock/door/door-ble-only.js +102 -0
- package/lib/feature/unlock/door/door-matter-lan.d.ts +2 -0
- package/lib/feature/unlock/door/door-matter-lan.js +15 -0
- package/lib/feature/unlock/door/door-near-dual-mode.d.ts +2 -0
- package/lib/feature/unlock/door/door-near-dual-mode.js +39 -0
- package/lib/feature/unlock/door/door-remote-cloud.d.ts +2 -0
- package/lib/feature/unlock/door/door-remote-cloud.js +69 -0
- package/lib/feature/unlock/door/door-report.d.ts +11 -0
- package/lib/feature/unlock/door/door-report.js +96 -0
- package/lib/feature/unlock/door/internal/report-error.d.ts +2 -0
- package/lib/feature/unlock/door/internal/report-error.js +46 -0
- package/lib/feature/unlock/door/open-close-path.d.ts +3 -0
- package/lib/feature/unlock/door/open-close-path.js +30 -0
- package/lib/feature/unlock/door/remote-permission.d.ts +5 -0
- package/lib/feature/unlock/door/remote-permission.js +67 -0
- package/lib/feature/unlock/door/remove-share-user-once.d.ts +2 -0
- package/lib/feature/unlock/door/remove-share-user-once.js +21 -0
- package/lib/feature/unlock/door/types.d.ts +4 -0
- package/lib/feature/unlock/door/types.js +1 -0
- package/lib/feature/unlock/door/voice-unlock-pwd.d.ts +4 -0
- package/lib/feature/unlock/door/voice-unlock-pwd.js +25 -0
- package/lib/feature/unlock/door/wifi-pro-confirm.d.ts +2 -0
- package/lib/feature/unlock/door/wifi-pro-confirm.js +69 -0
- package/lib/feature/unlock/method/add-flow.d.ts +7 -0
- package/lib/feature/unlock/method/add-flow.js +403 -0
- package/lib/feature/unlock/method/add-method-events.d.ts +5 -0
- package/lib/feature/unlock/method/add-method-events.js +11 -0
- package/lib/feature/unlock/method/add-password.d.ts +3 -0
- package/lib/feature/unlock/method/add-password.js +99 -0
- package/lib/feature/unlock/method/bind-unbind.d.ts +8 -0
- package/lib/feature/unlock/method/bind-unbind.js +113 -0
- package/lib/feature/unlock/method/detail.d.ts +3 -0
- package/lib/feature/unlock/method/detail.js +35 -0
- package/lib/feature/unlock/method/guide.d.ts +3 -0
- package/lib/feature/unlock/method/guide.js +48 -0
- package/lib/feature/unlock/method/internal/base.d.ts +109 -0
- package/lib/feature/unlock/method/internal/base.js +89 -0
- package/lib/feature/unlock/method/internal/errors.d.ts +5 -0
- package/lib/feature/unlock/method/internal/errors.js +13 -0
- package/lib/feature/unlock/method/internal/special-check.d.ts +13 -0
- package/lib/feature/unlock/method/internal/special-check.js +38 -0
- package/lib/feature/unlock/method/types.d.ts +70 -0
- package/lib/feature/unlock/method/types.js +1 -0
- package/lib/feature/unlock/method/update-remove.d.ts +4 -0
- package/lib/feature/unlock/method/update-remove.js +138 -0
- package/lib/feature/unlock/method/verify-code.d.ts +3 -0
- package/lib/feature/unlock/method/verify-code.js +7 -0
- package/lib/feature/unlock/sync/unlock-method.d.ts +3 -0
- package/lib/feature/unlock/sync/unlock-method.js +79 -0
- package/lib/feature/user/current-user.d.ts +3 -0
- package/lib/feature/user/current-user.js +33 -0
- package/lib/feature/user/delete-user-dp.d.ts +3 -0
- package/lib/{utils/user.js → feature/user/delete-user-dp.js} +13 -13
- package/lib/feature/user/share-user.d.ts +29 -0
- package/lib/feature/user/share-user.js +228 -0
- package/lib/feature/user/sync-user.d.ts +2 -0
- package/lib/feature/user/sync-user.js +151 -0
- package/lib/feature/user/user.d.ts +37 -0
- package/lib/feature/user/user.js +484 -0
- package/lib/feature/utils/index.d.ts +12 -0
- package/lib/feature/utils/index.js +165 -0
- package/lib/feature/voice-file/voice-file.d.ts +27 -0
- package/lib/feature/voice-file/voice-file.js +203 -0
- package/lib/fit.d.ts +4 -0
- package/lib/fit.js +3 -0
- package/lib/index.d.ts +2 -21
- package/lib/index.js +1 -74
- package/lib/interface.d.ts +54 -3
- package/lib/{utils → platform}/device.d.ts +49 -1
- package/lib/{utils → platform}/device.js +154 -3
- package/lib/platform/index.d.ts +2 -0
- package/lib/platform/index.js +2 -0
- package/lib/{utils → platform}/ipc.d.ts +3 -0
- package/lib/{utils → platform}/ipc.js +14 -0
- package/lib/platform/transport/index.d.ts +1 -0
- package/lib/platform/transport/index.js +1 -0
- package/lib/runtime/LockDeviceRuntime.d.ts +12 -0
- package/lib/runtime/LockDeviceRuntime.js +34 -0
- package/lib/runtime/device-status/compute-device-status.d.ts +25 -0
- package/lib/runtime/device-status/compute-device-status.js +94 -0
- package/lib/runtime/index.d.ts +5 -0
- package/lib/runtime/index.js +3 -0
- package/lib/runtime/lock-config.d.ts +28 -0
- package/lib/runtime/lock-config.js +37 -0
- package/lib/runtime/registry.d.ts +7 -0
- package/lib/runtime/registry.js +28 -0
- package/lib/runtime/runtime-state-types.d.ts +20 -0
- package/lib/runtime/runtime-state-types.js +1 -0
- package/lib/screen.d.ts +4 -0
- package/lib/screen.js +3 -0
- package/lib/utils/constant.d.ts +3 -0
- package/lib/utils/constant.js +3 -0
- package/lib/utils/errors.js +39 -4
- package/lib/utils/event.js +2 -1
- package/lib/utils/index.d.ts +57 -13
- package/lib/utils/index.js +49 -118
- package/lib/utils/sdk-log.d.ts +28 -0
- package/lib/utils/sdk-log.js +128 -0
- package/package.json +26 -7
- package/lib/capability.d.ts +0 -4
- package/lib/config/index.d.ts +0 -28
- package/lib/config/index.js +0 -41
- package/lib/event.d.ts +0 -2
- package/lib/event.js +0 -2
- package/lib/linkage.d.ts +0 -8
- package/lib/log.d.ts +0 -41
- package/lib/log.js +0 -311
- package/lib/media.d.ts +0 -14
- package/lib/media.js +0 -27
- package/lib/offline-dps.d.ts +0 -9
- package/lib/offline-dps.js +0 -76
- package/lib/open/ble-dedicated-dp.d.ts +0 -4
- package/lib/open/ble-dedicated-dp.js +0 -148
- package/lib/open/ble-remote-no-dp-key.d.ts +0 -4
- package/lib/open/ble-remote-no-dp-key.js +0 -69
- package/lib/open/report-status.d.ts +0 -1
- package/lib/open/report-status.js +0 -23
- package/lib/open.d.ts +0 -22
- package/lib/open.js +0 -262
- package/lib/other.d.ts +0 -31
- package/lib/other.js +0 -291
- package/lib/signal.d.ts +0 -14
- package/lib/signal.js +0 -31
- package/lib/sleep.d.ts +0 -19
- package/lib/sleep.js +0 -79
- package/lib/state.d.ts +0 -16
- package/lib/state.js +0 -351
- package/lib/sync/ble-temp-payload.d.ts +0 -2
- package/lib/sync/offline-dps.d.ts +0 -1
- package/lib/sync/offline-dps.js +0 -29
- package/lib/sync/remote-serect-key.d.ts +0 -2
- package/lib/sync/remote-serect-key.js +0 -43
- package/lib/sync/t0.d.ts +0 -2
- package/lib/sync/t0.js +0 -26
- package/lib/sync/temp.d.ts +0 -3
- package/lib/sync/temp.js +0 -70
- package/lib/sync/unlock-method.d.ts +0 -2
- package/lib/sync/unlock-method.js +0 -42
- package/lib/sync/user.d.ts +0 -2
- package/lib/sync/user.js +0 -68
- package/lib/temporary.d.ts +0 -171
- package/lib/temporary.js +0 -698
- package/lib/unlock-method.d.ts +0 -90
- package/lib/unlock-method.js +0 -701
- package/lib/user.d.ts +0 -30
- package/lib/user.js +0 -298
- package/lib/utils/publishDps.d.ts +0 -6
- package/lib/utils/publishDps.js +0 -78
- package/lib/utils/user.d.ts +0 -2
- /package/lib/{parse/index.d.ts → utils/parse.d.ts} +0 -0
- /package/lib/{parse/index.js → utils/parse.js} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { encrypt } from "../../platform/device";
|
|
2
|
+
import { validatePasswordComplexity } from "../../api/lock";
|
|
3
|
+
export async function validatePwdComplexityForRuntime(rt, password) {
|
|
4
|
+
const devId = rt.config.devInfo.devId;
|
|
5
|
+
const encryptedPassword = await encrypt(devId, password);
|
|
6
|
+
return validatePasswordComplexity({
|
|
7
|
+
devId,
|
|
8
|
+
password: encryptedPassword,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { LockDeviceRuntime } from "../../runtime";
|
|
2
|
+
export declare const isSupportYuChannelForRuntime: (rt: LockDeviceRuntime) => 0 | 1 | 2;
|
|
3
|
+
export declare const isYuChannelOnlineForRuntime: (rt: LockDeviceRuntime) => boolean;
|
|
4
|
+
export declare const updateYuChannelStateForRuntime: (rt: LockDeviceRuntime, enabled: boolean) => Promise<void>;
|
|
5
|
+
export declare const getYuChannelStateForRuntime: (rt: LockDeviceRuntime) => boolean;
|
|
6
|
+
export declare const getYuChannelNodesForRuntime: (rt: LockDeviceRuntime) => Promise<string[]>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isYuDeviceOnlineSync, yuChannelQueryNodes, yuChannelSaveState, } from "../../platform";
|
|
2
|
+
export const isSupportYuChannelForRuntime = (rt) => {
|
|
3
|
+
if (rt.cache.deviceAdvanceAbilityCache?.yuChannel.support) {
|
|
4
|
+
return rt.cache.deviceAdvanceAbilityCache?.yuChannel.value;
|
|
5
|
+
}
|
|
6
|
+
return 0;
|
|
7
|
+
};
|
|
8
|
+
export const isYuChannelOnlineForRuntime = (rt) => {
|
|
9
|
+
return isYuDeviceOnlineSync(rt.config.devInfo.devId);
|
|
10
|
+
};
|
|
11
|
+
export const updateYuChannelStateForRuntime = async (rt, enabled) => {
|
|
12
|
+
await yuChannelSaveState(rt.config.devInfo.devId, enabled);
|
|
13
|
+
rt.config.devInfo.yuNetState = enabled ? 1 : 0;
|
|
14
|
+
};
|
|
15
|
+
export const getYuChannelStateForRuntime = (rt) => {
|
|
16
|
+
if (rt.cache.deviceAdvanceAbilityCache?.yuChannel.support) {
|
|
17
|
+
if (rt.cache.deviceAdvanceAbilityCache?.yuChannel.value === 1) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
return rt.config.devInfo.yuNetState === 1;
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
};
|
|
24
|
+
export const getYuChannelNodesForRuntime = (rt) => {
|
|
25
|
+
return yuChannelQueryNodes(rt.config.devInfo.devId);
|
|
26
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
|
|
2
|
+
import { DpValue, OfflineDps } from "../../interface";
|
|
3
|
+
export declare function getOfflineDpsUpdateEvent(runtime: LockDeviceRuntime): string;
|
|
4
|
+
export declare const getOfflineDpsForRuntime: (runtime: LockDeviceRuntime, isForce?: boolean) => Promise<OfflineDps>;
|
|
5
|
+
export declare const checkOfflineDpUpdateForRuntime: (runtime: LockDeviceRuntime, dps: Record<string, DpValue> | undefined, isForce?: boolean) => Promise<void>;
|
|
6
|
+
export declare const getOfflineDpCacheForRuntime: (runtime: LockDeviceRuntime, code: string) => import("../../interface").OfflineDpInfo | undefined;
|
|
7
|
+
export declare const publishOfflineDpsForRuntime: (runtime: LockDeviceRuntime, dps: Record<string, DpValue>) => Promise<void>;
|
|
8
|
+
export declare const clearOfflineDpsForRuntime: (runtime: LockDeviceRuntime) => Promise<void>;
|
|
9
|
+
export declare const onOfflineDpsUpdateForRuntime: (runtime: LockDeviceRuntime, callback: (dps: OfflineDps) => void) => void;
|
|
10
|
+
export declare const offOfflineDpsUpdateForRuntime: (runtime: LockDeviceRuntime, callback: (dps: OfflineDps) => void) => void;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { clearOfflineDpData, fetchOfflineDpData, publishOfflineDpData, } from "../../api";
|
|
2
|
+
import base64ToHex from "../../utils/base64-to-hex";
|
|
3
|
+
import hexToBase64 from "../../utils/hex-to-base64";
|
|
4
|
+
import emitter from "../../utils/event";
|
|
5
|
+
import { sdkLog } from "../../utils/sdk-log";
|
|
6
|
+
const OFFLINE_DPS_UPDATE = "offline_dps_update";
|
|
7
|
+
export function getOfflineDpsUpdateEvent(runtime) {
|
|
8
|
+
return `${OFFLINE_DPS_UPDATE}_${runtime.devId}`;
|
|
9
|
+
}
|
|
10
|
+
export const getOfflineDpsForRuntime = async (runtime, isForce) => {
|
|
11
|
+
if (!isForce && runtime.cache.offlineDpCache) {
|
|
12
|
+
sdkLog("debug", "offlineDps", "cacheHit", {
|
|
13
|
+
devId: runtime.devId,
|
|
14
|
+
data: { count: Object.keys(runtime.cache.offlineDpCache).length },
|
|
15
|
+
});
|
|
16
|
+
return runtime.cache.offlineDpCache;
|
|
17
|
+
}
|
|
18
|
+
const { devInfo, dpSchema } = runtime.config;
|
|
19
|
+
const startedAt = Date.now();
|
|
20
|
+
sdkLog("info", "offlineDps", "fetchStart", {
|
|
21
|
+
devId: runtime.devId,
|
|
22
|
+
data: { force: !!isForce },
|
|
23
|
+
});
|
|
24
|
+
const res = await fetchOfflineDpData(devInfo.devId);
|
|
25
|
+
const result = res.reduce((acc, item) => {
|
|
26
|
+
const dps = JSON.parse(item.dps);
|
|
27
|
+
Object.keys(dps).forEach((code) => {
|
|
28
|
+
const schema = dpSchema[code];
|
|
29
|
+
let value = dps[code];
|
|
30
|
+
if (schema?.type === "raw") {
|
|
31
|
+
value = base64ToHex(value);
|
|
32
|
+
}
|
|
33
|
+
acc[code] = { value, pushStatus: item.pushStatus };
|
|
34
|
+
});
|
|
35
|
+
return acc;
|
|
36
|
+
}, {});
|
|
37
|
+
runtime.cache.offlineDpCache = result;
|
|
38
|
+
sdkLog("info", "offlineDps", "fetchSuccess", {
|
|
39
|
+
devId: runtime.devId,
|
|
40
|
+
duration: Date.now() - startedAt,
|
|
41
|
+
data: {
|
|
42
|
+
count: Object.keys(result).length,
|
|
43
|
+
cloudCount: res.length,
|
|
44
|
+
force: !!isForce,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
return result;
|
|
48
|
+
};
|
|
49
|
+
export const checkOfflineDpUpdateForRuntime = async (runtime, dps, isForce) => {
|
|
50
|
+
const dpMap = dps ?? {};
|
|
51
|
+
if (!runtime.config.supportOfflineDps) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const cache = runtime.cache.offlineDpCache;
|
|
55
|
+
const hasOne = Object.keys(dpMap).some((code) => cache?.[code]?.pushStatus === false);
|
|
56
|
+
if (hasOne || isForce) {
|
|
57
|
+
const res = await getOfflineDpsForRuntime(runtime, true);
|
|
58
|
+
sdkLog("debug", "offlineDps", "emitUpdate", {
|
|
59
|
+
devId: runtime.devId,
|
|
60
|
+
data: { count: Object.keys(res).length, force: !!isForce },
|
|
61
|
+
});
|
|
62
|
+
emitter.emit(getOfflineDpsUpdateEvent(runtime), res);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
export const getOfflineDpCacheForRuntime = (runtime, code) => {
|
|
66
|
+
return runtime.cache.offlineDpCache?.[code];
|
|
67
|
+
};
|
|
68
|
+
export const publishOfflineDpsForRuntime = async (runtime, dps) => {
|
|
69
|
+
const { devInfo, dpSchema } = runtime.config;
|
|
70
|
+
const startedAt = Date.now();
|
|
71
|
+
const dpData = Object.keys(dps).reduce((acc, code) => {
|
|
72
|
+
const schema = dpSchema[code];
|
|
73
|
+
if (schema) {
|
|
74
|
+
let value = dps[code];
|
|
75
|
+
if (schema.type === "raw") {
|
|
76
|
+
value = hexToBase64(value);
|
|
77
|
+
}
|
|
78
|
+
acc[schema.id] = value;
|
|
79
|
+
}
|
|
80
|
+
return acc;
|
|
81
|
+
}, {});
|
|
82
|
+
sdkLog("info", "offlineDps", "publishStart", {
|
|
83
|
+
devId: runtime.devId,
|
|
84
|
+
data: { codes: Object.keys(dps), count: Object.keys(dpData).length },
|
|
85
|
+
});
|
|
86
|
+
try {
|
|
87
|
+
await publishOfflineDpData(devInfo.devId, dpData);
|
|
88
|
+
await checkOfflineDpUpdateForRuntime(runtime, {}, true);
|
|
89
|
+
sdkLog("info", "offlineDps", "publishSuccess", {
|
|
90
|
+
devId: runtime.devId,
|
|
91
|
+
duration: Date.now() - startedAt,
|
|
92
|
+
data: { codes: Object.keys(dps), count: Object.keys(dpData).length },
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
sdkLog("error", "offlineDps", "publishFail", {
|
|
97
|
+
devId: runtime.devId,
|
|
98
|
+
duration: Date.now() - startedAt,
|
|
99
|
+
data: { codes: Object.keys(dps), count: Object.keys(dpData).length },
|
|
100
|
+
error,
|
|
101
|
+
});
|
|
102
|
+
throw error;
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
export const clearOfflineDpsForRuntime = async (runtime) => {
|
|
106
|
+
const { devInfo } = runtime.config;
|
|
107
|
+
const startedAt = Date.now();
|
|
108
|
+
sdkLog("info", "offlineDps", "clearStart", {
|
|
109
|
+
devId: runtime.devId,
|
|
110
|
+
});
|
|
111
|
+
try {
|
|
112
|
+
await clearOfflineDpData(devInfo.devId);
|
|
113
|
+
await checkOfflineDpUpdateForRuntime(runtime, {}, true);
|
|
114
|
+
sdkLog("info", "offlineDps", "clearSuccess", {
|
|
115
|
+
devId: runtime.devId,
|
|
116
|
+
duration: Date.now() - startedAt,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
sdkLog("error", "offlineDps", "clearFail", {
|
|
121
|
+
devId: runtime.devId,
|
|
122
|
+
duration: Date.now() - startedAt,
|
|
123
|
+
error,
|
|
124
|
+
});
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
export const onOfflineDpsUpdateForRuntime = (runtime, callback) => {
|
|
129
|
+
emitter.on(getOfflineDpsUpdateEvent(runtime), callback);
|
|
130
|
+
};
|
|
131
|
+
export const offOfflineDpsUpdateForRuntime = (runtime, callback) => {
|
|
132
|
+
emitter.off(getOfflineDpsUpdateEvent(runtime), callback);
|
|
133
|
+
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { decrypt } from "../utils/device";
|
|
1
|
+
import { formatWeek, parseWeek } from "../../utils";
|
|
2
|
+
import { bytesToHex, concatBytes, uintToBytesBE } from "../../utils/byte";
|
|
3
|
+
import { decrypt } from "../../platform/device";
|
|
5
4
|
const SUB_CMD = 0x2003;
|
|
6
5
|
const PROTO_VERSION = 0x01;
|
|
7
6
|
const DATA_TYPE_TEMP_PWD = 0x01;
|
|
@@ -41,18 +40,18 @@ function mapState(phase) {
|
|
|
41
40
|
}
|
|
42
41
|
return 0x01;
|
|
43
42
|
}
|
|
44
|
-
async function resolvePwdBytes(password) {
|
|
43
|
+
async function resolvePwdBytes(devId, password) {
|
|
45
44
|
if (!password) {
|
|
46
45
|
return [];
|
|
47
46
|
}
|
|
48
|
-
const plainPwd = await decrypt(
|
|
47
|
+
const plainPwd = await decrypt(devId, password);
|
|
49
48
|
return plainPwd.split("").map((char) => Number(char));
|
|
50
49
|
}
|
|
51
|
-
async function buildItemBody(item, opCode) {
|
|
50
|
+
async function buildItemBody(devId, item, opCode) {
|
|
52
51
|
if (opCode === OP_DEL) {
|
|
53
52
|
return uintToBytesBE(item.sn, 2);
|
|
54
53
|
}
|
|
55
|
-
const pwdBytes = await resolvePwdBytes(item.password);
|
|
54
|
+
const pwdBytes = await resolvePwdBytes(devId, item.password);
|
|
56
55
|
const state = mapState(item.phase);
|
|
57
56
|
const timeSet = buildTimeSet(item);
|
|
58
57
|
const availTime = mapAvailTime(item.availTime);
|
|
@@ -74,14 +73,15 @@ function cloudOptToOpCode(opt) {
|
|
|
74
73
|
return null;
|
|
75
74
|
}
|
|
76
75
|
}
|
|
77
|
-
export async function buildBleTempPwdSyncPayload(pwdList) {
|
|
76
|
+
export async function buildBleTempPwdSyncPayload(runtime, pwdList) {
|
|
77
|
+
const devId = runtime.config.devInfo.devId;
|
|
78
78
|
const items = [];
|
|
79
79
|
for (const item of pwdList) {
|
|
80
80
|
const opCode = cloudOptToOpCode(item.opt);
|
|
81
81
|
if (opCode === null) {
|
|
82
82
|
continue;
|
|
83
83
|
}
|
|
84
|
-
const body = await buildItemBody(item, opCode);
|
|
84
|
+
const body = await buildItemBody(devId, item, opCode);
|
|
85
85
|
items.push(concatBytes(new Uint8Array([opCode]), uintToBytesBE(body.length, 2), body));
|
|
86
86
|
}
|
|
87
87
|
const itemsBuf = concatBytes(...items);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LockDeviceRuntime } from "../../runtime/LockDeviceRuntime";
|
|
2
|
+
export declare const notifyBleSyncRequest: (runtime: LockDeviceRuntime) => Promise<void>;
|
|
3
|
+
export declare const autoSyncTemp: (runtime: LockDeviceRuntime) => void;
|
|
4
|
+
export declare const handleBleSyncRequestReport: (runtime: LockDeviceRuntime, rawValue: string) => Promise<void>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { getSyncTempPasswords } from "../../api/temp";
|
|
2
|
+
import dpCodes from "../../config/dp-code";
|
|
3
|
+
import { bleSyncRequestPublish as bleSyncRequestPublishMap, bleSyncRequestReport as bleSyncRequestReportMap, } from "../../config/dp-map/ble-sync";
|
|
4
|
+
import { isUseNearChannelForRuntime } from "../misc/is-use-near-channel-for-runtime";
|
|
5
|
+
import { hasDpForRuntime } from "../dp/has-dp";
|
|
6
|
+
import { publishDpsOnlyWithRuntime } from "../dp/publish-dps";
|
|
7
|
+
import { publishBLETransparentData } from "../../platform/device";
|
|
8
|
+
import { buildBleTempPwdSyncPayload } from "./ble-temp-payload";
|
|
9
|
+
import dpUtils from "@ray-js/tuya-dp-transform";
|
|
10
|
+
import { sdkLog } from "../../utils/sdk-log";
|
|
11
|
+
const NOTIFY_DEBOUNCE_MS = 2000;
|
|
12
|
+
const CMD_REQUEST_SYNC = 0x01;
|
|
13
|
+
const DATA_TYPE_TEMP_PWD = 0x01;
|
|
14
|
+
const isBleSyncEligible = (runtime) => isUseNearChannelForRuntime(runtime) &&
|
|
15
|
+
hasDpForRuntime(runtime, dpCodes.bleSyncRequest);
|
|
16
|
+
export const notifyBleSyncRequest = async (runtime) => {
|
|
17
|
+
if (!isBleSyncEligible(runtime)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const { count } = await getSyncTempPasswords({
|
|
21
|
+
devId: runtime.config.devInfo.devId,
|
|
22
|
+
isUpt: false,
|
|
23
|
+
});
|
|
24
|
+
await publishDpsOnlyWithRuntime(runtime, {
|
|
25
|
+
[dpCodes.bleSyncRequest]: dpUtils.format({ cmd: count > 0 ? 0x01 : 0x00 }, bleSyncRequestPublishMap),
|
|
26
|
+
});
|
|
27
|
+
sdkLog("info", "tempPassword", "bleSyncNotify", {
|
|
28
|
+
devId: runtime.devId,
|
|
29
|
+
data: { hasPending: count > 0 },
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export const autoSyncTemp = (runtime) => {
|
|
33
|
+
if (!isBleSyncEligible(runtime) || !runtime.sync.tempAutoSyncEnabled) {
|
|
34
|
+
sdkLog("debug", "tempPassword", "autoSyncSkipped", {
|
|
35
|
+
devId: runtime.devId,
|
|
36
|
+
data: {
|
|
37
|
+
nearChannel: isUseNearChannelForRuntime(runtime),
|
|
38
|
+
hasDp: hasDpForRuntime(runtime, dpCodes.bleSyncRequest),
|
|
39
|
+
enabled: runtime.sync.tempAutoSyncEnabled,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
clearTimeout(runtime.infra.tempSyncNotifyTimer);
|
|
45
|
+
runtime.infra.tempSyncNotifyTimer = setTimeout(() => {
|
|
46
|
+
runtime.infra.tempSyncNotifyTimer = 0;
|
|
47
|
+
notifyBleSyncRequest(runtime).catch((e) => {
|
|
48
|
+
sdkLog("warn", "tempPassword", "bleSyncNotifyFail", {
|
|
49
|
+
devId: runtime.devId,
|
|
50
|
+
error: e,
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}, NOTIFY_DEBOUNCE_MS);
|
|
54
|
+
};
|
|
55
|
+
export const handleBleSyncRequestReport = async (runtime, rawValue) => {
|
|
56
|
+
if (!isBleSyncEligible(runtime) || runtime.sync.tempPayloadSyncing) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const report = dpUtils.parse(rawValue, bleSyncRequestReportMap);
|
|
60
|
+
if (report.cmd !== CMD_REQUEST_SYNC ||
|
|
61
|
+
report.dataType !== DATA_TYPE_TEMP_PWD) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
runtime.sync.tempPayloadSyncing = true;
|
|
65
|
+
const startedAt = Date.now();
|
|
66
|
+
try {
|
|
67
|
+
const { count, pwdList } = await getSyncTempPasswords({
|
|
68
|
+
devId: runtime.config.devInfo.devId,
|
|
69
|
+
isUpt: false,
|
|
70
|
+
});
|
|
71
|
+
if (count > 0 && pwdList?.length) {
|
|
72
|
+
const payload = await buildBleTempPwdSyncPayload(runtime, pwdList);
|
|
73
|
+
await publishBLETransparentData(runtime.config.devInfo.devId, payload);
|
|
74
|
+
sdkLog("info", "tempPassword", "bleSyncPayloadSent", {
|
|
75
|
+
devId: runtime.devId,
|
|
76
|
+
duration: Date.now() - startedAt,
|
|
77
|
+
data: { count },
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
sdkLog("warn", "tempPassword", "bleSyncPayloadFail", {
|
|
83
|
+
devId: runtime.devId,
|
|
84
|
+
duration: Date.now() - startedAt,
|
|
85
|
+
error: e,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
runtime.sync.tempPayloadSyncing = false;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TempPasswordResult } from "../../../interface";
|
|
2
|
+
import type { LockDeviceRuntime } from "../../../runtime/LockDeviceRuntime";
|
|
3
|
+
import type { CreateCustomParams, RemoveCustomProps, UpdateTempPasswordParams } from "./types";
|
|
4
|
+
export declare const createTempCustomForRuntime: (this: unknown, rt: LockDeviceRuntime, params: CreateCustomParams) => Promise<TempPasswordResult>;
|
|
5
|
+
export declare const updateTempCustomForRuntime: (this: unknown, rt: LockDeviceRuntime, params: UpdateTempPasswordParams) => Promise<boolean>;
|
|
6
|
+
export declare const removeTempCustomForRuntime: (this: unknown, rt: LockDeviceRuntime, params: RemoveCustomProps) => Promise<boolean>;
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { createTemporaryPassword, deleteTempPassword, fetchEffectiveList, updateTemporaryPassword, } from "../../../api/temp";
|
|
2
|
+
import { getError, handleCloudError } from "../../../utils/errors";
|
|
3
|
+
import { publishDpsForRuntime } from "../../dp/publish-dps";
|
|
4
|
+
import { parallelOnlyForRuntime } from "../../utils";
|
|
5
|
+
import { addBleTempPwd as addBleTempPwdDpMap, reportAddBleTempPwd as reportAddBleTempPwdDpMap, updateBleTempPwd as updateBleTempPwdDpMap, reportUpdateTempPwd as reportUpdateTempPwdDpMap, removeTempPwd as removeTempPwdDpMap, reportRemoveTempPwd as reportRemoveTempPwdDpMap, } from "../../../config/dp-map/unlock-method";
|
|
6
|
+
import dpCodes from "../../../config/dp-code";
|
|
7
|
+
import dpUtils from "@ray-js/tuya-dp-transform";
|
|
8
|
+
import { formatWeek, validateEffectiveConfig } from "../../../utils";
|
|
9
|
+
import { LoopTypes } from "../../../utils/constant";
|
|
10
|
+
import { sdkLog } from "../../../utils/sdk-log";
|
|
11
|
+
import { isValidPassword } from "./internal/password-helpers";
|
|
12
|
+
import { prepareCustomTempCreateContext, } from "./custom-dp-create-shared";
|
|
13
|
+
function throwBleTempPwdAddDpReportStatus(status) {
|
|
14
|
+
switch (status) {
|
|
15
|
+
case 1:
|
|
16
|
+
throw getError(1042);
|
|
17
|
+
case 2:
|
|
18
|
+
throw getError(1041);
|
|
19
|
+
case 3:
|
|
20
|
+
throw getError(1037);
|
|
21
|
+
default:
|
|
22
|
+
throw getError(1042);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function publishBleTempCustomUpdateNearDp(rt, sn, validConfig) {
|
|
26
|
+
const targetDpCode = dpCodes.tempPwdEdit;
|
|
27
|
+
const reportMap = reportUpdateTempPwdDpMap;
|
|
28
|
+
const dpPayload = dpUtils.format({
|
|
29
|
+
unlockId: sn,
|
|
30
|
+
type: 1,
|
|
31
|
+
validConfig,
|
|
32
|
+
validNum: 0,
|
|
33
|
+
pwdLength: 0,
|
|
34
|
+
pwd: [],
|
|
35
|
+
}, updateBleTempPwdDpMap);
|
|
36
|
+
const result = await publishDpsForRuntime(rt, { [targetDpCode]: dpPayload }, {
|
|
37
|
+
checkReport: (dpsIn) => {
|
|
38
|
+
const dpDataRow = dpsIn;
|
|
39
|
+
const reportData = dpDataRow[targetDpCode];
|
|
40
|
+
if (reportData) {
|
|
41
|
+
const data = dpUtils.parse(reportData, reportMap);
|
|
42
|
+
if (data["unlockId"] === sn) {
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
if (result.status === 0) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
throw getError(1082);
|
|
53
|
+
}
|
|
54
|
+
async function publishBleTempCustomCreateNearDp(rt, params, prepared) {
|
|
55
|
+
const cfg = rt.config;
|
|
56
|
+
const { effective, validConfig } = prepared;
|
|
57
|
+
const targetDpCode = cfg.supportBigData
|
|
58
|
+
? dpCodes.tempPwdCreateW
|
|
59
|
+
: dpCodes.tempPwdCreate;
|
|
60
|
+
const dpPayload = dpUtils.format({
|
|
61
|
+
type: 1,
|
|
62
|
+
validConfig,
|
|
63
|
+
validNum: 0,
|
|
64
|
+
pwdLength: params.password.length,
|
|
65
|
+
pwd: params.password.split("").map(Number),
|
|
66
|
+
}, addBleTempPwdDpMap);
|
|
67
|
+
const result = await publishDpsForRuntime(rt, {
|
|
68
|
+
[targetDpCode]: dpPayload,
|
|
69
|
+
}, {
|
|
70
|
+
checkReport: (dpsIn) => {
|
|
71
|
+
const dpDataRow = dpsIn;
|
|
72
|
+
const reportData = dpDataRow[targetDpCode];
|
|
73
|
+
if (reportData) {
|
|
74
|
+
const data = dpUtils.parse(dpDataRow[targetDpCode], reportAddBleTempPwdDpMap);
|
|
75
|
+
sdkLog("debug", "tempPassword", "addBleTempPwdReport", {
|
|
76
|
+
devId: rt.devId,
|
|
77
|
+
data: { status: data.status, unlockId: data.unlockId },
|
|
78
|
+
});
|
|
79
|
+
return data;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
const status = Number(result.status);
|
|
85
|
+
if (status === 0) {
|
|
86
|
+
return result.unlockId;
|
|
87
|
+
}
|
|
88
|
+
throwBleTempPwdAddDpReportStatus(status);
|
|
89
|
+
}
|
|
90
|
+
export const createTempCustomForRuntime = parallelOnlyForRuntime(async function (rt, params) {
|
|
91
|
+
const startedAt = Date.now();
|
|
92
|
+
sdkLog("info", "tempPassword", "createBleCustomStart", {
|
|
93
|
+
devId: rt.devId,
|
|
94
|
+
data: {
|
|
95
|
+
hasName: typeof params.name === "string",
|
|
96
|
+
repeat: params.effective?.repeat,
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
const prepared = await prepareCustomTempCreateContext(rt, params);
|
|
100
|
+
await isValidPassword(prepared.baseData);
|
|
101
|
+
const unlockId = await publishBleTempCustomCreateNearDp(rt, params, prepared);
|
|
102
|
+
const result = await createTemporaryPassword({
|
|
103
|
+
...prepared.baseData,
|
|
104
|
+
sn: unlockId,
|
|
105
|
+
availTime: 0,
|
|
106
|
+
});
|
|
107
|
+
sdkLog("info", "tempPassword", "createBleCustomSuccess", {
|
|
108
|
+
devId: rt.devId,
|
|
109
|
+
duration: Date.now() - startedAt,
|
|
110
|
+
data: { unlockId },
|
|
111
|
+
});
|
|
112
|
+
return {
|
|
113
|
+
type: "custom",
|
|
114
|
+
name: result.name,
|
|
115
|
+
password: params.password,
|
|
116
|
+
unlockBindingId: result.unlockBindingId,
|
|
117
|
+
effectiveConfig: prepared.effective,
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
export const updateTempCustomForRuntime = parallelOnlyForRuntime(async function (rt, params) {
|
|
121
|
+
const startedAt = Date.now();
|
|
122
|
+
const cfg = rt.config;
|
|
123
|
+
const { unlockBindingId, name, effective } = params;
|
|
124
|
+
sdkLog("info", "tempPassword", "updateBleCustomStart", {
|
|
125
|
+
devId: rt.devId,
|
|
126
|
+
data: {
|
|
127
|
+
hasName: typeof name === "string",
|
|
128
|
+
repeat: effective?.repeat,
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
if (name && name.length > 20) {
|
|
132
|
+
const error = getError(1031);
|
|
133
|
+
sdkLog("warn", "tempPassword", "updateBleCustomInvalidName", {
|
|
134
|
+
devId: rt.devId,
|
|
135
|
+
data: { nameLength: name.length },
|
|
136
|
+
error,
|
|
137
|
+
});
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
validateEffectiveConfig(effective);
|
|
141
|
+
const loopType = effective?.repeat
|
|
142
|
+
?
|
|
143
|
+
LoopTypes[effective?.repeat?.toUpperCase()]
|
|
144
|
+
: LoopTypes.NONE;
|
|
145
|
+
const schedule = [
|
|
146
|
+
{
|
|
147
|
+
allDay: loopType === LoopTypes.NONE,
|
|
148
|
+
effectiveTime: effective?.effectiveTime ?? 0,
|
|
149
|
+
invalidTime: effective?.expiredTime ?? 0,
|
|
150
|
+
workingDay: formatWeek(effective?.weeks ?? [0]),
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
const { effectiveTime = 0, expiredTime = 1439 } = effective;
|
|
154
|
+
const validConfig = {
|
|
155
|
+
startTime: effective.effectiveDate,
|
|
156
|
+
endTime: effective.expiredDate,
|
|
157
|
+
loop: loopType,
|
|
158
|
+
loopConfig: 0,
|
|
159
|
+
weeks: effective.weeks ? effective.weeks : [0, 0, 0, 0, 0, 0, 0],
|
|
160
|
+
days: [],
|
|
161
|
+
startHour: Math.floor(effectiveTime / 60),
|
|
162
|
+
startMinute: effectiveTime % 60,
|
|
163
|
+
endHour: Math.floor(expiredTime / 60),
|
|
164
|
+
endMinute: expiredTime % 60,
|
|
165
|
+
};
|
|
166
|
+
const cloudPayload = {
|
|
167
|
+
devId: cfg.devInfo.devId,
|
|
168
|
+
effectiveTime: effective.effectiveDate,
|
|
169
|
+
invalidTime: effective.expiredDate,
|
|
170
|
+
name,
|
|
171
|
+
schedule,
|
|
172
|
+
unlockBindingId,
|
|
173
|
+
};
|
|
174
|
+
const list = await fetchEffectiveList({
|
|
175
|
+
devId: cfg.devInfo.devId,
|
|
176
|
+
authTypes: ["LOCK_OFFLINE_TEMP_PWD", "LOCK_TEMP_PWD"],
|
|
177
|
+
});
|
|
178
|
+
const row = list.find((item) => item.unlockBindingId === unlockBindingId);
|
|
179
|
+
if (!row) {
|
|
180
|
+
const error = getError(1051);
|
|
181
|
+
sdkLog("warn", "tempPassword", "updateBleCustomNotFound", {
|
|
182
|
+
devId: rt.devId,
|
|
183
|
+
error,
|
|
184
|
+
});
|
|
185
|
+
throw error;
|
|
186
|
+
}
|
|
187
|
+
try {
|
|
188
|
+
await publishBleTempCustomUpdateNearDp(rt, row.sn, validConfig);
|
|
189
|
+
const result = await updateTemporaryPassword(cloudPayload);
|
|
190
|
+
sdkLog("info", "tempPassword", "updateBleCustomSuccess", {
|
|
191
|
+
devId: rt.devId,
|
|
192
|
+
duration: Date.now() - startedAt,
|
|
193
|
+
});
|
|
194
|
+
return result;
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
sdkLog("error", "tempPassword", "updateBleCustomFail", {
|
|
198
|
+
devId: rt.devId,
|
|
199
|
+
duration: Date.now() - startedAt,
|
|
200
|
+
error,
|
|
201
|
+
});
|
|
202
|
+
throw handleCloudError(error);
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
export const removeTempCustomForRuntime = parallelOnlyForRuntime(async function (rt, params) {
|
|
206
|
+
const startedAt = Date.now();
|
|
207
|
+
const cfg = rt.config;
|
|
208
|
+
const dpCode = dpCodes.tempPwdDel;
|
|
209
|
+
sdkLog("info", "tempPassword", "removeBleCustomStart", {
|
|
210
|
+
devId: rt.devId,
|
|
211
|
+
data: { sn: params.sn },
|
|
212
|
+
});
|
|
213
|
+
try {
|
|
214
|
+
const result = await publishDpsForRuntime(rt, {
|
|
215
|
+
[dpCode]: dpUtils.format({ unlockId: params.sn }, removeTempPwdDpMap),
|
|
216
|
+
}, {
|
|
217
|
+
checkReport: (dpsIn) => {
|
|
218
|
+
const dpDataRow = dpsIn;
|
|
219
|
+
const reportData = dpDataRow[dpCode];
|
|
220
|
+
if (reportData) {
|
|
221
|
+
const data = dpUtils.parse(reportData, reportRemoveTempPwdDpMap);
|
|
222
|
+
sdkLog("debug", "tempPassword", "removeTempPwdReport", {
|
|
223
|
+
devId: rt.devId,
|
|
224
|
+
data: { unlockId: data.unlockId },
|
|
225
|
+
});
|
|
226
|
+
if (data["unlockId"] === params.sn) {
|
|
227
|
+
return data;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return false;
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
if (result.status !== 0) {
|
|
234
|
+
const error = getError(1028);
|
|
235
|
+
sdkLog("warn", "tempPassword", "removeBleCustomDpFail", {
|
|
236
|
+
devId: rt.devId,
|
|
237
|
+
duration: Date.now() - startedAt,
|
|
238
|
+
data: { status: result.status },
|
|
239
|
+
error,
|
|
240
|
+
});
|
|
241
|
+
throw error;
|
|
242
|
+
}
|
|
243
|
+
await deleteTempPassword({
|
|
244
|
+
devId: cfg.devInfo.devId,
|
|
245
|
+
unlockBindingId: params.unlockBindingId,
|
|
246
|
+
symbolic: false,
|
|
247
|
+
dpTunnel: 2,
|
|
248
|
+
});
|
|
249
|
+
sdkLog("info", "tempPassword", "removeBleCustomSuccess", {
|
|
250
|
+
devId: rt.devId,
|
|
251
|
+
duration: Date.now() - startedAt,
|
|
252
|
+
});
|
|
253
|
+
return true;
|
|
254
|
+
}
|
|
255
|
+
catch (e) {
|
|
256
|
+
sdkLog("error", "tempPassword", "removeBleCustomFail", {
|
|
257
|
+
devId: rt.devId,
|
|
258
|
+
duration: Date.now() - startedAt,
|
|
259
|
+
error: e,
|
|
260
|
+
});
|
|
261
|
+
throw handleCloudError(e);
|
|
262
|
+
}
|
|
263
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { EffectiveConfig, TempPasswordResult } from "../../../interface";
|
|
2
|
+
import type { LockDeviceRuntime } from "../../../runtime/LockDeviceRuntime";
|
|
3
|
+
import { LoopTypes } from "../../../utils/constant";
|
|
4
|
+
import type { CreateCustomParams } from "./types";
|
|
5
|
+
export interface CustomTempCreatePrepared {
|
|
6
|
+
baseData: {
|
|
7
|
+
devId: string;
|
|
8
|
+
effectiveTime: number;
|
|
9
|
+
invalidTime: number;
|
|
10
|
+
name?: string;
|
|
11
|
+
password: string;
|
|
12
|
+
schedule: {
|
|
13
|
+
allDay: boolean;
|
|
14
|
+
effectiveTime: number;
|
|
15
|
+
invalidTime: number;
|
|
16
|
+
workingDay: number;
|
|
17
|
+
}[];
|
|
18
|
+
};
|
|
19
|
+
effective: EffectiveConfig;
|
|
20
|
+
validConfig: {
|
|
21
|
+
startTime: number;
|
|
22
|
+
endTime: number;
|
|
23
|
+
loop: LoopTypes;
|
|
24
|
+
loopConfig: number;
|
|
25
|
+
weeks: number[];
|
|
26
|
+
days: never[];
|
|
27
|
+
startHour: number;
|
|
28
|
+
startMinute: number;
|
|
29
|
+
endHour: number;
|
|
30
|
+
endMinute: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export declare function prepareCustomTempCreateContext(rt: LockDeviceRuntime, params: CreateCustomParams): Promise<CustomTempCreatePrepared>;
|
|
34
|
+
export declare function buildTempCustomCreateResult(createdName: string | undefined, passwordPlain: string, unlockBindingId: string, effective: EffectiveConfig): TempPasswordResult;
|