@ledgerhq/device-management-kit 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/src/api/apdu/utils/ApduBuilder.js +1 -1
- package/lib/cjs/src/api/apdu/utils/ApduBuilder.js.map +3 -3
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
- package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -1
- package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/GetDeviceStatus/types.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +2 -2
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/ListApps/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListApps/types.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/types.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js +1 -1
- package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
- package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +3 -3
- package/lib/cjs/src/api/index.js +1 -1
- package/lib/cjs/src/api/index.js.map +3 -3
- package/lib/cjs/src/api/types.js +1 -1
- package/lib/cjs/src/api/types.js.map +1 -1
- package/lib/cjs/src/api/utils/ApplicationChecker.js +2 -0
- package/lib/cjs/src/api/utils/ApplicationChecker.js.map +7 -0
- package/lib/cjs/src/api/utils/ApplicationChecker.test.js +2 -0
- package/lib/cjs/src/api/utils/ApplicationChecker.test.js.map +7 -0
- package/lib/cjs/src/api/utils/ApplicationResolver.js +2 -0
- package/lib/cjs/src/api/utils/ApplicationResolver.js.map +7 -0
- package/lib/cjs/src/api/utils/Base64String.js +1 -1
- package/lib/cjs/src/api/utils/Base64String.js.map +3 -3
- package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
- package/lib/cjs/src/api/utils/Base64String.test.js.map +3 -3
- package/lib/esm/package.json +1 -1
- package/lib/esm/src/api/apdu/utils/ApduBuilder.js +1 -1
- package/lib/esm/src/api/apdu/utils/ApduBuilder.js.map +3 -3
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
- package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
- package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +4 -4
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js +1 -0
- package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +4 -4
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/types.js +1 -0
- package/lib/esm/src/api/device-action/os/GetDeviceStatus/types.js.map +4 -4
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/GoToDashboard/types.js +1 -0
- package/lib/esm/src/api/device-action/os/GoToDashboard/types.js.map +4 -4
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js +1 -0
- package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js.map +4 -4
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/ListApps/types.js +1 -0
- package/lib/esm/src/api/device-action/os/ListApps/types.js.map +4 -4
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/types.js +1 -0
- package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/types.js.map +4 -4
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -0
- package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/types.js.map +4 -4
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js +1 -0
- package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js.map +4 -4
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +3 -3
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -0
- package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +4 -4
- package/lib/esm/src/api/index.js +1 -1
- package/lib/esm/src/api/index.js.map +3 -3
- package/lib/esm/src/api/utils/ApplicationChecker.js +2 -0
- package/lib/esm/src/api/utils/ApplicationChecker.js.map +7 -0
- package/lib/esm/src/api/utils/ApplicationChecker.test.js +2 -0
- package/lib/esm/src/api/utils/ApplicationChecker.test.js.map +7 -0
- package/lib/esm/src/api/utils/ApplicationResolver.js +1 -0
- package/lib/esm/src/api/utils/ApplicationResolver.js.map +7 -0
- package/lib/esm/src/api/utils/Base64String.js +1 -1
- package/lib/esm/src/api/utils/Base64String.js.map +3 -3
- package/lib/esm/src/api/utils/Base64String.test.js +1 -1
- package/lib/esm/src/api/utils/Base64String.test.js.map +3 -3
- package/lib/types/src/api/apdu/utils/ApduBuilder.d.ts +7 -0
- package/lib/types/src/api/apdu/utils/ApduBuilder.d.ts.map +1 -1
- package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +9 -1
- package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +13 -2
- package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GetDeviceStatus/types.d.ts +6 -0
- package/lib/types/src/api/device-action/os/GetDeviceStatus/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.d.ts +1 -1
- package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts +9 -1
- package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts +9 -1
- package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListApps/ListAppsDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListApps/types.d.ts +6 -0
- package/lib/types/src/api/device-action/os/ListApps/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts +8 -1
- package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +12 -2
- package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts +8 -0
- package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +9 -1
- package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
- package/lib/types/src/api/index.d.ts +4 -2
- package/lib/types/src/api/index.d.ts.map +1 -1
- package/lib/types/src/api/types.d.ts +1 -0
- package/lib/types/src/api/types.d.ts.map +1 -1
- package/lib/types/src/api/utils/ApplicationChecker.d.ts +14 -0
- package/lib/types/src/api/utils/ApplicationChecker.d.ts.map +1 -0
- package/lib/types/src/api/utils/ApplicationChecker.test.d.ts +2 -0
- package/lib/types/src/api/utils/ApplicationChecker.test.d.ts.map +1 -0
- package/lib/types/src/api/utils/ApplicationResolver.d.ts +12 -0
- package/lib/types/src/api/utils/ApplicationResolver.d.ts.map +1 -0
- package/lib/types/src/api/utils/Base64String.d.ts +1 -0
- package/lib/types/src/api/utils/Base64String.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +5 -5
package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.ts"],
|
|
4
|
-
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { type Observable } from \"rxjs\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nimport { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nimport {\n GetApplicationsMetadataTask,\n type GetApplicationsMetadataTaskResult,\n type InstalledApp,\n} from \"@api/device-action/task/GetApplicationsMetadataTask\";\nimport {\n GetFirmwareMetadataTask,\n type GetFirmwareMetadataTaskResult,\n} from \"@api/device-action/task/GetFirmwareMetadataTask\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport {\n type Catalog,\n type CustomImage,\n DeviceSessionStateType,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport { installedAppResultGuard } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { ConnectToSecureChannelTask } from \"@api/secure-channel/task/ConnectToSecureChannelTask\";\nimport { SecureChannelEventType } from \"@api/secure-channel/task/types\";\nimport { type SecureChannelEvent } from \"@api/secure-channel/task/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport {\n type GetDeviceMetadataDAError,\n type GetDeviceMetadataDAInput,\n type GetDeviceMetadataDAIntermediateValue,\n type GetDeviceMetadataDAOutput,\n} from \"./types\";\n\ntype GetDeviceMetadataMachineInternalState = {\n readonly error: GetDeviceMetadataDAError | null;\n readonly deviceVersion: DeviceVersion | null;\n readonly firmware: FinalFirmware | null;\n readonly firmwareVersion: FirmwareVersion | null;\n readonly firmwareUpdateContext: FirmwareUpdateContext | null;\n readonly customImage: CustomImage | null;\n readonly installedApps: InstalledApp[] | null;\n readonly applications: Application[] | null;\n readonly applicationsUpdates: Application[] | null;\n readonly installedLanguages: InstalledLanguagePackage[] | null;\n readonly catalog: Catalog | null;\n};\n\nexport type GetDeviceMetadataFromContextTaskResult = {\n readonly firmwareVersion: FirmwareVersion;\n readonly firmwareUpdateContext: FirmwareUpdateContext;\n readonly customImage: CustomImage;\n readonly applications: Application[];\n readonly applicationsUpdates: Application[];\n readonly installedLanguages: InstalledLanguagePackage[];\n readonly catalog: Catalog;\n} | null;\n\nexport type MachineDependencies = {\n readonly getDeviceMetadata: () => Promise<GetDeviceMetadataFromContextTaskResult>;\n readonly getFirmwareMetadata: () => Promise<GetFirmwareMetadataTaskResult>;\n readonly getApplicationsMetadata: (arg0: {\n input: {\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n installedApps: InstalledApp[];\n };\n }) => Promise<GetApplicationsMetadataTaskResult>;\n readonly listAppsSecureChannel: (arg0: {\n input: {\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n };\n }) => Observable<SecureChannelEvent>;\n};\n\nexport type ExtractMachineDependencies = (\n internalApi: InternalApi,\n) => MachineDependencies;\n\nexport class GetDeviceMetadataDeviceAction extends XStateDeviceAction<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAInput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue,\n GetDeviceMetadataMachineInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAInput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue,\n GetDeviceMetadataMachineInternalState\n > {\n type types = StateMachineTypes<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAInput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue,\n GetDeviceMetadataMachineInternalState\n >;\n\n const {\n getDeviceMetadata,\n getFirmwareMetadata,\n getApplicationsMetadata,\n listAppsSecureChannel,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const goToDashboardMachine = new GoToDashboardDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n const listAppsMachine = new ListAppsDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {\n unlockTimeout,\n } as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n goToDashboard: goToDashboardMachine,\n getDeviceMetadata: fromPromise(getDeviceMetadata),\n getFirmwareMetadata: fromPromise(getFirmwareMetadata),\n getApplicationsMetadata: fromPromise(getApplicationsMetadata),\n listApps: listAppsMachine,\n listAppsSecureChannel: fromObservable(listAppsSecureChannel),\n },\n guards: {\n hasError: ({ context }) => context._internalState.error !== null,\n hasMetadata: ({ context }) =>\n context._internalState.firmwareVersion !== null &&\n context._internalState.firmwareUpdateContext !== null &&\n context._internalState.customImage !== null &&\n context._internalState.applications !== null &&\n context._internalState.applicationsUpdates !== null &&\n context._internalState.installedLanguages !== null &&\n context._internalState.catalog !== null,\n forceUpdate: ({ context }) => Boolean(context.input.forceUpdate),\n useSecureChannel: ({ context }) =>\n Boolean(context.input.useSecureChannel),\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: it should never happen, the error is not typed anymore here\n }),\n }),\n },\n }).createMachine({\n id: \"GetDeviceMetadataDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: {\n useSecureChannel: _.input.useSecureChannel,\n forceUpdate: _.input.forceUpdate,\n unlockTimeout: _.input.unlockTimeout,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n deviceVersion: null,\n firmware: null,\n firmwareVersion: null,\n firmwareUpdateContext: null,\n customImage: null,\n installedApps: null,\n applications: null,\n applicationsUpdates: null,\n installedLanguages: null,\n catalog: null,\n },\n };\n },\n states: {\n DeviceReady: {\n always: [\n {\n target: \"GoToDashboard\",\n guard: \"forceUpdate\",\n },\n {\n target: \"GetDeviceMetadataFromContext\",\n },\n ],\n },\n GetDeviceMetadataFromContext: {\n invoke: {\n src: \"getDeviceMetadata\",\n onDone: {\n target: \"GetDeviceMetadataFromContextResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (_.event.output === null) {\n return _.context._internalState;\n } else {\n return {\n ..._.context._internalState,\n firmwareVersion: _.event.output.firmwareVersion,\n firmwareUpdateContext:\n _.event.output.firmwareUpdateContext,\n customImage: _.event.output.customImage,\n applications: _.event.output.applications,\n applicationsUpdates: _.event.output.applicationsUpdates,\n installedLanguages: _.event.output.installedLanguages,\n catalog: _.event.output.catalog,\n };\n }\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetDeviceMetadataFromContextResultCheck: {\n always: [\n {\n target: \"Success\",\n guard: \"hasMetadata\",\n },\n {\n target: \"GoToDashboard\",\n },\n ],\n },\n GoToDashboard: {\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n invoke: {\n id: \"dashboard\",\n src: \"goToDashboard\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n target: \"GoToDashboardCheck\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf({\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n });\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GoToDashboardCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetFirmwareMetadata\",\n },\n ],\n },\n GetFirmwareMetadata: {\n invoke: {\n src: \"getFirmwareMetadata\",\n onDone: {\n target: \"GetFirmwareMetadataResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const deviceState = internalApi.getDeviceSessionState();\n if (\n deviceState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n internalApi.setDeviceSessionState({\n ...deviceState,\n firmwareVersion: _.event.output.data.firmwareVersion,\n firmwareUpdateContext:\n _.event.output.data.firmwareUpdateContext,\n customImage: _.event.output.data.customImage,\n });\n }\n return {\n ..._.context._internalState,\n deviceVersion: _.event.output.data.deviceVersion,\n firmware: _.event.output.data.firmware,\n firmwareVersion: _.event.output.data.firmwareVersion,\n firmwareUpdateContext:\n _.event.output.data.firmwareUpdateContext,\n customImage: _.event.output.data.customImage,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetFirmwareMetadataResultCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"useSecureChannel\",\n target: \"ListAppsSecureChannel\",\n },\n {\n target: \"ListApps\",\n },\n ],\n },\n ListAppsSecureChannel: {\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n invoke: {\n id: \"listAppsSecureChannel\",\n src: \"listAppsSecureChannel\",\n input: (_) => ({\n firmware: _.context._internalState.firmware!,\n firmwareVersion: _.context._internalState.firmwareVersion!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => {\n switch (_.event.snapshot.context?.type) {\n case SecureChannelEventType.DeviceId: {\n return {\n ..._.context.intermediateValue,\n deviceId: _.event.snapshot.context.payload.deviceId,\n };\n }\n case SecureChannelEventType.PermissionRequested: {\n return {\n ..._.context.intermediateValue,\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n };\n }\n case SecureChannelEventType.PermissionGranted: {\n const deviceState = internalApi.getDeviceSessionState();\n if (\n deviceState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n internalApi.setDeviceSessionState({\n ...deviceState,\n isSecureConnectionAllowed: true,\n });\n }\n return {\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n };\n }\n default:\n return {\n ..._.context.intermediateValue,\n };\n }\n },\n _internalState: (_) => {\n if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Error\n ) {\n return {\n ..._.context._internalState,\n error: _.event.snapshot.context.error.mapDAErrors(),\n };\n } else if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Result\n ) {\n if (\n installedAppResultGuard(_.event.snapshot.context.payload)\n ) {\n return {\n ..._.context._internalState,\n installedApps: _.event.snapshot.context.payload.map(\n (app) => ({\n name: app.name,\n hash: app.hash,\n hashCode: app.hash_code_data,\n }),\n ),\n };\n }\n throw new Error(\n `Invalid result ${JSON.stringify(_.event.snapshot.context.payload)}`,\n );\n }\n return { ..._.context._internalState };\n },\n }),\n },\n onDone: {\n target: \"ListAppsCheck\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n ListApps: {\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n invoke: {\n id: \"listApps\",\n src: \"listApps\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n target: \"ListAppsCheck\",\n actions: assign({\n _internalState: (_) => {\n if (_.event.output.isLeft()) {\n return {\n ..._.context._internalState,\n error: _.event.output.extract(),\n };\n } else {\n return {\n ..._.context._internalState,\n installedApps: _.event.output\n .unsafeCoerce()\n .map((app) => ({\n name: app.appName,\n hash: app.appFullHash,\n hashCode: app.appCodeHash,\n })),\n };\n }\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n ListAppsCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetApplicationsMetadata\",\n },\n ],\n },\n GetApplicationsMetadata: {\n invoke: {\n src: \"getApplicationsMetadata\",\n input: (_) => ({\n deviceVersion: _.context._internalState.deviceVersion!,\n firmware: _.context._internalState.firmware!,\n firmwareVersion: _.context._internalState.firmwareVersion!,\n installedApps: _.context._internalState.installedApps!,\n }),\n onDone: {\n target: \"GetApplicationsMetadataResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const deviceState = internalApi.getDeviceSessionState();\n if (\n deviceState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n internalApi.setDeviceSessionState({\n ...deviceState,\n installedApps: _.event.output.data.applications,\n appsUpdates: _.event.output.data.applicationsUpdates,\n installedLanguages:\n _.event.output.data.installedLanguages,\n catalog: _.event.output.data.catalog,\n });\n }\n return {\n ..._.context._internalState,\n applications: _.event.output.data.applications,\n applicationsUpdates:\n _.event.output.data.applicationsUpdates,\n installedLanguages:\n _.event.output.data.installedLanguages,\n catalog: _.event.output.data.catalog,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetApplicationsMetadataResultCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (args) => {\n const { context } = args;\n const {\n error,\n firmwareVersion,\n firmwareUpdateContext,\n customImage,\n applications,\n applicationsUpdates,\n installedLanguages,\n catalog,\n } = context._internalState;\n if (error) {\n return Left(error);\n }\n return Right({\n firmwareVersion: firmwareVersion!,\n firmwareUpdateContext: firmwareUpdateContext!,\n customImage: customImage!,\n applications: applications!,\n applicationsUpdates: applicationsUpdates!,\n installedLanguages: installedLanguages!,\n catalog: catalog!,\n });\n },\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n const getDeviceMetadata = () => {\n const deviceState = internalApi.getDeviceSessionState();\n if (\n deviceState.sessionStateType === DeviceSessionStateType.Connected ||\n deviceState.firmwareVersion?.metadata === undefined ||\n deviceState.firmwareUpdateContext === undefined ||\n deviceState.customImage === undefined ||\n deviceState.installedApps.length === 0 ||\n deviceState.appsUpdates === undefined ||\n deviceState.installedLanguages === undefined ||\n deviceState.catalog === undefined\n ) {\n return Promise.resolve(null);\n }\n return Promise.resolve({\n firmwareVersion: deviceState.firmwareVersion,\n firmwareUpdateContext: deviceState.firmwareUpdateContext,\n customImage: deviceState.customImage,\n applications: deviceState.installedApps,\n applicationsUpdates: deviceState.appsUpdates,\n installedLanguages: deviceState.installedLanguages,\n catalog: deviceState.catalog,\n });\n };\n\n const getFirmwareMetadata = async () =>\n new GetFirmwareMetadataTask(internalApi).run();\n\n const getApplicationsMetadata = async (arg0: {\n input: {\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n installedApps: InstalledApp[];\n };\n }) =>\n new GetApplicationsMetadataTask(internalApi, {\n deviceVersion: arg0.input.deviceVersion,\n firmware: arg0.input.firmware,\n firmwareVersion: arg0.input.firmwareVersion,\n installedApps: arg0.input.installedApps,\n }).run();\n\n const listAppsSecureChannel = (arg0: {\n input: {\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n };\n }) => {\n const { firmware, firmwareVersion } = arg0.input;\n const connection = internalApi\n .getSecureChannelService()\n .listInstalledApps(firmwareVersion.metadata!, firmware);\n return new ConnectToSecureChannelTask(internalApi, {\n connection,\n }).run();\n };\n\n return {\n getDeviceMetadata,\n getFirmwareMetadata,\n getApplicationsMetadata,\n listAppsSecureChannel,\n };\n }\n}\n"],
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA4B,qBAE5BC,EAA2D,kBAE3DC,EAAuC,4CAEvCC,EAAwC,4DACxCC,EAA0C,uCAC1CC,EAA0C,yEAC1CC,EAAqC,+DACrCC,EAIO,+DACPC,EAGO,2DAEPC,EAGO,8DACPC,EAOO,kDACPC,EAAwC,qEACxCC,EAA2C,+DAC3CD,EAAuC,
|
|
4
|
+
"sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { type Observable } from \"rxjs\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nimport { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nimport {\n GetApplicationsMetadataTask,\n type GetApplicationsMetadataTaskResult,\n type InstalledApp,\n} from \"@api/device-action/task/GetApplicationsMetadataTask\";\nimport {\n GetFirmwareMetadataTask,\n type GetFirmwareMetadataTaskResult,\n} from \"@api/device-action/task/GetFirmwareMetadataTask\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport {\n type Catalog,\n type CustomImage,\n DeviceSessionStateType,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport { installedAppResultGuard } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { ConnectToSecureChannelTask } from \"@api/secure-channel/task/ConnectToSecureChannelTask\";\nimport { SecureChannelEventType } from \"@api/secure-channel/task/types\";\nimport { type SecureChannelEvent } from \"@api/secure-channel/task/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport {\n type GetDeviceMetadataDAError,\n type GetDeviceMetadataDAInput,\n type GetDeviceMetadataDAIntermediateValue,\n type GetDeviceMetadataDAOutput,\n getDeviceMetadataDAStateStep,\n} from \"./types\";\n\ntype GetDeviceMetadataMachineInternalState = {\n readonly error: GetDeviceMetadataDAError | null;\n readonly deviceVersion: DeviceVersion | null;\n readonly firmware: FinalFirmware | null;\n readonly firmwareVersion: FirmwareVersion | null;\n readonly firmwareUpdateContext: FirmwareUpdateContext | null;\n readonly customImage: CustomImage | null;\n readonly installedApps: InstalledApp[] | null;\n readonly applications: Application[] | null;\n readonly applicationsUpdates: Application[] | null;\n readonly installedLanguages: InstalledLanguagePackage[] | null;\n readonly catalog: Catalog | null;\n};\n\nexport type GetDeviceMetadataFromContextTaskResult = {\n readonly firmwareVersion: FirmwareVersion;\n readonly firmwareUpdateContext: FirmwareUpdateContext;\n readonly customImage: CustomImage;\n readonly applications: Application[];\n readonly applicationsUpdates: Application[];\n readonly installedLanguages: InstalledLanguagePackage[];\n readonly catalog: Catalog;\n} | null;\n\nexport type MachineDependencies = {\n readonly getDeviceMetadata: () => Promise<GetDeviceMetadataFromContextTaskResult>;\n readonly getFirmwareMetadata: () => Promise<GetFirmwareMetadataTaskResult>;\n readonly getApplicationsMetadata: (arg0: {\n input: {\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n installedApps: InstalledApp[];\n };\n }) => Promise<GetApplicationsMetadataTaskResult>;\n readonly listAppsSecureChannel: (arg0: {\n input: {\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n };\n }) => Observable<SecureChannelEvent>;\n};\n\nexport type ExtractMachineDependencies = (\n internalApi: InternalApi,\n) => MachineDependencies;\n\nexport class GetDeviceMetadataDeviceAction extends XStateDeviceAction<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAInput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue,\n GetDeviceMetadataMachineInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAInput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue,\n GetDeviceMetadataMachineInternalState\n > {\n type types = StateMachineTypes<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAInput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue,\n GetDeviceMetadataMachineInternalState\n >;\n\n const {\n getDeviceMetadata,\n getFirmwareMetadata,\n getApplicationsMetadata,\n listAppsSecureChannel,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const goToDashboardMachine = new GoToDashboardDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n const listAppsMachine = new ListAppsDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {\n unlockTimeout,\n } as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n goToDashboard: goToDashboardMachine,\n getDeviceMetadata: fromPromise(getDeviceMetadata),\n getFirmwareMetadata: fromPromise(getFirmwareMetadata),\n getApplicationsMetadata: fromPromise(getApplicationsMetadata),\n listApps: listAppsMachine,\n listAppsSecureChannel: fromObservable(listAppsSecureChannel),\n },\n guards: {\n hasError: ({ context }) => context._internalState.error !== null,\n hasMetadata: ({ context }) =>\n context._internalState.firmwareVersion !== null &&\n context._internalState.firmwareUpdateContext !== null &&\n context._internalState.customImage !== null &&\n context._internalState.applications !== null &&\n context._internalState.applicationsUpdates !== null &&\n context._internalState.installedLanguages !== null &&\n context._internalState.catalog !== null,\n forceUpdate: ({ context }) => Boolean(context.input.forceUpdate),\n useSecureChannel: ({ context }) =>\n Boolean(context.input.useSecureChannel),\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: it should never happen, the error is not typed anymore here\n }),\n }),\n },\n }).createMachine({\n id: \"GetDeviceMetadataDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: {\n useSecureChannel: _.input.useSecureChannel,\n forceUpdate: _.input.forceUpdate,\n unlockTimeout: _.input.unlockTimeout,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n _internalState: {\n error: null,\n deviceVersion: null,\n firmware: null,\n firmwareVersion: null,\n firmwareUpdateContext: null,\n customImage: null,\n installedApps: null,\n applications: null,\n applicationsUpdates: null,\n installedLanguages: null,\n catalog: null,\n },\n };\n },\n states: {\n DeviceReady: {\n always: [\n {\n target: \"GoToDashboard\",\n guard: \"forceUpdate\",\n },\n {\n target: \"GetDeviceMetadataFromContext\",\n },\n ],\n },\n GetDeviceMetadataFromContext: {\n invoke: {\n src: \"getDeviceMetadata\",\n onDone: {\n target: \"GetDeviceMetadataFromContextResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (_.event.output === null) {\n return _.context._internalState;\n } else {\n return {\n ..._.context._internalState,\n firmwareVersion: _.event.output.firmwareVersion,\n firmwareUpdateContext:\n _.event.output.firmwareUpdateContext,\n customImage: _.event.output.customImage,\n applications: _.event.output.applications,\n applicationsUpdates: _.event.output.applicationsUpdates,\n installedLanguages: _.event.output.installedLanguages,\n catalog: _.event.output.catalog,\n };\n }\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetDeviceMetadataFromContextResultCheck: {\n always: [\n {\n target: \"Success\",\n guard: \"hasMetadata\",\n },\n {\n target: \"GoToDashboard\",\n },\n ],\n },\n GoToDashboard: {\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n }),\n invoke: {\n id: \"dashboard\",\n src: \"goToDashboard\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n target: \"GoToDashboardCheck\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf({\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n });\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GoToDashboardCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetFirmwareMetadata\",\n },\n ],\n },\n GetFirmwareMetadata: {\n invoke: {\n src: \"getFirmwareMetadata\",\n onDone: {\n target: \"GetFirmwareMetadataResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const deviceState = internalApi.getDeviceSessionState();\n if (\n deviceState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n internalApi.setDeviceSessionState({\n ...deviceState,\n firmwareVersion: _.event.output.data.firmwareVersion,\n firmwareUpdateContext:\n _.event.output.data.firmwareUpdateContext,\n customImage: _.event.output.data.customImage,\n });\n }\n return {\n ..._.context._internalState,\n deviceVersion: _.event.output.data.deviceVersion,\n firmware: _.event.output.data.firmware,\n firmwareVersion: _.event.output.data.firmwareVersion,\n firmwareUpdateContext:\n _.event.output.data.firmwareUpdateContext,\n customImage: _.event.output.data.customImage,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetFirmwareMetadataResultCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"useSecureChannel\",\n target: \"ListAppsSecureChannel\",\n },\n {\n target: \"ListApps\",\n },\n ],\n },\n ListAppsSecureChannel: {\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS_SECURE_CHANNEL,\n },\n }),\n invoke: {\n id: \"listAppsSecureChannel\",\n src: \"listAppsSecureChannel\",\n input: (_) => ({\n firmware: _.context._internalState.firmware!,\n firmwareVersion: _.context._internalState.firmwareVersion!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => {\n switch (_.event.snapshot.context?.type) {\n case SecureChannelEventType.DeviceId: {\n return {\n ..._.context.intermediateValue,\n deviceId: _.event.snapshot.context.payload.deviceId,\n };\n }\n case SecureChannelEventType.PermissionRequested: {\n return {\n ..._.context.intermediateValue,\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n };\n }\n case SecureChannelEventType.PermissionGranted: {\n const deviceState = internalApi.getDeviceSessionState();\n if (\n deviceState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n internalApi.setDeviceSessionState({\n ...deviceState,\n isSecureConnectionAllowed: true,\n });\n }\n return {\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n };\n }\n default:\n return {\n ..._.context.intermediateValue,\n };\n }\n },\n _internalState: (_) => {\n if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Error\n ) {\n return {\n ..._.context._internalState,\n error: _.event.snapshot.context.error.mapDAErrors(),\n };\n } else if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Result\n ) {\n if (\n installedAppResultGuard(_.event.snapshot.context.payload)\n ) {\n return {\n ..._.context._internalState,\n installedApps: _.event.snapshot.context.payload.map(\n (app) => ({\n name: app.name,\n hash: app.hash,\n hashCode: app.hash_code_data,\n }),\n ),\n };\n }\n throw new Error(\n `Invalid result ${JSON.stringify(_.event.snapshot.context.payload)}`,\n );\n }\n return { ..._.context._internalState };\n },\n }),\n },\n onDone: {\n target: \"ListAppsCheck\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n ListApps: {\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n }),\n invoke: {\n id: \"listApps\",\n src: \"listApps\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n target: \"ListAppsCheck\",\n actions: assign({\n _internalState: (_) => {\n if (_.event.output.isLeft()) {\n return {\n ..._.context._internalState,\n error: _.event.output.extract(),\n };\n } else {\n return {\n ..._.context._internalState,\n installedApps: _.event.output\n .unsafeCoerce()\n .map((app) => ({\n name: app.appName,\n hash: app.appFullHash,\n hashCode: app.appCodeHash,\n })),\n };\n }\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n ListAppsCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetApplicationsMetadata\",\n },\n ],\n },\n GetApplicationsMetadata: {\n invoke: {\n src: \"getApplicationsMetadata\",\n input: (_) => ({\n deviceVersion: _.context._internalState.deviceVersion!,\n firmware: _.context._internalState.firmware!,\n firmwareVersion: _.context._internalState.firmwareVersion!,\n installedApps: _.context._internalState.installedApps!,\n }),\n onDone: {\n target: \"GetApplicationsMetadataResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const deviceState = internalApi.getDeviceSessionState();\n if (\n deviceState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n internalApi.setDeviceSessionState({\n ...deviceState,\n installedApps: _.event.output.data.applications,\n appsUpdates: _.event.output.data.applicationsUpdates,\n installedLanguages:\n _.event.output.data.installedLanguages,\n catalog: _.event.output.data.catalog,\n });\n }\n return {\n ..._.context._internalState,\n applications: _.event.output.data.applications,\n applicationsUpdates:\n _.event.output.data.applicationsUpdates,\n installedLanguages:\n _.event.output.data.installedLanguages,\n catalog: _.event.output.data.catalog,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetApplicationsMetadataResultCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (args) => {\n const { context } = args;\n const {\n error,\n firmwareVersion,\n firmwareUpdateContext,\n customImage,\n applications,\n applicationsUpdates,\n installedLanguages,\n catalog,\n } = context._internalState;\n if (error) {\n return Left(error);\n }\n return Right({\n firmwareVersion: firmwareVersion!,\n firmwareUpdateContext: firmwareUpdateContext!,\n customImage: customImage!,\n applications: applications!,\n applicationsUpdates: applicationsUpdates!,\n installedLanguages: installedLanguages!,\n catalog: catalog!,\n });\n },\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n const getDeviceMetadata = () => {\n const deviceState = internalApi.getDeviceSessionState();\n if (\n deviceState.sessionStateType === DeviceSessionStateType.Connected ||\n deviceState.firmwareVersion?.metadata === undefined ||\n deviceState.firmwareUpdateContext === undefined ||\n deviceState.customImage === undefined ||\n deviceState.installedApps.length === 0 ||\n deviceState.appsUpdates === undefined ||\n deviceState.installedLanguages === undefined ||\n deviceState.catalog === undefined\n ) {\n return Promise.resolve(null);\n }\n return Promise.resolve({\n firmwareVersion: deviceState.firmwareVersion,\n firmwareUpdateContext: deviceState.firmwareUpdateContext,\n customImage: deviceState.customImage,\n applications: deviceState.installedApps,\n applicationsUpdates: deviceState.appsUpdates,\n installedLanguages: deviceState.installedLanguages,\n catalog: deviceState.catalog,\n });\n };\n\n const getFirmwareMetadata = async () =>\n new GetFirmwareMetadataTask(internalApi).run();\n\n const getApplicationsMetadata = async (arg0: {\n input: {\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n installedApps: InstalledApp[];\n };\n }) =>\n new GetApplicationsMetadataTask(internalApi, {\n deviceVersion: arg0.input.deviceVersion,\n firmware: arg0.input.firmware,\n firmwareVersion: arg0.input.firmwareVersion,\n installedApps: arg0.input.installedApps,\n }).run();\n\n const listAppsSecureChannel = (arg0: {\n input: {\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n };\n }) => {\n const { firmware, firmwareVersion } = arg0.input;\n const connection = internalApi\n .getSecureChannelService()\n .listInstalledApps(firmwareVersion.metadata!, firmware);\n return new ConnectToSecureChannelTask(internalApi, {\n connection,\n }).run();\n };\n\n return {\n getDeviceMetadata,\n getFirmwareMetadata,\n getApplicationsMetadata,\n listAppsSecureChannel,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["GetDeviceMetadataDeviceAction_exports", "__export", "GetDeviceMetadataDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_CommandResult", "import_UserInteractionRequired", "import_Const", "import_GoToDashboardDeviceAction", "import_ListAppsDeviceAction", "import_GetApplicationsMetadataTask", "import_GetFirmwareMetadataTask", "import_XStateDeviceAction", "import_DeviceSessionState", "import_types", "import_ConnectToSecureChannelTask", "internalApi", "getDeviceMetadata", "getFirmwareMetadata", "getApplicationsMetadata", "listAppsSecureChannel", "unlockTimeout", "goToDashboardMachine", "listAppsMachine", "context", "_", "error", "deviceState", "app", "args", "firmwareVersion", "firmwareUpdateContext", "customImage", "applications", "applicationsUpdates", "installedLanguages", "catalog", "arg0", "firmware", "connection"]
|
|
7
7
|
}
|
package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var P=require("rxjs"),u=require("../../../command/model/CommandResult"),C=require("../../../device/DeviceStatus"),R=require("../../../device-action/__test-utils__/data"),h=require("../../../device-action/__test-utils__/makeInternalApi"),A=require("../../../device-action/__test-utils__/setupTestMachine"),q=require("../../../device-action/__test-utils__/setupTestMachine"),l=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),t=require("../../../device-action/model/UserInteractionRequired"),N=require("../../../device-action/os/Errors"),E=require("../../../device-session/DeviceSessionState"),y=require("../../../Error"),k=require("../../../secure-channel/task/types"),m=require("./GetDeviceMetadataDeviceAction");vi.mock("@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction");vi.mock("@api/device-action/os/ListApps/ListAppsDeviceAction");describe("GetDeviceMetadataDeviceAction",()=>{const c=(0,h.makeDeviceActionInternalApiMock)(),w=vi.fn(),I=vi.fn(),S=vi.fn(),x=vi.fn(),f="device_version",D="firmware",o="firmware_version",s="fm_update",d="image",p="apps",g="apps_update",V="lang",v="catalog";function U(){return{getDeviceMetadata:w,getFirmwareMetadata:I,getApplicationsMetadata:S,listAppsSecureChannel:x}}beforeEach(()=>{vi.clearAllMocks(),c.getDeviceSessionState.mockReturnValue({sessionStateType:E.DeviceSessionStateType.Connected,deviceStatus:C.DeviceStatus.CONNECTED})}),describe("success cases",()=>{it("get metadata from device state",()=>new Promise((n,r)=>{const a=new m.GetDeviceMetadataDeviceAction({input:{}});w.mockResolvedValueOnce({firmwareVersion:o,firmwareUpdateContext:s,customImage:d,applications:p,applicationsUpdates:g,installedLanguages:V,catalog:v}),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:s,customImage:d,applications:p,applicationsUpdates:g,installedLanguages:V,catalog:v},status:e.DeviceActionStatus.Completed}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})})),it("fetch metadata without secure channel",()=>new Promise((n,r)=>{(0,A.setupGoToDashboardMock)(),(0,q.setupListAppsMock)([R.BTC_APP]);const a=new m.GetDeviceMetadataDeviceAction({input:{}});w.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{deviceVersion:f,firmware:D,firmwareVersion:o,firmwareUpdateContext:s,customImage:d}})),S.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{applications:p,applicationsUpdates:g,installedLanguages:V,catalog:v}})),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:s,customImage:d,applications:p,applicationsUpdates:g,installedLanguages:V,catalog:v},status:e.DeviceActionStatus.Completed}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})})),it("fetch metadata with forced update",()=>new Promise((n,r)=>{(0,A.setupGoToDashboardMock)(),(0,q.setupListAppsMock)([R.BTC_APP]);const a=new m.GetDeviceMetadataDeviceAction({input:{forceUpdate:!0}});I.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{deviceVersion:f,firmware:D,firmwareVersion:o,firmwareUpdateContext:s,customImage:d}})),S.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{applications:p,applicationsUpdates:g,installedLanguages:V,catalog:v}})),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:s,customImage:d,applications:p,applicationsUpdates:g,installedLanguages:V,catalog:v},status:e.DeviceActionStatus.Completed}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})})),it("fetch metadata with secure channel",()=>new Promise((n,r)=>{(0,A.setupGoToDashboardMock)();const a=new m.GetDeviceMetadataDeviceAction({input:{useSecureChannel:!0}});w.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{deviceVersion:f,firmware:D,firmwareVersion:o,firmwareUpdateContext:s,customImage:d}})),x.mockReturnValue((0,P.of)({type:k.SecureChannelEventType.Exchange},{type:k.SecureChannelEventType.PermissionRequested},{type:k.SecureChannelEventType.PermissionGranted},{type:k.SecureChannelEventType.Result,payload:[{flags:123456,hash:"hash_test",hash_code_data:"hash_code_data_test",name:"Bitcoin"}]})),S.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{applications:p,applicationsUpdates:g,installedLanguages:V,catalog:v}})),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowSecureConnection},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:s,customImage:d,applications:p,applicationsUpdates:g,installedLanguages:V,catalog:v},status:e.DeviceActionStatus.Completed}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})})),it("get metadata from device state with external dependencies",()=>new Promise((n,r)=>{const a=new m.GetDeviceMetadataDeviceAction({input:{}});c.getDeviceSessionState.mockReturnValue({sessionStateType:E.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:C.DeviceStatus.CONNECTED,firmwareVersion:{metadata:o},firmwareUpdateContext:s,customImage:d,installedApps:[p],appsUpdates:g,installedLanguages:V,catalog:v});const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:{metadata:o},firmwareUpdateContext:s,customImage:d,applications:[p],applicationsUpdates:g,installedLanguages:V,catalog:v},status:e.DeviceActionStatus.Completed}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})}))}),describe("Error cases",()=>{it("error during GoToDashboard",()=>new Promise((n,r)=>{(0,A.setupGoToDashboardMock)(!0);const a=new m.GetDeviceMetadataDeviceAction({input:{}});w.mockResolvedValueOnce(null),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{error:new N.UnknownDAError("GoToDashboard failed"),status:e.DeviceActionStatus.Error}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})})),it("error during GetFirmwareMetadata",()=>new Promise((n,r)=>{(0,A.setupGoToDashboardMock)();const a=new m.GetDeviceMetadataDeviceAction({input:{}});w.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,u.CommandResultFactory)({error:new y.UnknownDeviceExchangeError("GetFirmwareMetadata failed")})),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{error:new y.UnknownDeviceExchangeError("GetFirmwareMetadata failed"),status:e.DeviceActionStatus.Error}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})})),it("error during ListApps",()=>new Promise((n,r)=>{(0,A.setupGoToDashboardMock)(),(0,q.setupListAppsMock)([],!0);const a=new m.GetDeviceMetadataDeviceAction({input:{}});w.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{deviceVersion:f,firmware:D,firmwareVersion:o,firmwareUpdateContext:s,customImage:d}})),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps},status:e.DeviceActionStatus.Pending},{error:new N.UnknownDAError("ListApps failed"),status:e.DeviceActionStatus.Error}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})})),it("error during GetApplicationsMetadata",()=>new Promise((n,r)=>{(0,A.setupGoToDashboardMock)(),(0,q.setupListAppsMock)([R.BTC_APP]);const a=new m.GetDeviceMetadataDeviceAction({input:{}});w.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{deviceVersion:f,firmware:D,firmwareVersion:o,firmwareUpdateContext:s,customImage:d}})),S.mockResolvedValueOnce((0,u.CommandResultFactory)({error:new y.UnknownDeviceExchangeError("GetApplicationsMetadata failed")})),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{error:new y.UnknownDeviceExchangeError("GetApplicationsMetadata failed"),status:e.DeviceActionStatus.Error}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})})),it("error during ListAppsSecureChannel",()=>new Promise((n,r)=>{(0,A.setupGoToDashboardMock)();const a=new m.GetDeviceMetadataDeviceAction({input:{useSecureChannel:!0}});w.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,u.CommandResultFactory)({data:{deviceVersion:f,firmware:D,firmwareVersion:o,firmwareUpdateContext:s,customImage:d}})),x.mockReturnValue((0,P.concat)((0,P.of)({type:k.SecureChannelEventType.Exchange,payload:{data:new Uint8Array([0,1,2,3])}}),(0,P.throwError)(()=>new N.UnknownDAError("Secure channel error")))),vi.spyOn(a,"extractDependencies").mockReturnValue(U());const i=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None},status:e.DeviceActionStatus.Pending},{error:new N.UnknownDAError("Secure channel error"),status:e.DeviceActionStatus.Error}];(0,l.testDeviceActionStates)(a,i,c,{onDone:n,onError:r})}))})});
|
|
1
|
+
"use strict";var v=require("rxjs"),p=require("../../../command/model/CommandResult"),N=require("../../../device/DeviceStatus"),k=require("../../../device-action/__test-utils__/data"),y=require("../../../device-action/__test-utils__/makeInternalApi"),S=require("../../../device-action/__test-utils__/setupTestMachine"),f=require("../../../device-action/__test-utils__/setupTestMachine"),m=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),t=require("../../../device-action/model/UserInteractionRequired"),G=require("../../../device-action/os/Errors"),_=require("../../../device-action/os/GoToDashboard/types"),C=require("../../../device-action/os/ListApps/types"),q=require("../../../device-session/DeviceSessionState"),R=require("../../../Error"),O=require("../../../secure-channel/task/types"),l=require("./GetDeviceMetadataDeviceAction"),a=require("./types");vi.mock("@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction");vi.mock("@api/device-action/os/ListApps/ListAppsDeviceAction");describe("GetDeviceMetadataDeviceAction",()=>{const u=(0,y.makeDeviceActionInternalApiMock)(),g=vi.fn(),I=vi.fn(),P=vi.fn(),M=vi.fn(),w="device_version",U="firmware",o="firmware_version",d="fm_update",c="image",A="apps",D="apps_update",V="lang",E="catalog";function T(){return{getDeviceMetadata:g,getFirmwareMetadata:I,getApplicationsMetadata:P,listAppsSecureChannel:M}}beforeEach(()=>{vi.clearAllMocks(),u.getDeviceSessionState.mockReturnValue({sessionStateType:q.DeviceSessionStateType.Connected,deviceStatus:N.DeviceStatus.CONNECTED})}),describe("success cases",()=>{it("get metadata from device state",()=>new Promise((r,i)=>{const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce({firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata without secure channel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata with forced update",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{forceUpdate:!0}});I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("fetch metadata with secure channel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{useSecureChannel:!0}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),M.mockReturnValue((0,v.of)({type:O.SecureChannelEventType.Exchange},{type:O.SecureChannelEventType.PermissionRequested},{type:O.SecureChannelEventType.PermissionGranted},{type:O.SecureChannelEventType.Result,payload:[{flags:123456,hash:"hash_test",hash_code_data:"hash_code_data_test",name:"Bitcoin"}]})),P.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowSecureConnection,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS_SECURE_CHANNEL},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:o,firmwareUpdateContext:d,customImage:c,applications:A,applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("get metadata from device state with external dependencies",()=>new Promise((r,i)=>{const n=new l.GetDeviceMetadataDeviceAction({input:{}});u.getDeviceSessionState.mockReturnValue({sessionStateType:q.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:N.DeviceStatus.CONNECTED,firmwareVersion:{metadata:o},firmwareUpdateContext:d,customImage:c,installedApps:[A],appsUpdates:D,installedLanguages:V,catalog:E});const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{output:{firmwareVersion:{metadata:o},firmwareUpdateContext:d,customImage:c,applications:[A],applicationsUpdates:D,installedLanguages:V,catalog:E},status:e.DeviceActionStatus.Completed}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})}))}),describe("Error cases",()=>{it("error during GoToDashboard",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(!0);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("GoToDashboard failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during GetFirmwareMetadata",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({error:new R.UnknownDeviceExchangeError("GetFirmwareMetadata failed")})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{error:new R.UnknownDeviceExchangeError("GetFirmwareMetadata failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during ListApps",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([],!0);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("ListApps failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during GetApplicationsMetadata",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)(),(0,f.setupListAppsMock)([k.BTC_APP]);const n=new l.GetDeviceMetadataDeviceAction({input:{}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),P.mockResolvedValueOnce((0,p.CommandResultFactory)({error:new R.UnknownDeviceExchangeError("GetApplicationsMetadata failed")})),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.AllowListApps,step:C.listAppsDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.LIST_APPS},status:e.DeviceActionStatus.Pending},{error:new R.UnknownDeviceExchangeError("GetApplicationsMetadata failed"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})})),it("error during ListAppsSecureChannel",()=>new Promise((r,i)=>{(0,S.setupGoToDashboardMock)();const n=new l.GetDeviceMetadataDeviceAction({input:{useSecureChannel:!0}});g.mockResolvedValueOnce(null),I.mockResolvedValueOnce((0,p.CommandResultFactory)({data:{deviceVersion:w,firmware:U,firmwareVersion:o,firmwareUpdateContext:d,customImage:c}})),M.mockReturnValue((0,v.concat)((0,v.of)({type:O.SecureChannelEventType.Exchange,payload:{data:new Uint8Array([0,1,2,3])}}),(0,v.throwError)(()=>new G.UnknownDAError("Secure channel error")))),vi.spyOn(n,"extractDependencies").mockReturnValue(T());const s=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GET_DEVICE_METADATA},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:_.goToDashboardDAStateStep.GET_DEVICE_STATUS},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,step:a.getDeviceMetadataDAStateStep.GO_TO_DASHBOARD},status:e.DeviceActionStatus.Pending},{error:new G.UnknownDAError("Secure channel error"),status:e.DeviceActionStatus.Error}];(0,m.testDeviceActionStates)(n,s,u,{onDone:r,onError:i})}))})});
|
|
2
2
|
//# sourceMappingURL=GetDeviceMetadataDeviceAction.test.js.map
|
package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { concat, of, throwError } from \"rxjs\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { BTC_APP } from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGoToDashboardMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { setupListAppsMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport {\n type Catalog,\n type CustomImage,\n type DeviceSessionState,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport { UnknownDeviceExchangeError } from \"@api/Error\";\nimport {\n type SecureChannelEventPayload,\n SecureChannelEventType,\n} from \"@api/secure-channel/task/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { GetDeviceMetadataDeviceAction } from \"./GetDeviceMetadataDeviceAction\";\nimport { type GetDeviceMetadataDAState } from \"./types\";\n\nvi.mock(\"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\");\nvi.mock(\"@api/device-action/os/ListApps/ListAppsDeviceAction\");\n\ndescribe(\"GetDeviceMetadataDeviceAction\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const getDeviceMetadataMock = vi.fn();\n const getFirmwareMetadataMock = vi.fn();\n const getApplicationsMetadataMock = vi.fn();\n const listAppsSecureChannelMock = vi.fn();\n\n const DEVICE_VERSION = \"device_version\" as unknown as DeviceVersion;\n const FIRMWARE = \"firmware\" as unknown as FinalFirmware;\n const FIRMWARE_VERSION = \"firmware_version\" as unknown as FirmwareVersion;\n const FIRMWARE_UPDATE = \"fm_update\" as unknown as FirmwareUpdateContext;\n const CUSTOM_IMAGE = \"image\" as unknown as CustomImage;\n const APPS = \"apps\" as unknown as Application[];\n const APPS_UPDATE = \"apps_update\" as unknown as Application[];\n const LANGUAGES = \"lang\" as unknown as InstalledLanguagePackage[];\n const CATALOG = \"catalog\" as unknown as Catalog;\n\n function extractDependenciesMock() {\n return {\n getDeviceMetadata: getDeviceMetadataMock,\n getFirmwareMetadata: getFirmwareMetadataMock,\n getApplicationsMetadata: getApplicationsMetadataMock,\n listAppsSecureChannel: listAppsSecureChannelMock,\n };\n }\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceSessionState.mockReturnValue({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n });\n\n describe(\"success cases\", () => {\n it(\"get metadata from device state\", () =>\n new Promise<void>((resolve, reject) => {\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce({\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n });\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata without secure channel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata with forced update\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { forceUpdate: true },\n });\n\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata with secure channel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { useSecureChannel: true },\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n listAppsSecureChannelMock.mockReturnValue(\n of(\n {\n type: SecureChannelEventType.Exchange,\n },\n {\n type: SecureChannelEventType.PermissionRequested,\n },\n {\n type: SecureChannelEventType.PermissionGranted,\n },\n {\n type: SecureChannelEventType.Result,\n payload: [\n {\n flags: 123456,\n hash: \"hash_test\",\n hash_code_data: \"hash_code_data_test\",\n name: \"Bitcoin\",\n },\n ],\n },\n ),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListAppsSecureChannel\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"get metadata from device state with external dependencies\", () =>\n new Promise<void>((resolve, reject) => {\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n apiMock.getDeviceSessionState.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareVersion: {\n metadata: FIRMWARE_VERSION,\n } as unknown as FirmwareVersion,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n installedApps: [APPS] as unknown as Application[],\n appsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n } as DeviceSessionState);\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: {\n metadata: FIRMWARE_VERSION,\n } as unknown as FirmwareVersion,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: [APPS] as unknown as Application[],\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n });\n\n describe(\"Error cases\", () => {\n it(\"error during GoToDashboard\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock(true);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"GoToDashboard failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during GetFirmwareMetadata\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"GetFirmwareMetadata failed\"),\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDeviceExchangeError(\"GetFirmwareMetadata failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during ListApps\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([], true);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"ListApps failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during GetApplicationsMetadata\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\n \"GetApplicationsMetadata failed\",\n ),\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDeviceExchangeError(\n \"GetApplicationsMetadata failed\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during ListAppsSecureChannel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { useSecureChannel: true },\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n listAppsSecureChannelMock.mockReturnValue(\n concat(\n of({\n type: SecureChannelEventType.Exchange,\n payload: {\n data: new Uint8Array([0x00, 0x01, 0x02, 0x03]),\n } as SecureChannelEventPayload[\"Exchange\"],\n }),\n throwError(() => new UnknownDAError(\"Secure channel error\")),\n ),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListAppsSecureChannel\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"Secure channel error\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_rxjs", "import_CommandResult", "import_DeviceStatus", "import_data", "import_makeInternalApi", "import_setupTestMachine", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_Errors", "
|
|
4
|
+
"sourcesContent": ["import { concat, of, throwError } from \"rxjs\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { BTC_APP } from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGoToDashboardMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { setupListAppsMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { goToDashboardDAStateStep } from \"@api/device-action/os/GoToDashboard/types\";\nimport { listAppsDAStateStep } from \"@api/device-action/os/ListApps/types\";\nimport {\n type Catalog,\n type CustomImage,\n type DeviceSessionState,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport { UnknownDeviceExchangeError } from \"@api/Error\";\nimport {\n type SecureChannelEventPayload,\n SecureChannelEventType,\n} from \"@api/secure-channel/task/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { GetDeviceMetadataDeviceAction } from \"./GetDeviceMetadataDeviceAction\";\nimport {\n type GetDeviceMetadataDAState,\n getDeviceMetadataDAStateStep,\n} from \"./types\";\n\nvi.mock(\"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\");\nvi.mock(\"@api/device-action/os/ListApps/ListAppsDeviceAction\");\n\ndescribe(\"GetDeviceMetadataDeviceAction\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const getDeviceMetadataMock = vi.fn();\n const getFirmwareMetadataMock = vi.fn();\n const getApplicationsMetadataMock = vi.fn();\n const listAppsSecureChannelMock = vi.fn();\n\n const DEVICE_VERSION = \"device_version\" as unknown as DeviceVersion;\n const FIRMWARE = \"firmware\" as unknown as FinalFirmware;\n const FIRMWARE_VERSION = \"firmware_version\" as unknown as FirmwareVersion;\n const FIRMWARE_UPDATE = \"fm_update\" as unknown as FirmwareUpdateContext;\n const CUSTOM_IMAGE = \"image\" as unknown as CustomImage;\n const APPS = \"apps\" as unknown as Application[];\n const APPS_UPDATE = \"apps_update\" as unknown as Application[];\n const LANGUAGES = \"lang\" as unknown as InstalledLanguagePackage[];\n const CATALOG = \"catalog\" as unknown as Catalog;\n\n function extractDependenciesMock() {\n return {\n getDeviceMetadata: getDeviceMetadataMock,\n getFirmwareMetadata: getFirmwareMetadataMock,\n getApplicationsMetadata: getApplicationsMetadataMock,\n listAppsSecureChannel: listAppsSecureChannelMock,\n };\n }\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceSessionState.mockReturnValue({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n });\n\n describe(\"success cases\", () => {\n it(\"get metadata from device state\", () =>\n new Promise<void>((resolve, reject) => {\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce({\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n });\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata without secure channel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard wrapper\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (high-level step: GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps wrapper (still under GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata wrapper (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata with forced update\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { forceUpdate: true },\n });\n\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GoToDashboard - Initial step (forced update still starts at GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata - After GoToDashboard, while fetching firmware, high-level step is GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps - While listing apps, high-level step still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListApps inner (AllowListApps)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata - Applications metadata wrapper (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"fetch metadata with secure channel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { useSecureChannel: true },\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n listAppsSecureChannelMock.mockReturnValue(\n of(\n {\n type: SecureChannelEventType.Exchange,\n },\n {\n type: SecureChannelEventType.PermissionRequested,\n },\n {\n type: SecureChannelEventType.PermissionGranted,\n },\n {\n type: SecureChannelEventType.Result,\n payload: [\n {\n flags: 123456,\n hash: \"hash_test\",\n hash_code_data: \"hash_code_data_test\",\n name: \"Bitcoin\",\n },\n ],\n },\n ),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper around GoToDashboard \u2013 machine still tags it as GET_DEVICE_METADATA\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // GoToDashboard inner\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata \u2013 surfaced as GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListAppsSecureChannel wrapper \u2013 still GO_TO_DASHBOARD for the first emissions\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // More secure-channel emissions, still under GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // First applications-metadata-like transition (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Permission requested for secure channel \u2013 AllowSecureConnection, still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Back to \u201Capplications metadata\u201D stream, still GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // One more pending under GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetApplicationsMetadata - Final pending before success: tagged as LIST_APPS_SECURE_CHANNEL\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS_SECURE_CHANNEL,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: APPS,\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"get metadata from device state with external dependencies\", () =>\n new Promise<void>((resolve, reject) => {\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n apiMock.getDeviceSessionState.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareVersion: {\n metadata: FIRMWARE_VERSION,\n } as unknown as FirmwareVersion,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n installedApps: [APPS] as unknown as Application[],\n appsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n } as DeviceSessionState);\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Success\n {\n output: {\n firmwareVersion: {\n metadata: FIRMWARE_VERSION,\n } as unknown as FirmwareVersion,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n applications: [APPS] as unknown as Application[],\n applicationsUpdates: APPS_UPDATE,\n installedLanguages: LANGUAGES,\n catalog: CATALOG,\n },\n status: DeviceActionStatus.Completed,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n });\n\n describe(\"Error cases\", () => {\n it(\"error during GoToDashboard\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock(true);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper for GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"GoToDashboard failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during GetFirmwareMetadata\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"GetFirmwareMetadata failed\"),\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (high-level GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDeviceExchangeError(\"GetFirmwareMetadata failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during ListApps\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([], true);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper ListApps (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner ListApps (AllowListApps)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"ListApps failed\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during GetApplicationsMetadata\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n setupListAppsMock([BTC_APP]);\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: {},\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n getApplicationsMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\n \"GetApplicationsMetadata failed\",\n ),\n }),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper ListApps (still GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner ListApps\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n step: listAppsDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GetApplicationsMetadata (step: LIST_APPS)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.LIST_APPS,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDeviceExchangeError(\n \"GetApplicationsMetadata failed\",\n ),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n\n it(\"error during ListAppsSecureChannel\", () =>\n new Promise<void>((resolve, reject) => {\n setupGoToDashboardMock();\n const deviceAction = new GetDeviceMetadataDeviceAction({\n input: { useSecureChannel: true },\n });\n\n getDeviceMetadataMock.mockResolvedValueOnce(null);\n getFirmwareMetadataMock.mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n firmwareUpdateContext: FIRMWARE_UPDATE,\n customImage: CUSTOM_IMAGE,\n },\n }),\n );\n listAppsSecureChannelMock.mockReturnValue(\n concat(\n of({\n type: SecureChannelEventType.Exchange,\n payload: {\n data: new Uint8Array([0x00, 0x01, 0x02, 0x03]),\n } as SecureChannelEventPayload[\"Exchange\"],\n }),\n throwError(() => new UnknownDAError(\"Secure channel error\")),\n ),\n );\n vi.spyOn(deviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<GetDeviceMetadataDAState> = [\n // GetDeviceMetadataFromContext\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Wrapper GoToDashboard (still GET_DEVICE_METADATA)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GET_DEVICE_METADATA,\n },\n status: DeviceActionStatus.Pending,\n },\n // Inner GoToDashboard\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: goToDashboardDAStateStep.GET_DEVICE_STATUS,\n },\n status: DeviceActionStatus.Pending,\n },\n // GetFirmwareMetadata (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // ListAppsSecureChannel wrapper (GO_TO_DASHBOARD)\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Last pending before error \u2013 back to GO_TO_DASHBOARD\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: getDeviceMetadataDAStateStep.GO_TO_DASHBOARD,\n },\n status: DeviceActionStatus.Pending,\n },\n // Error\n {\n error: new UnknownDAError(\"Secure channel error\"),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(deviceAction, expectedStates, apiMock, {\n onDone: resolve,\n onError: reject,\n });\n }));\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_rxjs", "import_CommandResult", "import_DeviceStatus", "import_data", "import_makeInternalApi", "import_setupTestMachine", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_Errors", "import_types", "import_DeviceSessionState", "import_Error", "import_GetDeviceMetadataDeviceAction", "apiMock", "getDeviceMetadataMock", "getFirmwareMetadataMock", "getApplicationsMetadataMock", "listAppsSecureChannelMock", "DEVICE_VERSION", "FIRMWARE", "FIRMWARE_VERSION", "FIRMWARE_UPDATE", "CUSTOM_IMAGE", "APPS", "APPS_UPDATE", "LANGUAGES", "CATALOG", "extractDependenciesMock", "resolve", "reject", "deviceAction", "expectedStates"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=Object.defineProperty;var
|
|
1
|
+
"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var A=(t,e)=>{for(var r in e)o(t,r,{get:e[r],enumerable:!0})},n=(t,e,r,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of s(e))!D.call(t,a)&&a!==r&&o(t,a,{get:()=>e[a],enumerable:!(p=i(e,a))||p.enumerable});return t};var d=t=>n(o({},"__esModule",{value:!0}),t);var l={};A(l,{getDeviceMetadataDAStateStep:()=>c});module.exports=d(l);const c=Object.freeze({GET_DEVICE_METADATA:"os.getDeviceMetadata.steps.getDeviceMetadata",GO_TO_DASHBOARD:"os.getDeviceMetadata.steps.goToDashboard",GET_FIRMWARE_METADATA:"os.getDeviceMetadata.steps.getFirmwareMetadata",LIST_APPS_SECURE_CHANNEL:"os.getDeviceMetadata.steps.listAppsSecureChannel",LIST_APPS:"os.getDeviceMetadata.steps.listApps",GET_APPLICATIONS_METADATA:"os.getDeviceMetadata.steps.getApplicationsMetadata"});0&&(module.exports={getDeviceMetadataDAStateStep});
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/api/device-action/os/GetDeviceMetadata/types.ts"],
|
|
4
|
-
"sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n type GoToDashboardDARequiredInteraction,\n} from \"@api/device-action/os/GoToDashboard/types\";\nimport {\n type ListAppsDAError,\n type ListAppsDARequiredInteraction,\n} from \"@api/device-action/os/ListApps/types\";\nimport {\n type Catalog,\n type CustomImage,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport {\n type ListInstalledAppsDAError,\n type ListInstalledAppsDARequiredInteraction,\n} from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type SecureChannelDAErrors } from \"@internal/secure-channel/model/Errors\";\n\nexport type GetDeviceMetadataDAOutput = {\n readonly firmwareVersion: FirmwareVersion;\n readonly firmwareUpdateContext: FirmwareUpdateContext;\n readonly applications: Application[];\n readonly applicationsUpdates: Application[];\n readonly installedLanguages: InstalledLanguagePackage[];\n readonly catalog: Catalog;\n readonly customImage: CustomImage;\n};\n\nexport type GetDeviceMetadataDAInput = GoToDashboardDAInput & {\n readonly useSecureChannel?: boolean;\n readonly forceUpdate?: boolean;\n};\n\nexport type GetDeviceMetadataDAError =\n | GoToDashboardDAError\n | ListAppsDAError\n | ListInstalledAppsDAError\n | SecureChannelDAErrors\n | CommandErrorResult[\"error\"];\n\nexport type GetDeviceMetadataDARequiredInteraction =\n | GoToDashboardDARequiredInteraction\n | ListAppsDARequiredInteraction\n | ListInstalledAppsDARequiredInteraction;\n\nexport type GetDeviceMetadataDAIntermediateValue = {\n requiredUserInteraction: GetDeviceMetadataDARequiredInteraction;\n deviceId?: Uint8Array;\n};\n\nexport type GetDeviceMetadataDAState = DeviceActionState<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue\n>;\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["types_exports", "__toCommonJS"]
|
|
4
|
+
"sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type GetDeviceStatusDAStateStep } from \"@api/device-action/os/GetDeviceStatus/types\";\nimport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n type GoToDashboardDARequiredInteraction,\n type GoToDashboardDAStateStep,\n} from \"@api/device-action/os/GoToDashboard/types\";\nimport {\n type ListAppsDAError,\n type ListAppsDARequiredInteraction,\n type ListAppsDAStateStep,\n} from \"@api/device-action/os/ListApps/types\";\nimport {\n type Catalog,\n type CustomImage,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport {\n type ListInstalledAppsDAError,\n type ListInstalledAppsDARequiredInteraction,\n} from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type SecureChannelDAErrors } from \"@internal/secure-channel/model/Errors\";\n\nexport const getDeviceMetadataDAStateStep = Object.freeze({\n GET_DEVICE_METADATA: \"os.getDeviceMetadata.steps.getDeviceMetadata\",\n GO_TO_DASHBOARD: \"os.getDeviceMetadata.steps.goToDashboard\",\n GET_FIRMWARE_METADATA: \"os.getDeviceMetadata.steps.getFirmwareMetadata\",\n LIST_APPS_SECURE_CHANNEL: \"os.getDeviceMetadata.steps.listAppsSecureChannel\",\n LIST_APPS: \"os.getDeviceMetadata.steps.listApps\",\n GET_APPLICATIONS_METADATA:\n \"os.getDeviceMetadata.steps.getApplicationsMetadata\",\n} as const);\n\nexport type GetDeviceMetadataDAStateStep =\n (typeof getDeviceMetadataDAStateStep)[keyof typeof getDeviceMetadataDAStateStep];\n\nexport type GetDeviceMetadataDAOutput = {\n readonly firmwareVersion: FirmwareVersion;\n readonly firmwareUpdateContext: FirmwareUpdateContext;\n readonly applications: Application[];\n readonly applicationsUpdates: Application[];\n readonly installedLanguages: InstalledLanguagePackage[];\n readonly catalog: Catalog;\n readonly customImage: CustomImage;\n};\n\nexport type GetDeviceMetadataDAInput = GoToDashboardDAInput & {\n readonly useSecureChannel?: boolean;\n readonly forceUpdate?: boolean;\n};\n\nexport type GetDeviceMetadataDAError =\n | GoToDashboardDAError\n | ListAppsDAError\n | ListInstalledAppsDAError\n | SecureChannelDAErrors\n | CommandErrorResult[\"error\"];\n\nexport type GetDeviceMetadataDARequiredInteraction =\n | GoToDashboardDARequiredInteraction\n | ListAppsDARequiredInteraction\n | ListInstalledAppsDARequiredInteraction;\n\nexport type GetDeviceMetadataDAIntermediateValue = {\n requiredUserInteraction: GetDeviceMetadataDARequiredInteraction;\n deviceId?: Uint8Array;\n step:\n | GetDeviceMetadataDAStateStep\n | GoToDashboardDAStateStep\n | GetDeviceStatusDAStateStep\n | ListAppsDAStateStep;\n};\n\nexport type GetDeviceMetadataDAState = DeviceActionState<\n GetDeviceMetadataDAOutput,\n GetDeviceMetadataDAError,\n GetDeviceMetadataDAIntermediateValue\n>;\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GA4BO,MAAME,EAA+B,OAAO,OAAO,CACxD,oBAAqB,+CACrB,gBAAiB,2CACjB,sBAAuB,iDACvB,yBAA0B,mDAC1B,UAAW,sCACX,0BACE,oDACJ,CAAU",
|
|
6
|
+
"names": ["types_exports", "__export", "getDeviceMetadataDAStateStep", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var A=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var I=(o,t)=>{for(var s in t)A(o,s,{get:t[s],enumerable:!0})},x=(o,t,s,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of O(t))!b.call(o,i)&&i!==s&&A(o,i,{get:()=>t[i],enumerable:!(c=G(t,i))||c.enumerable});return o};var M=o=>x(A({},"__esModule",{value:!0}),o);var N={};I(N,{GetDeviceStatusDeviceAction:()=>T});module.exports=M(N);var S=require("purify-ts"),n=require("rxjs"),f=require("rxjs/operators"),r=require("xstate"),m=require("../../../command/model/CommandResult"),y=require("../../../command/os/GetAppAndVersionCommand"),E=require("../../../device/DeviceStatus"),p=require("../../../device-action/model/UserInteractionRequired"),V=require("../../../device-action/os/Const"),v=require("../../../device-action/os/Errors"),h=require("../../../device-action/xstate-utils/XStateDeviceAction"),l=require("../../../device-session/DeviceSessionState"),D=require("./types");class T extends h.XStateDeviceAction{makeStateMachine(t){const{getAppAndVersion:s,getDeviceSessionState:c,setDeviceSessionState:i,waitForDeviceUnlock:u,isDeviceOnboarded:k}=this.extractDependencies(t),g=this.input.unlockTimeout??V.DEFAULT_UNLOCK_TIMEOUT_MS;return(0,r.setup)({types:{input:{unlockTimeout:g},context:{},output:{}},actors:{getAppAndVersion:(0,r.fromPromise)(s),waitForDeviceUnlock:(0,r.fromObservable)(u)},guards:{isDeviceOnboarded:()=>k(),isDeviceLocked:({context:e})=>e._internalState.locked,hasError:({context:e})=>e._internalState.error!==null},actions:{assignErrorDeviceNotOnboarded:(0,r.assign)({_internalState:e=>({...e.context._internalState,error:new v.DeviceNotOnboardedError})}),assignErrorDeviceLocked:(0,r.assign)({_internalState:e=>({...e.context._internalState,error:new v.DeviceLockedError}),intermediateValue:{requiredUserInteraction:p.UserInteractionRequired.UnlockDevice,step:D.getDeviceStatusDAStateStep.UNLOCK_DEVICE}}),assignErrorFromEvent:(0,r.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error})}),assignNoUserActionNeeded:(0,r.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:p.UserInteractionRequired.None})}),assignUserActionUnlockNeeded:(0,r.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:p.UserInteractionRequired.UnlockDevice,step:D.getDeviceStatusDAStateStep.UNLOCK_DEVICE})})}}).createMachine({id:"GetDeviceStatusDeviceAction",initial:"DeviceReady",context:e=>{const a=c(),{sessionStateType:d}=a;return{input:{unlockTimeout:e.input.unlockTimeout},intermediateValue:{requiredUserInteraction:p.UserInteractionRequired.None,step:D.getDeviceStatusDAStateStep.ONBOARD_CHECK},_internalState:{onboarded:!1,locked:!1,currentApp:d===l.DeviceSessionStateType.ReadyWithoutSecureChannel?a.currentApp.name:null,currentAppVersion:null,error:null}}},states:{DeviceReady:{always:{target:"OnboardingCheck"}},OnboardingCheck:{always:[{guard:{type:"isDeviceOnboarded"},target:"AppAndVersionCheck",actions:(0,r.assign)({_internalState:e=>({...e.context._internalState,onboarded:!0})})},{target:"Error",actions:"assignErrorDeviceNotOnboarded"}]},UserActionUnlockDevice:{entry:"assignUserActionUnlockNeeded",exit:"assignNoUserActionNeeded",invoke:{id:"UserActionUnlockDevice",src:"waitForDeviceUnlock",input:e=>({unlockTimeout:g}),onDone:{target:"AppAndVersionCheck",actions:(0,r.assign)({_internalState:e=>({...e.context._internalState,locked:!1})})},onError:{target:"Error",actions:"assignErrorDeviceLocked"}}},AppAndVersionCheck:{invoke:{src:"getAppAndVersion",onDone:{target:"ApplicationAvailableResultCheck",actions:(0,r.assign)({_internalState:e=>{if((0,m.isSuccessCommandResult)(e.event.output)){const a=c();return a.sessionStateType!==l.DeviceSessionStateType.Connected?i({...a,currentApp:e.event.output.data}):i({deviceModelId:a.deviceModelId,sessionStateType:l.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:E.DeviceStatus.CONNECTED,currentApp:e.event.output.data,installedApps:[],isSecureConnectionAllowed:!1}),{...e.context._internalState,locked:!1,currentApp:e.event.output.data.name,currentAppVersion:e.event.output.data.version}}if("errorCode"in e.event.output.error){if(e.event.output.error.errorCode==="5515")return{...e.context._internalState,locked:!0};if(e.event.output.error.errorCode==="6e00")return{...e.context._internalState,locked:!1,currentApp:"BOLOS",currentAppVersion:"0.0.0"}}return{...e.context._internalState,error:e.event.output.error}}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},ApplicationAvailableResultCheck:{always:[{guard:"hasError",target:"Error"},{target:"UserActionUnlockDevice",guard:"isDeviceLocked"},{target:"Success"}]},Success:{type:"final"},Error:{type:"final"}},output:e=>{const{context:a}=e,{error:d,currentApp:C,currentAppVersion:U}=a._internalState;return d?(0,S.Left)(d):(0,S.Right)({currentApp:C,currentAppVersion:U})}})}extractDependencies(t){return{getAppAndVersion:()=>t.sendCommand(new y.GetAppAndVersionCommand),waitForDeviceUnlock:({input:i})=>(0,n.interval)(1e3).pipe((0,n.switchMap)(()=>(0,n.from)(t.sendCommand(new y.GetAppAndVersionCommand))),(0,n.mergeMap)(u=>!(0,m.isSuccessCommandResult)(u)&&"errorCode"in u.error&&u.error.errorCode==="5515"?n.EMPTY:(0,n.of)(void 0)),(0,n.take)(1),(0,f.timeout)(i.unlockTimeout)),getDeviceSessionState:()=>t.getDeviceSessionState(),setDeviceSessionState:i=>t.setDeviceSessionState(i),isDeviceOnboarded:()=>!0}}}0&&(module.exports={GetDeviceStatusDeviceAction});
|
|
2
2
|
//# sourceMappingURL=GetDeviceStatusDeviceAction.js.map
|