aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/paths/instance/accounts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2024-03-22 15:15:15 -0300
committerSebastian <sebasjm@gmail.com>2024-03-26 16:57:58 -0300
commit5181d060cf09ffc7250c9f1069920da0724e0284 (patch)
tree477312c567976c63caa101202bc525490727c096 /packages/merchant-backoffice-ui/src/paths/instance/accounts
parente2bfbced7ab027c901913e83ff7dd82240661990 (diff)
downloadwallet-core-5181d060cf09ffc7250c9f1069920da0724e0284.tar.xz
wip, doesn't compile. now merchant doesn't have it's own definition of types... it uses the one defined by taler-util
Diffstat (limited to 'packages/merchant-backoffice-ui/src/paths/instance/accounts')
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx8
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/accounts/create/index.tsx6
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/accounts/list/ListPage.tsx11
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx10
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/accounts/list/index.tsx10
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx14
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/accounts/update/index.tsx7
7 files changed, 27 insertions, 39 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 bf16686f4..dd77d609c 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
@@ -19,6 +19,7 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
+import { TalerMerchantApi } from "@gnu-taler/taler-util";
import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { Fragment, h, VNode } from "preact";
import { useState } from "preact/hooks";
@@ -30,13 +31,12 @@ import {
import { Input } from "../../../../components/form/Input.js";
import { InputPaytoForm } from "../../../../components/form/InputPaytoForm.js";
import { InputSelector } from "../../../../components/form/InputSelector.js";
-import { MerchantBackend } from "../../../../declaration.js";
import { undefinedIfEmpty } from "../../../../utils/table.js";
-type Entity = MerchantBackend.BankAccounts.AccountAddDetails & { repeatPassword: string };
+type Entity = TalerMerchantApi.AccountAddDetails & { repeatPassword: string };
interface Props {
- onCreate: (d: MerchantBackend.BankAccounts.AccountAddDetails) => Promise<void>;
+ onCreate: (d: TalerMerchantApi.AccountAddDetails) => Promise<void>;
onBack?: () => void;
}
@@ -89,7 +89,7 @@ export function CreatePage({ onCreate, onBack }: Props): VNode {
const submitForm = () => {
if (hasErrors) return Promise.reject();
const credit_facade_url = !state.credit_facade_url ? undefined : new URL("/", state.credit_facade_url).href
- const credit_facade_credentials: MerchantBackend.BankAccounts.FacadeCredentials | undefined =
+ const credit_facade_credentials: TalerMerchantApi.FacadeCredentials | undefined =
credit_facade_url == undefined ? undefined :
state.credit_facade_credentials?.type === "basic" ? {
type: "basic",
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 a2351964a..b12b95f2f 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
@@ -19,16 +19,16 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
+import { TalerMerchantApi } from "@gnu-taler/taler-util";
import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { Fragment, h, VNode } from "preact";
import { useState } from "preact/hooks";
import { NotificationCard } from "../../../../components/menu/index.js";
-import { MerchantBackend } from "../../../../declaration.js";
import { useBankAccountAPI } from "../../../../hooks/bank.js";
import { Notification } from "../../../../utils/types.js";
import { CreatePage } from "./CreatePage.js";
-export type Entity = MerchantBackend.BankAccounts.AccountAddDetails;
+export type Entity = TalerMerchantApi.AccountAddDetails;
interface Props {
onBack?: () => void;
onConfirm: () => void;
@@ -46,7 +46,7 @@ export default function CreateValidator({ onConfirm, onBack }: Props): VNode {
onBack={onBack}
onCreate={(request: Entity) => {
return createBankAccount(request)
- .then((d) => {
+ .then(() => {
onConfirm()
})
.catch((error) => {
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/ListPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/ListPage.tsx
index 3359d1a95..50cf0fe70 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/ListPage.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/ListPage.tsx
@@ -19,18 +19,17 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
+import { TalerMerchantApi } from "@gnu-taler/taler-util";
import { h, VNode } from "preact";
-import { MerchantBackend } from "../../../../declaration.js";
-import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { CardTable } from "./Table.js";
export interface Props {
- devices: MerchantBackend.BankAccounts.BankAccountEntry[];
+ devices: TalerMerchantApi.BankAccountEntry[];
onLoadMoreBefore?: () => void;
onLoadMoreAfter?: () => void;
onCreate: () => void;
- onDelete: (e: MerchantBackend.BankAccounts.BankAccountEntry) => void;
- onSelect: (e: MerchantBackend.BankAccounts.BankAccountEntry) => void;
+ onDelete: (e: TalerMerchantApi.BankAccountEntry) => void;
+ onSelect: (e: TalerMerchantApi.BankAccountEntry) => void;
}
export function ListPage({
@@ -41,9 +40,7 @@ export function ListPage({
onLoadMoreBefore,
onLoadMoreAfter,
}: Props): VNode {
- const form = { payto_uri: "" };
- const { i18n } = useTranslationContext();
return (
<section class="section is-main-section">
<CardTable
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx
index 95e684b7b..690e3a2fc 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx
@@ -19,13 +19,12 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
+import { parsePaytoUri, PaytoType, PaytoUri, PaytoUriBitcoin, PaytoUriIBAN, PaytoUriTalerBank, PaytoUriUnknown, TalerMerchantApi } from "@gnu-taler/taler-util";
import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { Fragment, h, VNode } from "preact";
import { StateUpdater, useState } from "preact/hooks";
-import { MerchantBackend } from "../../../../declaration.js";
-import { parsePaytoUri, PaytoType, PaytoUri, PaytoUriBitcoin, PaytoUriIBAN, PaytoUriTalerBank, PaytoUriUnknown } from "@gnu-taler/taler-util";
-type Entity = MerchantBackend.BankAccounts.BankAccountEntry;
+type Entity = TalerMerchantApi.BankAccountEntry;
interface Props {
accounts: Entity[];
@@ -110,11 +109,6 @@ interface TableProps {
onLoadMoreAfter?: () => void;
}
-function toggleSelected<T>(id: T): (prev: T[]) => T[] {
- return (prev: T[]): T[] =>
- prev.indexOf(id) == -1 ? [...prev, id] : prev.filter((e) => e != id);
-}
-
function Table({
accounts,
onLoadMoreAfter,
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/index.tsx
index 51139c3f3..72efa08c9 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/index.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/index.tsx
@@ -19,7 +19,7 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
-import { HttpStatusCode } from "@gnu-taler/taler-util";
+import { HttpStatusCode, TalerErrorDetail, TalerMerchantApi } from "@gnu-taler/taler-util";
import {
ErrorType,
HttpError,
@@ -29,15 +29,13 @@ import { Fragment, VNode, h } from "preact";
import { useState } from "preact/hooks";
import { Loading } from "../../../../components/exception/loading.js";
import { NotificationCard } from "../../../../components/menu/index.js";
-import { MerchantBackend } from "../../../../declaration.js";
-import { useInstanceOtpDevices, useOtpDeviceAPI } from "../../../../hooks/otp.js";
+import { useBankAccountAPI, useInstanceBankAccounts } from "../../../../hooks/bank.js";
import { Notification } from "../../../../utils/types.js";
import { ListPage } from "./ListPage.js";
-import { useBankAccountAPI, useInstanceBankAccounts } from "../../../../hooks/bank.js";
interface Props {
onUnauthorized: () => VNode;
- onLoadError: (error: HttpError<MerchantBackend.ErrorDetail>) => VNode;
+ onLoadError: (error: HttpError<TalerErrorDetail>) => VNode;
onNotFound: () => VNode;
onCreate: () => void;
onSelect: (id: string) => void;
@@ -91,7 +89,7 @@ export default function ListOtpDevices({
onSelect={(e) => {
onSelect(e.h_wire);
}}
- onDelete={(e: MerchantBackend.BankAccounts.BankAccountEntry) =>
+ onDelete={(e: TalerMerchantApi.BankAccountEntry) =>
deleteBankAccount(e.h_wire)
.then(() =>
setNotif({
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 6b67a79a4..6dd264f29 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
@@ -19,6 +19,7 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
+import { TalerMerchantApi } from "@gnu-taler/taler-util";
import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { Fragment, h, VNode } from "preact";
import { useState } from "preact/hooks";
@@ -28,17 +29,16 @@ import {
FormProvider,
} from "../../../../components/form/FormProvider.js";
import { Input } from "../../../../components/form/Input.js";
-import { MerchantBackend, WithId } from "../../../../declaration.js";
-import { InputSelector } from "../../../../components/form/InputSelector.js";
import { InputPaytoForm } from "../../../../components/form/InputPaytoForm.js";
+import { InputSelector } from "../../../../components/form/InputSelector.js";
import { undefinedIfEmpty } from "../../../../utils/table.js";
-type Entity = MerchantBackend.BankAccounts.BankAccountEntry
+type Entity = TalerMerchantApi.BankAccountEntry
& WithId;
const accountAuthType = ["unedit", "none", "basic"];
interface Props {
- onUpdate: (d: MerchantBackend.BankAccounts.AccountPatchDetails) => Promise<void>;
+ onUpdate: (d: TalerMerchantApi.AccountPatchDetails) => Promise<void>;
onBack?: () => void;
account: Entity;
}
@@ -47,7 +47,7 @@ interface Props {
export function UpdatePage({ account, onUpdate, onBack }: Props): VNode {
const { i18n } = useTranslationContext();
- const [state, setState] = useState<Partial<MerchantBackend.BankAccounts.AccountPatchDetails>>(account);
+ const [state, setState] = useState<Partial<TalerMerchantApi.AccountPatchDetails>>(account);
// @ts-expect-error "unedit" is fine since is part of the accountAuthType values
if (state.credit_facade_credentials?.type === "unedit") {
@@ -55,7 +55,7 @@ export function UpdatePage({ account, onUpdate, onBack }: Props): VNode {
state.credit_facade_credentials = undefined
}
- const errors: FormErrors<MerchantBackend.BankAccounts.AccountPatchDetails> = {
+ const errors: FormErrors<TalerMerchantApi.AccountPatchDetails> = {
credit_facade_url: !state.credit_facade_url ? undefined : !isValidURL(state.credit_facade_url) ? i18n.str`invalid url` : undefined,
credit_facade_credentials: undefinedIfEmpty({
@@ -81,7 +81,7 @@ export function UpdatePage({ account, onUpdate, onBack }: Props): VNode {
const credit_facade_url = !state.credit_facade_url ? undefined : new URL("/", state.credit_facade_url).href
- const credit_facade_credentials: MerchantBackend.BankAccounts.FacadeCredentials | undefined =
+ const credit_facade_credentials: TalerMerchantApi.FacadeCredentials | undefined =
credit_facade_url == undefined || state.credit_facade_credentials === undefined ? undefined :
state.credit_facade_credentials.type === "basic" ? {
type: "basic",
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/index.tsx
index ca0b692a3..742d13b67 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/index.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/index.tsx
@@ -19,7 +19,7 @@
* @author Sebastian Javier Marchano (sebasjm)
*/
-import { HttpStatusCode } from "@gnu-taler/taler-util";
+import { HttpStatusCode, TalerErrorDetail, TalerMerchantApi } from "@gnu-taler/taler-util";
import {
ErrorType,
HttpError,
@@ -29,19 +29,18 @@ import { Fragment, VNode, h } from "preact";
import { useState } from "preact/hooks";
import { Loading } from "../../../../components/exception/loading.js";
import { NotificationCard } from "../../../../components/menu/index.js";
-import { MerchantBackend, WithId } from "../../../../declaration.js";
import { useBankAccountAPI, useBankAccountDetails } from "../../../../hooks/bank.js";
import { Notification } from "../../../../utils/types.js";
import { UpdatePage } from "./UpdatePage.js";
-export type Entity = MerchantBackend.BankAccounts.AccountPatchDetails & WithId;
+export type Entity = TalerMerchantApi.AccountPatchDetails & WithId;
interface Props {
onBack?: () => void;
onConfirm: () => void;
onUnauthorized: () => VNode;
onNotFound: () => VNode;
- onLoadError: (e: HttpError<MerchantBackend.ErrorDetail>) => VNode;
+ onLoadError: (e: HttpError<TalerErrorDetail>) => VNode;
bid: string;
}
export default function UpdateValidator({