aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/hooks')
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/bank.ts31
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/instance.test.ts14
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/instance.ts16
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/order.test.ts10
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/order.ts8
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/otp.ts8
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/product.test.ts8
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/product.ts12
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/templates.ts8
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/transfer.test.ts2
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/transfer.ts4
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/webhooks.ts8
12 files changed, 53 insertions, 76 deletions
diff --git a/packages/merchant-backoffice-ui/src/hooks/bank.ts b/packages/merchant-backoffice-ui/src/hooks/bank.ts
index e1f2638ed..513314f17 100644
--- a/packages/merchant-backoffice-ui/src/hooks/bank.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/bank.ts
@@ -17,7 +17,6 @@ import {
useMerchantApiContext
} from "@gnu-taler/web-util/browser";
import { useState } from "preact/hooks";
-import { PAGE_SIZE } from "../utils/constants.js";
// FIX default import https://github.com/microsoft/TypeScript/issues/49189
import { AccessToken, TalerHttpError, TalerMerchantManagementResultByMethod } from "@gnu-taler/taler-util";
@@ -38,12 +37,12 @@ export function revalidateInstanceBankAccounts() {
}
export function useInstanceBankAccounts() {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
const [offset, setOffset] = useState<string | undefined>();
async function fetcher([token, bid]: [AccessToken, string]) {
- return await management.listBankAccounts(token, {
+ return await instance.listBankAccounts(token, {
limit: 5,
offset: bid,
order: "dec",
@@ -55,28 +54,6 @@ export function useInstanceBankAccounts() {
TalerHttpError
>([session.token, offset, "listBankAccounts"], fetcher);
- const isLastPage =
- data && data.type === "ok" && data.body.accounts.length <= PAGE_SIZE;
- const isFirstPage = !offset;
-
- const result =
- data && data.type == "ok" ? structuredClone(data.body.accounts) : [];
- if (result.length == PAGE_SIZE + 1) {
- result.pop();
- }
- const pagination = {
- result,
- isLastPage,
- isFirstPage,
- loadNext: () => {
- if (!result.length) return;
- setOffset(result[result.length - 1].h_wire);
- },
- loadFirst: () => {
- setOffset(undefined);
- },
- };
-
if (error) return error;
if (data === undefined) return undefined;
if (data.type !== "ok") return data;
@@ -93,10 +70,10 @@ export function revalidateBankAccountDetails() {
}
export function useBankAccountDetails(h_wire: string) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([token, wireId]: [AccessToken, string]) {
- return await management.getBankAccountDetails(token, wireId);
+ return await instance.getBankAccountDetails(token, wireId);
}
const { data, error } = useSWR<
diff --git a/packages/merchant-backoffice-ui/src/hooks/instance.test.ts b/packages/merchant-backoffice-ui/src/hooks/instance.test.ts
index 64f534a06..f409592b0 100644
--- a/packages/merchant-backoffice-ui/src/hooks/instance.test.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/instance.test.ts
@@ -20,6 +20,7 @@
*/
import { TalerMerchantApi } from "@gnu-taler/taler-util";
+import { useMerchantApiContext } from "@gnu-taler/web-util/browser";
import * as tests from "@gnu-taler/web-util/testing";
import { expect } from "chai";
import {
@@ -36,7 +37,6 @@ import {
API_UPDATE_CURRENT_INSTANCE_AUTH,
API_UPDATE_INSTANCE_BY_ID,
} from "./urls.js";
-import { useMerchantApiContext } from "@gnu-taler/web-util/browser";
describe("instance api interaction with details", () => {
it("should evict cache when updating an instance", async () => {
@@ -81,7 +81,7 @@ describe("instance api interaction with details", () => {
name: "other_name",
} as TalerMerchantApi.QueryInstancesResponse,
});
- api.management.updateCurrentInstance(undefined, {
+ api.instance.updateCurrentInstance(undefined, {
name: "other_name",
} as TalerMerchantApi.InstanceReconfigurationMessage);
},
@@ -242,7 +242,7 @@ describe("instance api interaction with details", () => {
} as TalerMerchantApi.QueryInstancesResponse,
});
- api.management.updateCurrentInstanceAuthentication(undefined, {
+ api.instance.updateCurrentInstanceAuthentication(undefined, {
method: "external"
});
},
@@ -380,7 +380,7 @@ describe("instance admin api interaction with listing", () => {
},
});
- api.management.createInstance(undefined, {
+ api.instance.createInstance(undefined, {
name: "other_name",
} as TalerMerchantApi.InstanceConfigurationMessage)
},
@@ -470,7 +470,7 @@ describe("instance admin api interaction with listing", () => {
},
});
- api.management.deleteInstance(undefined, "the_id");
+ api.instance.deleteInstance(undefined, "the_id");
},
({ query, api }) => {
expect(env.assertJustExpectedRequestWereMade()).deep.eq({
@@ -628,7 +628,7 @@ describe("instance admin api interaction with listing", () => {
},
});
- api.management.deleteInstance(undefined, "the_id", { purge: true })
+ api.instance.deleteInstance(undefined, "the_id", { purge: true })
},
({ query, api }) => {
expect(env.assertJustExpectedRequestWereMade()).deep.eq({
@@ -712,7 +712,7 @@ describe("instance management api interaction with listing", () => {
},
});
- api.management.updateCurrentInstance(undefined, {
+ api.instance.updateCurrentInstance(undefined, {
name: "other_name",
} as TalerMerchantApi.InstanceConfigurationMessage);
},
diff --git a/packages/merchant-backoffice-ui/src/hooks/instance.ts b/packages/merchant-backoffice-ui/src/hooks/instance.ts
index cc907bd8f..1fa84c9d9 100644
--- a/packages/merchant-backoffice-ui/src/hooks/instance.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/instance.ts
@@ -33,10 +33,10 @@ export function revalidateInstanceDetails() {
}
export function useInstanceDetails() {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([token]: [AccessToken]) {
- return await management.getCurrentInstanceDetails(token);
+ return await instance.getCurrentInstanceDetails(token);
}
const { data, error } = useSWR<
@@ -58,10 +58,10 @@ export function revalidateInstanceKYCDetails() {
}
export function useInstanceKYCDetails() {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([token]: [AccessToken]) {
- return await management.getCurrentIntanceKycStatus(token, {});
+ return await instance.getCurrentIntanceKycStatus(token, {});
}
const { data, error } = useSWR<
@@ -85,10 +85,10 @@ export function revalidateManagedInstanceDetails() {
}
export function useManagedInstanceDetails(instanceId: string) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([token, instanceId]: [AccessToken, string]) {
- return await management.getInstanceDetails(token, instanceId);
+ return await instance.getInstanceDetails(token, instanceId);
}
const { data, error } = useSWR<
@@ -110,10 +110,10 @@ export function revalidateBackendInstances() {
}
export function useBackendInstances() {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([token]: [AccessToken]) {
- return await management.listInstances(token);
+ return await instance.listInstances(token);
}
const { data, error } = useSWR<
diff --git a/packages/merchant-backoffice-ui/src/hooks/order.test.ts b/packages/merchant-backoffice-ui/src/hooks/order.test.ts
index 243415bdd..1aa2fcf0a 100644
--- a/packages/merchant-backoffice-ui/src/hooks/order.test.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/order.test.ts
@@ -86,7 +86,7 @@ describe("order api interaction with listing", () => {
},
});
- api.management.createOrder(undefined, {
+ api.instance.createOrder(undefined, {
order: { amount: "ARS:12" as AmountString, summary: "pay me" },
})
},
@@ -171,7 +171,7 @@ describe("order api interaction with listing", () => {
},
});
- api.management.addRefund(undefined, "1", {
+ api.instance.addRefund(undefined, "1", {
reason: "double pay",
refund: "EUR:1" as AmountString,
})
@@ -247,7 +247,7 @@ describe("order api interaction with listing", () => {
},
});
- api.management.deleteOrder(undefined, "1")
+ api.instance.deleteOrder(undefined, "1")
},
({ query, api }) => {
expect(env.assertJustExpectedRequestWereMade()).deep.eq({
@@ -316,7 +316,7 @@ describe("order api interaction with details", () => {
} as unknown as TalerMerchantApi.CheckPaymentPaidResponse,
});
- api.management.addRefund(undefined, "1", {
+ api.instance.addRefund(undefined, "1", {
reason: "double pay",
refund: "EUR:1" as AmountString,
})
@@ -386,7 +386,7 @@ describe("order api interaction with details", () => {
} as unknown as TalerMerchantApi.CheckPaymentPaidResponse,
});
- api.management.forgetOrder(undefined, "1", {
+ api.instance.forgetOrder(undefined, "1", {
fields: ["$.summary"],
})
},
diff --git a/packages/merchant-backoffice-ui/src/hooks/order.ts b/packages/merchant-backoffice-ui/src/hooks/order.ts
index 47ddf1c38..b1805f6e3 100644
--- a/packages/merchant-backoffice-ui/src/hooks/order.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/order.ts
@@ -36,10 +36,10 @@ export function revalidateOrderDetails() {
}
export function useOrderDetails(oderId: string) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([dId, token]: [string, AccessToken]) {
- return await management.getOrderDetails(token, dId);
+ return await instance.getOrderDetails(token, dId);
}
const { data, error } = useSWR<
@@ -65,12 +65,12 @@ export function useInstanceOrders(
updatePosition: (d: string | undefined) => void = () => { },
) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
// const [offset, setOffset] = useState<string | undefined>(args?.position);
async function fetcher([token, o, p, r, w, d]: [AccessToken, string, boolean, boolean, boolean, AbsoluteTime]) {
- return await management.listOrders(token, {
+ return await instance.listOrders(token, {
limit: PAGE_SIZE,
offset: o,
order: "dec",
diff --git a/packages/merchant-backoffice-ui/src/hooks/otp.ts b/packages/merchant-backoffice-ui/src/hooks/otp.ts
index 69e4a0f4f..898a27a69 100644
--- a/packages/merchant-backoffice-ui/src/hooks/otp.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/otp.ts
@@ -35,12 +35,12 @@ export function revalidateInstanceOtpDevices() {
}
export function useInstanceOtpDevices() {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
const [offset, setOffset] = useState<string | undefined>();
async function fetcher([token, bid]: [AccessToken, string]) {
- return await management.listOtpDevices(token, {
+ return await instance.listOtpDevices(token, {
limit: PAGE_SIZE,
offset: bid,
order: "dec",
@@ -68,10 +68,10 @@ export function revalidateOtpDeviceDetails() {
}
export function useOtpDeviceDetails(deviceId: string) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([dId, token]: [string, AccessToken]) {
- return await management.getOtpDeviceDetails(token, dId);
+ return await instance.getOtpDeviceDetails(token, dId);
}
const { data, error } = useSWR<
diff --git a/packages/merchant-backoffice-ui/src/hooks/product.test.ts b/packages/merchant-backoffice-ui/src/hooks/product.test.ts
index 1be00201a..39281241c 100644
--- a/packages/merchant-backoffice-ui/src/hooks/product.test.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/product.test.ts
@@ -99,7 +99,7 @@ describe("product api interaction with listing", () => {
} as TalerMerchantApi.ProductDetail,
});
- api.management.addProduct(undefined, {
+ api.instance.addProduct(undefined, {
price: "ARS:23",
} as any);
},
@@ -187,7 +187,7 @@ describe("product api interaction with listing", () => {
} as TalerMerchantApi.ProductDetail,
});
- api.management.updateProduct(undefined, "1234", {
+ api.instance.updateProduct(undefined, "1234", {
price: "ARS:13",
} as any);
},
@@ -267,7 +267,7 @@ describe("product api interaction with listing", () => {
price: "ARS:12",
} as TalerMerchantApi.ProductDetail,
});
- api.management.deleteProduct(undefined, "2345");
+ api.instance.deleteProduct(undefined, "2345");
},
({ query, api }) => {
expect(env.assertJustExpectedRequestWereMade()).deep.eq({
@@ -337,7 +337,7 @@ describe("product api interaction with details", () => {
} as TalerMerchantApi.ProductDetail,
});
- api.management.updateProduct(undefined, "12", {
+ api.instance.updateProduct(undefined, "12", {
description: "other description",
} as any);
},
diff --git a/packages/merchant-backoffice-ui/src/hooks/product.ts b/packages/merchant-backoffice-ui/src/hooks/product.ts
index 6721136a5..cfbd4a653 100644
--- a/packages/merchant-backoffice-ui/src/hooks/product.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/product.ts
@@ -40,14 +40,14 @@ export function revalidateInstanceProducts() {
}
export function useInstanceProducts() {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
const [offset, setOffset] = useState<number | undefined>();
async function fetcher([token, bid]: [AccessToken, number]) {
- const list = await management.listProducts(token, {
+ const list = await instance.listProducts(token, {
limit: PAGE_SIZE,
- offset: String(bid),
+ offset: bid === undefined ? undefined: String(bid),
order: "dec",
});
if (list.type !== "ok") {
@@ -55,7 +55,7 @@ export function useInstanceProducts() {
}
const all: Array<ProductWithId | undefined> = await Promise.all(
list.body.products.map(async (c) => {
- const r = await management.getProductDetails(token, c.product_id);
+ const r = await instance.getProductDetails(token, c.product_id);
if (r.type === "fail") {
return undefined;
}
@@ -89,10 +89,10 @@ export function revalidateProductDetails() {
}
export function useProductDetails(productId: string) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([pid, token]: [string, AccessToken]) {
- return await management.getProductDetails(token, pid);
+ return await instance.getProductDetails(token, pid);
}
const { data, error } = useSWR<
diff --git a/packages/merchant-backoffice-ui/src/hooks/templates.ts b/packages/merchant-backoffice-ui/src/hooks/templates.ts
index 10e480b01..dbea93fdf 100644
--- a/packages/merchant-backoffice-ui/src/hooks/templates.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/templates.ts
@@ -39,12 +39,12 @@ export function revalidateInstanceTemplates() {
}
export function useInstanceTemplates() {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
const [offset, setOffset] = useState<string | undefined>();
async function fetcher([token, bid]: [AccessToken, string]) {
- return await management.listTemplates(token, {
+ return await instance.listTemplates(token, {
limit: PAGE_SIZE,
offset: bid,
order: "dec",
@@ -73,10 +73,10 @@ export function revalidateProductDetails() {
}
export function useTemplateDetails(templateId: string) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([tid, token]: [string, AccessToken]) {
- return await management.getTemplateDetails(token, tid);
+ return await instance.getTemplateDetails(token, tid);
}
const { data, error } = useSWR<
diff --git a/packages/merchant-backoffice-ui/src/hooks/transfer.test.ts b/packages/merchant-backoffice-ui/src/hooks/transfer.test.ts
index b424e9686..d0865d236 100644
--- a/packages/merchant-backoffice-ui/src/hooks/transfer.test.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/transfer.test.ts
@@ -86,7 +86,7 @@ describe("transfer api interaction with listing", () => {
},
});
- api.management.informWireTransfer(undefined, {
+ api.instance.informWireTransfer(undefined, {
wtid: "3",
credit_amount: "EUR:1" as AmountString,
exchange_url: "exchange.url",
diff --git a/packages/merchant-backoffice-ui/src/hooks/transfer.ts b/packages/merchant-backoffice-ui/src/hooks/transfer.ts
index 2810a4cba..44068f52d 100644
--- a/packages/merchant-backoffice-ui/src/hooks/transfer.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/transfer.ts
@@ -43,12 +43,12 @@ export function useInstanceTransfers(
updatePosition: (id: string | undefined) => void = (() => { }),
) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
// const [offset, setOffset] = useState<string | undefined>(args?.position);
async function fetcher([token, o, p, v]: [AccessToken, string, string, boolean]) {
- return await management.listWireTransfers(token, {
+ return await instance.listWireTransfers(token, {
paytoURI: p,
verified: v,
limit: PAGE_SIZE,
diff --git a/packages/merchant-backoffice-ui/src/hooks/webhooks.ts b/packages/merchant-backoffice-ui/src/hooks/webhooks.ts
index 5e2e08bcc..c69db6e80 100644
--- a/packages/merchant-backoffice-ui/src/hooks/webhooks.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/webhooks.ts
@@ -37,12 +37,12 @@ export function revalidateInstanceWebhooks() {
}
export function useInstanceWebhooks() {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
const [offset, setOffset] = useState<string | undefined>();
async function fetcher([token, bid]: [AccessToken, string]) {
- return await management.listWebhooks(token, {
+ return await instance.listWebhooks(token, {
limit: 5,
offset: bid,
order: "dec",
@@ -104,10 +104,10 @@ export function revalidateWebhookDetails() {
}
export function useWebhookDetails(webhookId: string) {
const { state: session } = useSessionContext();
- const { lib: { management } } = useMerchantApiContext();
+ const { lib: { instance } } = useMerchantApiContext();
async function fetcher([hookId, token]: [string, AccessToken]) {
- return await management.getWebhookDetails(token, hookId);
+ return await instance.getWebhookDetails(token, hookId);
}
const { data, error } = useSWR<