gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated: embedded: add missing DB remo


From: gnunet
Subject: [taler-wallet-core] branch master updated: embedded: add missing DB remove call in reset
Date: Thu, 23 Feb 2023 15:18:38 +0100

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 339080e01 embedded: add missing DB remove call in reset
339080e01 is described below

commit 339080e014e2a94cf93bb8ef8d5fbe6793ee4c48
Author: Florian Dold <florian@dold.me>
AuthorDate: Thu Feb 23 15:18:30 2023 +0100

    embedded: add missing DB remove call in reset
---
 packages/taler-util/src/qtart.ts                 |  1 +
 packages/taler-wallet-embedded/src/wallet-qjs.ts | 26 ++++++++++++++++--------
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/packages/taler-util/src/qtart.ts b/packages/taler-util/src/qtart.ts
index f8edf234e..6e6882991 100644
--- a/packages/taler-util/src/qtart.ts
+++ b/packages/taler-util/src/qtart.ts
@@ -23,6 +23,7 @@ export interface QjsOsLib {
   postMessageToHost(s: string): void;
   setMessageFromHostHandler(h: (s: string) => void): void;
   rename(oldPath: string, newPath: string): number;
+  remove(path: string): number;
 }
 
 export interface QjsStdLib {
diff --git a/packages/taler-wallet-embedded/src/wallet-qjs.ts 
b/packages/taler-wallet-embedded/src/wallet-qjs.ts
index 9cf735b12..9d6a6c097 100644
--- a/packages/taler-wallet-embedded/src/wallet-qjs.ts
+++ b/packages/taler-wallet-embedded/src/wallet-qjs.ts
@@ -30,6 +30,7 @@ import {
   Logger,
   setGlobalLogLevelFromString,
   setPRNG,
+  TalerErrorCode,
   WalletNotification,
 } from "@gnu-taler/taler-util";
 import { createPlatformHttpLib } from "@gnu-taler/taler-util/http";
@@ -74,7 +75,7 @@ class NativeWalletMessageHandler {
     id: string,
     args: any,
   ): Promise<CoreApiResponse> {
-    const wrapResponse = (result: unknown): CoreApiResponseSuccess => {
+    const wrapSuccessResponse = (result: unknown): CoreApiResponseSuccess => {
       return {
         type: "response",
         id,
@@ -120,7 +121,7 @@ class NativeWalletMessageHandler {
           setGlobalLogLevelFromString(logLevel);
         }
         await reinit();
-        return wrapResponse({
+        return wrapSuccessResponse({
           ...initResponse,
         });
       }
@@ -137,14 +138,22 @@ class NativeWalletMessageHandler {
         throw Error("not implemented");
       }
       case "reset": {
+        logger.info("resetting wallet");
         const oldArgs = this.walletArgs;
         this.walletArgs = { ...oldArgs };
         if (oldArgs && oldArgs.persistentStoragePath) {
-          try {
-            logger.error("FIXME: reset not implemented");
-            // fs.unlinkSync(oldArgs.persistentStoragePath);
-          } catch (e) {
-            logger.error("Error while deleting the wallet db:", e);
+          const ret = qjsOs.remove(oldArgs.persistentStoragePath);
+          if (ret != null) {
+            return {
+              type: "error",
+              id,
+              operation,
+              error: {
+                code: TalerErrorCode.GENERIC_UNEXPECTED_REQUEST_ERROR,
+                hint: `path ${oldArgs.persistentStoragePath}`,
+                message: "removing DB file failed",
+              },
+            };
           }
           // Prevent further storage!
           this.walletArgs.persistentStoragePath = undefined;
@@ -154,7 +163,8 @@ class NativeWalletMessageHandler {
         this.wp = openPromise<Wallet>();
         this.maybeWallet = undefined;
         await reinit();
-        return wrapResponse({});
+        logger.info("wallet re-initialized after reset");
+        return wrapSuccessResponse({});
       }
       default: {
         const wallet = await this.wp.promise;

-- 
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]