taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 5b4d2532ffc6e52e5b1c81d1b00b02085b840c22
parent 9e638d4b4c5c0f67b24c2dbd264c57c609e778da
Author: Florian Dold <florian@dold.me>
Date:   Thu,  8 May 2025 14:30:04 +0200

harness: fix types, add basic check

Diffstat:
Mpackages/taler-harness/src/integrationtests/test-tops-aml-legi.ts | 5++++-
Mpackages/taler-util/src/http-client/exchange.ts | 6+++---
Mpackages/taler-util/src/types-taler-exchange.ts | 18++++++++++++++++--
3 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/packages/taler-harness/src/integrationtests/test-tops-aml-legi.ts b/packages/taler-harness/src/integrationtests/test-tops-aml-legi.ts @@ -79,7 +79,10 @@ export async function runTopsAmlLegiTest(t: GlobalTestState) { console.log(j2s(legis)); - // FIXME: Test things about the response! + t.assertDeepEqual( + legis.measures[0].measures.measures[0].prog_name, + "check-tos", + ); } runTopsAmlLegiTest.suites = ["wallet"]; diff --git a/packages/taler-util/src/http-client/exchange.ts b/packages/taler-util/src/http-client/exchange.ts @@ -48,7 +48,6 @@ import { } from "../types-taler-common.js"; import { AmlDecisionRequest, - AmlDecisionsResponse, ExchangeKycUploadFormRequest, ExchangePurseDeposits, ExchangePurseMergeRequest, @@ -56,6 +55,7 @@ import { ExchangeVersionResponse, KycProcessClientInformation, KycRequirementInformationId, + LegitimizationMeasuresList, PurseCreate, WalletKycRequest, codecForAccountKycStatus, @@ -816,7 +816,7 @@ export class TalerExchangeHttpClient { */ async getAmlLegitimizations(args: { officerAcc: OfficerAccount; - }): Promise<OperationOk<AmlDecisionsResponse>> { + }): Promise<OperationOk<LegitimizationMeasuresList>> { const url = new URL( `aml/${args.officerAcc.id}/legitimizations`, this.baseUrl, @@ -836,7 +836,7 @@ export class TalerExchangeHttpClient { return opSuccessFromHttp(resp, codecForAny()); case HttpStatusCode.NoContent: return opFixedSuccess({ - records: [], + measures: [], }); default: return opUnknownHttpFailure(resp); diff --git a/packages/taler-util/src/types-taler-exchange.ts b/packages/taler-util/src/types-taler-exchange.ts @@ -2070,7 +2070,21 @@ export interface AmlDecisionsResponse { export interface LegitimizationMeasuresList { // Legitimization measures. - measures: LegitimizationMeasureDetails; + measures: LegitimizationMeasureDetails[]; +} + +export interface LegitimizationMeasures { + // Array of legitimization measures that + // are to be applied. + measures: MeasureInformation[]; + + // True if the client is expected to eventually satisfy all requirements. + // Default (if missing) is false. + is_and_combinator?: boolean; + + // True if the requested operation is categorically forbidden. + // The measures array will be empty in this case. + verboten: boolean; } export interface LegitimizationMeasureDetails { @@ -2085,7 +2099,7 @@ export interface LegitimizationMeasureDetails { start_time: Timestamp; // The the actual measures. - measures: LegitimizationMeasureDetails; + measures: LegitimizationMeasures; // Was this measure finished by the customer? is_finished: boolean;