summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-06-25 13:27:06 +0200
committerFlorian Dold <florian@dold.me>2021-06-25 13:27:06 +0200
commit42fe57632002e8f6dbf175b4e984b2fa1013bbe9 (patch)
treebb672ac371e5c448b12bbf287f62dfff00495596 /packages/taler-wallet-core/src/wallet.ts
parent3603a6866977600e9cb16f5e94488fde9cfb02a5 (diff)
downloadwallet-core-42fe57632002e8f6dbf175b4e984b2fa1013bbe9.tar.gz
wallet-core-42fe57632002e8f6dbf175b4e984b2fa1013bbe9.tar.bz2
wallet-core-42fe57632002e8f6dbf175b4e984b2fa1013bbe9.zip
implement backup scheduling, other tweaks
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet.ts32
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);
}