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:
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;