diff options
author | Florian Dold <florian@dold.me> | 2023-05-25 19:26:40 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-05-25 19:26:40 +0200 |
commit | fe8749c3f81547d080ea23d580497750d52fed91 (patch) | |
tree | 2c0e8960fa33fc318b460538fd09fe33e5896500 /packages/taler-wallet-core/src/operations/transactions.ts | |
parent | 8624d798b799d78a4b6393493a0750027094904d (diff) | |
download | wallet-core-fe8749c3f81547d080ea23d580497750d52fed91.tar.xz |
wallet-core: implement cancelAbortingTransaction for deposit groups
Diffstat (limited to 'packages/taler-wallet-core/src/operations/transactions.ts')
-rw-r--r-- | packages/taler-wallet-core/src/operations/transactions.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/operations/transactions.ts b/packages/taler-wallet-core/src/operations/transactions.ts index 74df9acfb..84f879f58 100644 --- a/packages/taler-wallet-core/src/operations/transactions.ts +++ b/packages/taler-wallet-core/src/operations/transactions.ts @@ -75,6 +75,7 @@ import { } from "./common.js"; import { abortDepositGroup, + cancelAbortingDepositGroup, computeDepositTransactionStatus, processDepositGroup, resumeDepositGroup, @@ -1401,6 +1402,23 @@ export async function suspendTransaction( } } +export async function cancelAbortingTransaction( + ws: InternalWalletState, + transactionId: string, +): Promise<void> { + const tx = parseTransactionIdentifier(transactionId); + if (!tx) { + throw Error("invalid transaction ID"); + } + switch (tx.tag) { + case TransactionType.Deposit: + await cancelAbortingDepositGroup(ws, tx.depositGroupId); + return; + default: + logger.warn(`unable to suspend transaction of type '${tx.tag}'`); + } +} + /** * Resume a suspended transaction. */ |