diff options
author | Florian Dold <florian@dold.me> | 2021-06-25 13:27:06 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-06-25 13:27:06 +0200 |
commit | 42fe57632002e8f6dbf175b4e984b2fa1013bbe9 (patch) | |
tree | bb672ac371e5c448b12bbf287f62dfff00495596 /packages/taler-wallet-core/src/wallet.ts | |
parent | 3603a6866977600e9cb16f5e94488fde9cfb02a5 (diff) | |
download | wallet-core-42fe57632002e8f6dbf175b4e984b2fa1013bbe9.tar.xz |
implement backup scheduling, other tweaks
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r-- | packages/taler-wallet-core/src/wallet.ts | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts index de0675cd6..ca9afc073 100644 --- a/packages/taler-wallet-core/src/wallet.ts +++ b/packages/taler-wallet-core/src/wallet.ts @@ -44,6 +44,7 @@ import { getBackupInfo, getBackupRecovery, loadBackupRecovery, + processBackupForProvider, runBackupCycle, } from "./operations/backup/index.js"; import { exportBackup } from "./operations/backup/export.js"; @@ -118,9 +119,9 @@ import { } from "./db.js"; import { NotificationType } from "@gnu-taler/taler-util"; import { - PendingOperationInfo, + PendingTaskInfo, PendingOperationsResponse, - PendingOperationType, + PendingTaskType, } from "./pending-types.js"; import { CoinDumpJson } from "@gnu-taler/taler-util"; import { codecForTransactionsRequest } from "@gnu-taler/taler-util"; @@ -206,44 +207,47 @@ async function getWithdrawalDetailsForAmount( */ async function processOnePendingOperation( ws: InternalWalletState, - pending: PendingOperationInfo, + pending: PendingTaskInfo, forceNow = false, ): Promise<void> { logger.trace(`running pending ${JSON.stringify(pending, undefined, 2)}`); switch (pending.type) { - case PendingOperationType.ExchangeUpdate: + case PendingTaskType.ExchangeUpdate: await updateExchangeFromUrl(ws, pending.exchangeBaseUrl, forceNow); break; - case PendingOperationType.Refresh: + case PendingTaskType.Refresh: await processRefreshGroup(ws, pending.refreshGroupId, forceNow); break; - case PendingOperationType.Reserve: + case PendingTaskType.Reserve: await processReserve(ws, pending.reservePub, forceNow); break; - case PendingOperationType.Withdraw: + case PendingTaskType.Withdraw: await processWithdrawGroup(ws, pending.withdrawalGroupId, forceNow); break; - case PendingOperationType.ProposalDownload: + case PendingTaskType.ProposalDownload: await processDownloadProposal(ws, pending.proposalId, forceNow); break; - case PendingOperationType.TipPickup: + case PendingTaskType.TipPickup: await processTip(ws, pending.tipId, forceNow); break; - case PendingOperationType.Pay: + case PendingTaskType.Pay: await processPurchasePay(ws, pending.proposalId, forceNow); break; - case PendingOperationType.RefundQuery: + case PendingTaskType.RefundQuery: await processPurchaseQueryRefund(ws, pending.proposalId, forceNow); break; - case PendingOperationType.Recoup: + case PendingTaskType.Recoup: await processRecoupGroup(ws, pending.recoupGroupId, forceNow); break; - case PendingOperationType.ExchangeCheckRefresh: + case PendingTaskType.ExchangeCheckRefresh: await autoRefresh(ws, pending.exchangeBaseUrl); break; - case PendingOperationType.Deposit: + case PendingTaskType.Deposit: await processDepositGroup(ws, pending.depositGroupId); break; + case PendingTaskType.Backup: + await processBackupForProvider(ws, pending.backupProviderBaseUrl); + break; default: assertUnreachable(pending); } |