gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: wallet-core: fix some deposit


From: gnunet
Subject: [taler-wallet-core] branch master updated: wallet-core: fix some deposit transitions
Date: Mon, 26 Jun 2023 19:39:03 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 5af24c1e8 wallet-core: fix some deposit transitions
5af24c1e8 is described below

commit 5af24c1e884140d986d1d32b60703b6c3ace524c
Author: Florian Dold <florian@dold.me>
AuthorDate: Mon Jun 26 19:38:53 2023 +0200

    wallet-core: fix some deposit transitions
---
 .../taler-wallet-core/src/operations/deposits.ts   | 68 ++++++++++++++--------
 1 file changed, 43 insertions(+), 25 deletions(-)

diff --git a/packages/taler-wallet-core/src/operations/deposits.ts 
b/packages/taler-wallet-core/src/operations/deposits.ts
index b771fc009..601df4151 100644
--- a/packages/taler-wallet-core/src/operations/deposits.ts
+++ b/packages/taler-wallet-core/src/operations/deposits.ts
@@ -224,21 +224,30 @@ export async function suspendDepositGroup(
         return undefined;
       }
       const oldState = computeDepositTransactionStatus(dg);
+      let newOpStatus: DepositOperationStatus | undefined;
       switch (dg.operationStatus) {
-        case DepositOperationStatus.Finished:
-          return undefined;
-        case DepositOperationStatus.PendingDeposit: {
-          dg.operationStatus = DepositOperationStatus.SuspendedDeposit;
-          await tx.depositGroups.put(dg);
-          return {
-            oldTxState: oldState,
-            newTxState: computeDepositTransactionStatus(dg),
-          };
-        }
-        case DepositOperationStatus.SuspendedDeposit:
-          return undefined;
+        case DepositOperationStatus.PendingDeposit:
+          newOpStatus = DepositOperationStatus.SuspendedDeposit;
+          break;
+        case DepositOperationStatus.PendingKyc:
+          newOpStatus = DepositOperationStatus.SuspendedKyc;
+          break;
+        case DepositOperationStatus.PendingTrack:
+          newOpStatus = DepositOperationStatus.SuspendedTrack;
+          break;
+        case DepositOperationStatus.Aborting:
+          newOpStatus = DepositOperationStatus.SuspendedAborting;
+          break;
       }
-      return undefined;
+      if (!newOpStatus) {
+        return undefined;
+      }
+      dg.operationStatus = newOpStatus;
+      await tx.depositGroups.put(dg);
+      return {
+        oldTxState: oldState,
+        newTxState: computeDepositTransactionStatus(dg),
+      };
     });
   stopLongpolling(ws, retryTag);
   notifyTransition(ws, transactionId, transitionInfo);
@@ -263,21 +272,30 @@ export async function resumeDepositGroup(
         return;
       }
       const oldState = computeDepositTransactionStatus(dg);
+      let newOpStatus: DepositOperationStatus | undefined;
       switch (dg.operationStatus) {
-        case DepositOperationStatus.Finished:
-          return;
-        case DepositOperationStatus.PendingDeposit: {
-          return;
-        }
         case DepositOperationStatus.SuspendedDeposit:
-          dg.operationStatus = DepositOperationStatus.PendingDeposit;
-          await tx.depositGroups.put(dg);
-          return {
-            oldTxState: oldState,
-            newTxState: computeDepositTransactionStatus(dg),
-          };
+          newOpStatus = DepositOperationStatus.PendingDeposit;
+          break;
+        case DepositOperationStatus.SuspendedAborting:
+          newOpStatus = DepositOperationStatus.Aborting;
+          break;
+        case DepositOperationStatus.SuspendedKyc:
+          newOpStatus = DepositOperationStatus.PendingKyc;
+          break;
+        case DepositOperationStatus.SuspendedTrack:
+          newOpStatus = DepositOperationStatus.PendingTrack;
+          break;
       }
-      return undefined;
+      if (!newOpStatus) {
+        return undefined;
+      }
+      dg.operationStatus = newOpStatus;
+      await tx.depositGroups.put(dg);
+      return {
+        oldTxState: oldState,
+        newTxState: computeDepositTransactionStatus(dg),
+      };
     });
   ws.workAvailable.trigger();
   notifyTransition(ws, transactionId, transitionInfo);

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]