chore(onboarding/keycard): making keycard calls sync when finishing onboarding/login flow

This commit is contained in:
Sale Djenic 2025-02-21 17:14:41 +01:00 committed by saledjenic
parent 9dcb1fbf2d
commit 770843e362
2 changed files with 26 additions and 0 deletions

View File

@ -186,6 +186,9 @@ proc finishPairingThroughSeedPhraseProcess*(self: Controller, installationId: st
self.devicesService.finishPairingThroughSeedPhraseProcess(installationId)
proc stopKeycardService*(self: Controller) =
self.keycardServiceV2.stop()
proc stopKeycardServiceAsync*(self: Controller) =
self.keycardServiceV2.asyncStop()
proc generateMnemonic*(self: Controller, length: int): string =
@ -241,4 +244,7 @@ proc startKeycardFactoryReset*(self: Controller) =
self.keycardServiceV2.asyncFactoryReset()
proc storeMetadata*(self: Controller, name: string, paths: seq[string]) =
self.keycardServiceV2.storeMetadata(name, paths)
proc storeMetadataAsync*(self: Controller, name: string, paths: seq[string]) =
self.keycardServiceV2.asyncStoreMetadata(name, paths)

View File

@ -130,6 +130,16 @@ QtObject:
debug "keycard stopped"
)
proc stop*(self: Service) =
try:
let response = callRPC($KeycardAction.Stop)
let rpcResponseObj = response.parseJson
if rpcResponseObj{"error"}.kind != JNull and rpcResponseObj{"error"}.getStr != "":
let error = Json.decode(rpcResponseObj["error"].getStr, RpcError)
raise newException(RpcException, error.message)
except Exception as e:
error "error stop", err=e.msg
proc generateMnemonic*(self: Service, length: int): string =
try:
let response = callRPC($KeycardAction.GenerateMnemonic, %*{"length": length})
@ -232,3 +242,13 @@ QtObject:
return
debug "metadata stored"
)
proc storeMetadata*(self: Service, name: string, paths: seq[string]) =
try:
let response = callRPC($KeycardAction.StoreMetadata, %*{"name": name, "paths": paths})
let rpcResponseObj = response.parseJson
if rpcResponseObj{"error"}.kind != JNull and rpcResponseObj{"error"}.getStr != "":
let error = Json.decode(rpcResponseObj["error"].getStr, RpcError)
raise newException(RpcException, error.message)
except Exception as e:
error "error storing metadata", err=e.msg