Skip to content

Commit d098ce0

Browse files
authored
Merge pull request #357 from tangem/IOS-6764_write_backup_data_update
IOS-6764 Fix write backup data logic
2 parents 659e6ee + f66edef commit d098ce0

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

Diff for: TangemSdk/TangemSdk/Operations/Backup/FinalizeBackupCardTask.swift

+7-4
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,15 @@ class FinalizeBackupCardTask: CardSessionRunnable {
4343
completion(.failure(.missingPreflightRead))
4444
return
4545
}
46-
47-
if case .noBackup = card.backupStatus {
46+
47+
switch card.backupStatus {
48+
case .noBackup: // The direct case
4849
let command = LinkPrimaryCardCommand(primaryCard: primaryCard,
4950
backupCards: backupCards,
5051
attestSignature: attestSignature,
5152
accessCode: accessCode,
5253
passcode: passcode)
53-
54+
5455
command.run(in: session) { linkResult in
5556
switch linkResult {
5657
case .success:
@@ -59,7 +60,9 @@ class FinalizeBackupCardTask: CardSessionRunnable {
5960
completion(.failure(error))
6061
}
6162
}
62-
} else {
63+
case .active: // Inconsistence case. The card status is ok, but sdk status is incompleted. We should check all wallets later on the app side.
64+
readWallets(in: session, completion: completion)
65+
default: // only an interrupted case is possible
6366
writeBackupData(in: session, completion: completion)
6467
}
6568
}

Diff for: TangemSdk/TangemSdk/Operations/Backup/WriteBackupDataCommand.swift

-4
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,6 @@ final class WriteBackupDataCommand: Command {
4646
if card.backupStatus == .noBackup {
4747
return .backupFailedCardNotLinked
4848
}
49-
50-
if !card.wallets.isEmpty {
51-
return .backupFailedNotEmptyWallets(cardId: card.cardId)
52-
}
5349

5450
return nil
5551
}

0 commit comments

Comments
 (0)