diff options
author | Sebastian <sebasjm@gmail.com> | 2022-10-21 12:24:23 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-10-21 12:24:23 -0300 |
commit | 892b3b500a4884dd6a4db6a777d829b7eec529cd (patch) | |
tree | 1eaf9245eeea39ebd665ea90dd2204c42178f377 | |
parent | f4b92578b0dd08ccd0b7a31b9da318ba661ae3ec (diff) |
fix: transfor from backup proporsal status to purchase status and fix denom query
-rw-r--r-- | packages/taler-wallet-core/src/operations/backup/import.ts | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/packages/taler-wallet-core/src/operations/backup/import.ts b/packages/taler-wallet-core/src/operations/backup/import.ts index 6ec541edc..ad3676ef8 100644 --- a/packages/taler-wallet-core/src/operations/backup/import.ts +++ b/packages/taler-wallet-core/src/operations/backup/import.ts @@ -588,8 +588,22 @@ export async function importBackup( case BackupProposalStatus.Paid: proposalStatus = PurchaseStatus.Paid; break; - default: - throw Error(); + case BackupProposalStatus.Proposed: + proposalStatus = PurchaseStatus.Proposed; + break; + case BackupProposalStatus.PermanentlyFailed: + proposalStatus = PurchaseStatus.PaymentAbortFinished; + break; + case BackupProposalStatus.Refused: + proposalStatus = PurchaseStatus.ProposalRefused; + break; + case BackupProposalStatus.Repurchase: + proposalStatus = PurchaseStatus.RepurchaseDetected; + break; + default: { + const error: never = backupPurchase.proposal_status; + throw Error(`backup status ${error} is not handled`); + } } if (!existingPurchase) { const refunds: { [refundKey: string]: WalletRefundItem } = {}; @@ -744,7 +758,10 @@ export async function importBackup( for (const oldCoin of backupRefreshGroup.old_coins) { const c = await tx.coins.get(oldCoin.coin_pub); checkBackupInvariant(!!c); - const d = await tx.denominations.get(c.denomPubHash); + const d = await tx.denominations.get([ + c.exchangeBaseUrl, + c.denomPubHash, + ]); checkBackupInvariant(!!d); if (oldCoin.refresh_session) { |