aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-09-23 19:28:49 +0200
committerFlorian Dold <florian@dold.me>2024-09-23 19:28:49 +0200
commita86cae90440002dfcd2528aa79c31e6168c1c80c (patch)
tree2babac6dbcb5b67c5fc836acd8a0893655e304d1
parent250206d6e9d57eb576091aed86ac051c16053329 (diff)
downloadwallet-core-a86cae90440002dfcd2528aa79c31e6168c1c80c.tar.xz
util: deprecate outdated merchant API type declaration
Still in use in the UI
-rw-r--r--packages/merchant-backoffice-ui/src/hooks/urls.ts4
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/kyc/list/ListPage.tsx4
-rw-r--r--packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts13
-rw-r--r--packages/taler-util/src/http-client/merchant.ts8
-rw-r--r--packages/taler-util/src/types-taler-merchant.ts41
5 files changed, 47 insertions, 23 deletions
diff --git a/packages/merchant-backoffice-ui/src/hooks/urls.ts b/packages/merchant-backoffice-ui/src/hooks/urls.ts
index 95e1c04f3..50d592584 100644
--- a/packages/merchant-backoffice-ui/src/hooks/urls.ts
+++ b/packages/merchant-backoffice-ui/src/hooks/urls.ts
@@ -155,7 +155,7 @@ export const API_GET_INSTANCE_BY_ID = (
export const API_GET_INSTANCE_KYC_BY_ID = (
id: string,
-): Query<unknown, TalerMerchantApi.AccountKycRedirects> => ({
+): Query<unknown, TalerMerchantApi.LegacyAccountKycRedirects> => ({
method: "GET",
url: `http://backend/management/instances/${id}/kyc`,
});
@@ -207,7 +207,7 @@ export const API_GET_CURRENT_INSTANCE: Query<
export const API_GET_CURRENT_INSTANCE_KYC: Query<
unknown,
- TalerMerchantApi.AccountKycRedirects
+ TalerMerchantApi.LegacyAccountKycRedirects
> = {
method: "GET",
url: `http://backend/instances/default/private/kyc`,
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/kyc/list/ListPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/kyc/list/ListPage.tsx
index 16bbd4b18..52c813716 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/kyc/list/ListPage.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/kyc/list/ListPage.tsx
@@ -24,7 +24,7 @@ import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { h, VNode } from "preact";
export interface Props {
- status: TalerMerchantApi.AccountKycRedirects;
+ status: TalerMerchantApi.LegacyAccountKycRedirects;
}
export function ListPage({ status }: Props): VNode {
@@ -85,7 +85,7 @@ export function ListPage({ status }: Props): VNode {
);
}
interface PendingTableProps {
- entries: TalerMerchantApi.MerchantAccountKycRedirect[];
+ entries: TalerMerchantApi.LegacyMerchantAccountKycRedirect[];
}
interface TimedOutTableProps {
diff --git a/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts b/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts
index 4440b175f..060893f37 100644
--- a/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts
+++ b/packages/taler-harness/src/integrationtests/test-kyc-merchant-deposit.ts
@@ -18,11 +18,14 @@
* Imports.
*/
import {
+ LegacyAccountKycRedirects,
+ codecForLegacyAccountKycRedirects,
Duration,
j2s,
Logger,
TalerCorebankApiClient,
} from "@gnu-taler/taler-util";
+import { readSuccessResponseJsonOrThrow } from "@gnu-taler/taler-util/http";
import {
createSyncCryptoApi,
EddsaKeyPairStrings,
@@ -261,12 +264,18 @@ export async function runKycMerchantDepositTest(t: GlobalTestState) {
const kycStatusUrl = new URL("private/kyc", merchant.makeInstanceBaseUrl())
.href;
+ let kycResp: LegacyAccountKycRedirects | undefined = undefined;
+
while (1) {
logger.info(`requesting GET ${kycStatusUrl}`);
const resp = await harnessHttpLib.fetch(kycStatusUrl);
logger.info(`mechant kyc status: ${resp.status}`);
if (resp.status === 200) {
console.log(j2s(await resp.json()));
+ kycResp = await readSuccessResponseJsonOrThrow(
+ resp,
+ codecForLegacyAccountKycRedirects(),
+ );
break;
}
// Wait 500ms
@@ -274,6 +283,8 @@ export async function runKycMerchantDepositTest(t: GlobalTestState) {
setTimeout(() => resolve(), 500);
});
}
+
+ t.assertTrue(!!kycResp);
}
-runKycMerchantDepositTest.suites = ["wallet"];
+runKycMerchantDepositTest.suites = ["wallet", "merchant", "kyc"];
diff --git a/packages/taler-util/src/http-client/merchant.ts b/packages/taler-util/src/http-client/merchant.ts
index 736ca85e1..81c8baee6 100644
--- a/packages/taler-util/src/http-client/merchant.ts
+++ b/packages/taler-util/src/http-client/merchant.ts
@@ -29,7 +29,7 @@ import {
TalerMerchantConfigResponse,
codecForAbortResponse,
codecForAccountAddResponse,
- codecForAccountKycRedirects,
+ codecForLegacyAccountKycRedirects,
codecForAccountsSummaryResponse,
codecForBankAccountDetail,
codecForCategoryListResponse,
@@ -610,7 +610,7 @@ export class TalerMerchantInstanceHttpClient {
switch (resp.status) {
case HttpStatusCode.Accepted:
- return opSuccessFromHttp(resp, codecForAccountKycRedirects());
+ return opSuccessFromHttp(resp, codecForLegacyAccountKycRedirects());
case HttpStatusCode.NoContent:
return opEmptySuccess(resp);
case HttpStatusCode.Unauthorized: // FIXME: missing in docs
@@ -621,7 +621,7 @@ export class TalerMerchantInstanceHttpClient {
return opKnownAlternativeFailure(
resp,
resp.status,
- codecForAccountKycRedirects(),
+ codecForLegacyAccountKycRedirects(),
);
case HttpStatusCode.ServiceUnavailable:
return opKnownHttpFailure(resp.status, resp);
@@ -2575,7 +2575,7 @@ export class TalerMerchantManagementHttpClient extends TalerMerchantInstanceHttp
});
switch (resp.status) {
case HttpStatusCode.Accepted:
- return opSuccessFromHttp(resp, codecForAccountKycRedirects());
+ return opSuccessFromHttp(resp, codecForLegacyAccountKycRedirects());
case HttpStatusCode.NoContent:
return opEmptySuccess(resp);
case HttpStatusCode.NotFound:
diff --git a/packages/taler-util/src/types-taler-merchant.ts b/packages/taler-util/src/types-taler-merchant.ts
index 2d24e2d72..3bddc6b72 100644
--- a/packages/taler-util/src/types-taler-merchant.ts
+++ b/packages/taler-util/src/types-taler-merchant.ts
@@ -1313,15 +1313,21 @@ export interface QueryInstancesResponse {
};
}
-export interface AccountKycRedirects {
+/**
+ * @deprecated
+ */
+export interface LegacyAccountKycRedirects {
// Array of pending KYCs.
- pending_kycs: MerchantAccountKycRedirect[];
+ pending_kycs: LegacyMerchantAccountKycRedirect[];
// Array of exchanges with no reply.
timeout_kycs: ExchangeKycTimeout[];
}
-export interface MerchantAccountKycRedirect {
+/**
+ * @deprecated
+ */
+export interface LegacyMerchantAccountKycRedirect {
// URL that the user should open in a browser to
// proceed with the KYC process (as returned
// by the exchange's /kyc-check/ endpoint).
@@ -2982,19 +2988,26 @@ export const codecForQueryInstancesResponse =
)
.build("TalerMerchantApi.QueryInstancesResponse");
-export const codecForAccountKycRedirects = (): Codec<AccountKycRedirects> =>
- buildCodecForObject<AccountKycRedirects>()
- .property(
- "pending_kycs",
- codecForList(codecForMerchantAccountKycRedirect()),
- )
- .property("timeout_kycs", codecForList(codecForExchangeKycTimeout()))
+/**
+ * @deprecated
+ */
+export const codecForLegacyAccountKycRedirects =
+ (): Codec<LegacyAccountKycRedirects> =>
+ buildCodecForObject<LegacyAccountKycRedirects>()
+ .property(
+ "pending_kycs",
+ codecForList(codecForLegacyMerchantAccountKycRedirect()),
+ )
+ .property("timeout_kycs", codecForList(codecForExchangeKycTimeout()))
- .build("TalerMerchantApi.AccountKycRedirects");
+ .build("TalerMerchantApi.AccountKycRedirects");
-export const codecForMerchantAccountKycRedirect =
- (): Codec<MerchantAccountKycRedirect> =>
- buildCodecForObject<MerchantAccountKycRedirect>()
+/**
+ * @deprecated
+ */
+export const codecForLegacyMerchantAccountKycRedirect =
+ (): Codec<LegacyMerchantAccountKycRedirect> =>
+ buildCodecForObject<LegacyMerchantAccountKycRedirect>()
.property("kyc_url", codecOptional(codecForURLString()))
.property("limits", codecOptional(codecForList(codecForAccountLimit())))
.property("exchange_url", codecForURLString())