From 892b3b500a4884dd6a4db6a777d829b7eec529cd Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 21 Oct 2022 12:24:23 -0300 Subject: fix: transfor from backup proporsal status to purchase status and fix denom query --- .../src/operations/backup/import.ts | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'packages/taler-wallet-core/src') 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) { -- cgit v1.2.3