gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-core] branch master updated: fix #8451


From: gnunet
Subject: [taler-wallet-core] branch master updated: fix #8451
Date: Tue, 20 Feb 2024 21:34:24 +0100

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

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

The following commit(s) were added to refs/heads/master by this push:
     new 6c2d6e9ad fix #8451
6c2d6e9ad is described below

commit 6c2d6e9ad96b0eeb3f88b4b54bb75f87ba244e87
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Tue Feb 20 17:33:43 2024 -0300

    fix #8451
---
 .../paths/instance/accounts/create/CreatePage.tsx  | 22 ++++++++++---
 .../src/paths/instance/accounts/create/index.tsx   |  6 ++--
 .../paths/instance/accounts/update/UpdatePage.tsx  | 36 +++++++++++++---------
 3 files changed, 41 insertions(+), 23 deletions(-)

diff --git 
a/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx
 
b/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx
index 6e4786a47..8539e6783 100644
--- 
a/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx
+++ 
b/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx
@@ -36,7 +36,7 @@ import { undefinedIfEmpty } from "../../../../utils/table.js";
 type Entity = MerchantBackend.BankAccounts.AccountAddDetails & { 
repeatPassword: string };
 
 interface Props {
-  onCreate: (d: Entity) => Promise<void>;
+  onCreate: (d: MerchantBackend.BankAccounts.AccountAddDetails) => 
Promise<void>;
   onBack?: () => void;
 }
 
@@ -44,7 +44,7 @@ const accountAuthType = ["none", "basic"];
 
 function isValidURL(s: string): boolean {
   try {
-    const u = new URL(s)
+    const u = new URL("/", s)
     return true;
   } catch (e) {
     return false;
@@ -88,8 +88,22 @@ export function CreatePage({ onCreate, onBack }: Props): 
VNode {
 
   const submitForm = () => {
     if (hasErrors) return Promise.reject();
-    delete state.repeatPassword
-    return onCreate(state as any);
+    const credit_facade_url = !state.credit_facade_url ? undefined : new 
URL("/", state.credit_facade_url).href
+    const credit_facade_credentials: 
MerchantBackend.BankAccounts.FacadeCredentials | undefined =
+      credit_facade_url == undefined ? undefined :
+        state.credit_facade_credentials?.type === "basic" ? {
+          type: "basic",
+          password: state.credit_facade_credentials.password,
+          username: state.credit_facade_credentials.username,
+        } : {
+          type: "none"
+        }
+
+    return onCreate({
+      payto_uri: state.payto_uri!,
+      credit_facade_credentials,
+      credit_facade_url,
+    });
   };
 
   return (
diff --git 
a/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/index.tsx 
b/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/index.tsx
index 7d33d25ce..b458efe31 100644
--- 
a/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/index.tsx
+++ 
b/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/index.tsx
@@ -24,11 +24,9 @@ import { Fragment, h, VNode } from "preact";
 import { useState } from "preact/hooks";
 import { NotificationCard } from "../../../../components/menu/index.js";
 import { MerchantBackend } from "../../../../declaration.js";
-import { useWebhookAPI } from "../../../../hooks/webhooks.js";
+import { useBankAccountAPI } from "../../../../hooks/bank.js";
 import { Notification } from "../../../../utils/types.js";
 import { CreatePage } from "./CreatePage.js";
-import { useOtpDeviceAPI } from "../../../../hooks/otp.js";
-import { useBankAccountAPI } from "../../../../hooks/bank.js";
 
 export type Entity = MerchantBackend.BankAccounts.AccountAddDetails;
 interface Props {
@@ -53,7 +51,7 @@ export default function CreateValidator({ onConfirm, onBack 
}: Props): VNode {
             })
             .catch((error) => {
               setNotif({
-                message: i18n.str`could not create device`,
+                message: i18n.str`could not create account`,
                 type: "ERROR",
                 description: error.message,
               });
diff --git 
a/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx
 
b/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx
index e0e0ba7ed..9514ed0dc 100644
--- 
a/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx
+++ 
b/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx
@@ -49,8 +49,14 @@ export function UpdatePage({ account, onUpdate, onBack }: 
Props): VNode {
 
   const [state, setState] = 
useState<Partial<MerchantBackend.BankAccounts.AccountPatchDetails>>(account);
 
+  // @ts-expect-error "unedit" is fine since is part of the accountAuthType 
values
+  if (state.credit_facade_credentials?.type === "unedit") {
+    // we use this to set creds to undefined but server don't get this type
+    state.credit_facade_credentials = undefined
+  }
+
   const errors: FormErrors<MerchantBackend.BankAccounts.AccountPatchDetails> = 
{
-    credit_facade_url: !state.credit_facade_url ? i18n.str`required` : 
!isValidURL(state.credit_facade_url) ? i18n.str`invalid url` : undefined,
+    credit_facade_url: !state.credit_facade_url ? undefined : 
!isValidURL(state.credit_facade_url) ? i18n.str`invalid url` : undefined,
     credit_facade_credentials: undefinedIfEmpty({
 
       username: state.credit_facade_credentials?.type !== "basic" ? undefined
@@ -73,19 +79,19 @@ export function UpdatePage({ account, onUpdate, onBack }: 
Props): VNode {
   const submitForm = () => {
     if (hasErrors) return Promise.reject();
 
-    const creds: typeof state.credit_facade_credentials =
-      state.credit_facade_credentials?.type === "basic" ? {
-        type: "basic",
-        password: state.credit_facade_credentials.password,
-        username: state.credit_facade_credentials.username,
-      } : state.credit_facade_credentials?.type === "none" ? {
-        type: "none"
-      } : undefined;
-
-    return onUpdate({
-      credit_facade_credentials: creds,
-      credit_facade_url: state.credit_facade_url,
-    });
+    const credit_facade_url = !state.credit_facade_url ? undefined : new 
URL("/", state.credit_facade_url).href
+
+    const credit_facade_credentials: 
MerchantBackend.BankAccounts.FacadeCredentials | undefined =
+      credit_facade_url == undefined || state.credit_facade_credentials === 
undefined ? undefined :
+        state.credit_facade_credentials.type === "basic" ? {
+          type: "basic",
+          password: state.credit_facade_credentials.password,
+          username: state.credit_facade_credentials.username,
+        } : {
+          type: "none"
+        };
+
+    return onUpdate({ credit_facade_credentials, credit_facade_url });
   };
 
   return (
@@ -187,7 +193,7 @@ export function UpdatePage({ account, onUpdate, onBack }: 
Props): VNode {
 
 function isValidURL(s: string): boolean {
   try {
-    const u = new URL(s)
+    const u = new URL("/", s)
     return true;
   } catch (e) {
     return false;

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