diff options
author | Florian Dold <florian@dold.me> | 2024-09-23 19:28:49 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-09-23 19:28:49 +0200 |
commit | a86cae90440002dfcd2528aa79c31e6168c1c80c (patch) | |
tree | 2babac6dbcb5b67c5fc836acd8a0893655e304d1 | |
parent | 250206d6e9d57eb576091aed86ac051c16053329 (diff) | |
download | wallet-core-a86cae90440002dfcd2528aa79c31e6168c1c80c.tar.xz |
util: deprecate outdated merchant API type declaration
Still in use in the UI
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()) |