gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] 01/02: added name into recovery uri


From: gnunet
Subject: [taler-wallet-core] 01/02: added name into recovery uri
Date: Fri, 21 Oct 2022 17:12:51 +0200

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

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

commit 805e2c4d7cfbc61ca3b0fe43d23ae139be9daeea
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Fri Oct 21 12:12:35 2022 -0300

    added name into recovery uri
---
 packages/taler-util/src/backup-types.ts |  1 +
 packages/taler-util/src/taleruri.ts     | 33 +++++++++++++++++----------------
 2 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/packages/taler-util/src/backup-types.ts 
b/packages/taler-util/src/backup-types.ts
index b3eb082ea..f44a8ba3f 100644
--- a/packages/taler-util/src/backup-types.ts
+++ b/packages/taler-util/src/backup-types.ts
@@ -1281,6 +1281,7 @@ export enum BackupProposalStatus {
 export interface BackupRecovery {
   walletRootPriv: string;
   providers: {
+    name: string;
     url: string;
   }[];
 }
diff --git a/packages/taler-util/src/taleruri.ts 
b/packages/taler-util/src/taleruri.ts
index 45f9a90f2..fb7175e74 100644
--- a/packages/taler-util/src/taleruri.ts
+++ b/packages/taler-util/src/taleruri.ts
@@ -373,10 +373,13 @@ export function constructPayPullUri(args: {
 }
 
 export function constructRecoveryUri(args: BackupRecovery): string {
-  const key = args.walletRootPriv
-  const urls = args.providers.map(p => 
`p=${canonicalizeBaseUrl(p.url)}`).join("&")
+  const key = args.walletRootPriv;
+  //FIXME: name may contain non valid characters
+  const urls = args.providers
+    .map((p) => `${p.name}=${canonicalizeBaseUrl(p.url)}`)
+    .join("&");
 
-  return `taler://recovery/${key}?${urls}`
+  return `taler://recovery/${key}?${urls}`;
 }
 export function parseRecoveryUri(uri: string): BackupRecovery | undefined {
   const pi = parseProtoInfo(uri, "recovery");
@@ -385,26 +388,24 @@ export function parseRecoveryUri(uri: string): 
BackupRecovery | undefined {
   }
   const idx = pi.rest.indexOf("?");
   if (idx === -1) {
-    return undefined
+    return undefined;
   }
-  const path = pi.rest.slice(0, idx)
-  const params = pi.rest.slice(idx + 1)
+  const path = pi.rest.slice(0, idx);
+  const params = pi.rest.slice(idx + 1);
   if (!path || !params) {
     return undefined;
   }
   const parts = path.split("/");
   const walletRootPriv = parts[0];
-  if (!walletRootPriv) return undefined
-  const providers = new Array<{ url: string }>();
-  const args = params.split("&")
+  if (!walletRootPriv) return undefined;
+  const providers = new Array<{ name: string; url: string }>();
+  const args = params.split("&");
   for (const param in args) {
-    const eq = args[param].indexOf("=")
+    const eq = args[param].indexOf("=");
     if (eq === -1) return undefined;
-    const name = args[param].slice(0, eq)
-    const value = args[param].slice(eq + 1)
-    if (name !== "p" || !value) return undefined;
-    providers.push({ url: value })
+    const name = args[param].slice(0, eq);
+    const url = args[param].slice(eq + 1);
+    providers.push({ name, url });
   }
-  return { walletRootPriv, providers }
+  return { walletRootPriv, providers };
 }
-

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