diff options
author | Florian Dold <florian@dold.me> | 2023-05-30 15:58:28 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-05-30 15:58:28 +0200 |
commit | 2a92ca8732195a3a317a0edc155efc0b72351272 (patch) | |
tree | 0a9acdb7014b3a4018f904ad307b32f7eb40f848 /packages/taler-wallet-core/src/operations/tip.ts | |
parent | 000359a5e746d9b704b05f2f3eb8442e10a31f75 (diff) | |
download | wallet-core-2a92ca8732195a3a317a0edc155efc0b72351272.tar.xz |
wallet-core: report possible actions in transactions list
Diffstat (limited to 'packages/taler-wallet-core/src/operations/tip.ts')
-rw-r--r-- | packages/taler-wallet-core/src/operations/tip.ts | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/packages/taler-wallet-core/src/operations/tip.ts b/packages/taler-wallet-core/src/operations/tip.ts index 0bee2b406..02c933cba 100644 --- a/packages/taler-wallet-core/src/operations/tip.ts +++ b/packages/taler-wallet-core/src/operations/tip.ts @@ -36,6 +36,7 @@ import { TalerPreciseTimestamp, TalerProtocolTimestamp, TipPlanchetDetail, + TransactionAction, TransactionMajorState, TransactionMinorState, TransactionState, @@ -111,6 +112,24 @@ export function computeTipTransactionStatus( } } + +export function computeTipTransactionActions( + tipRecord: TipRecord, +): TransactionAction[] { + switch (tipRecord.status) { + case TipRecordStatus.Done: + return [TransactionAction.Delete]; + case TipRecordStatus.Aborted: + return [TransactionAction.Delete]; + case TipRecordStatus.PendingPickup: + return [TransactionAction.Suspend, TransactionAction.Fail]; + case TipRecordStatus.SuspendidPickup: + return [TransactionAction.Resume, TransactionAction.Fail]; + default: + assertUnreachable(tipRecord.status); + } +} + export async function prepareTip( ws: InternalWalletState, talerTipUri: string, @@ -526,7 +545,7 @@ export async function resumeTipTransaction( notifyTransition(ws, transactionId, transitionInfo); } -export async function cancelAbortingTipTransaction( +export async function failTipTransaction( ws: InternalWalletState, walletTipId: string, ): Promise<void> { |