commit cad5e6434b498c2bf2b4d51d338e358860855040
parent 27188c177c578ce7c163b2d78f576be5577e79fa
Author: Florian Dold <florian@dold.me>
Date: Sat, 18 Jul 2026 11:52:19 +0200
fix status code handling in checkKycInfo
Diffstat:
2 files changed, 11 insertions(+), 13 deletions(-)
diff --git a/packages/taler-util/src/http-client/exchange-client.ts b/packages/taler-util/src/http-client/exchange-client.ts
@@ -33,6 +33,7 @@ import {
ResultByMethod,
carefullyParseConfig,
opEmptySuccess,
+ opFixedAlternativeFailure,
opFixedSuccess,
opKnownAlternativeHttpFailure,
opKnownFailure,
@@ -128,7 +129,7 @@ import {
signAmlQuery,
} from "../index.js";
import { AbsoluteTime } from "../time.js";
-import { EmptyObject, codecForEmptyObject } from "../types-taler-wallet.js";
+import { EmptyObject } from "../types-taler-wallet.js";
export type TalerExchangeResultByMethod2<
prop extends keyof TalerExchangeHttpClient,
@@ -772,11 +773,7 @@ export class TalerExchangeHttpClient {
return opSuccessFromHttp(resp, codecForKycProcessClientInformation());
case HttpStatusCode.Accepted:
case HttpStatusCode.NoContent:
- return opKnownAlternativeHttpFailure(
- resp,
- resp.status,
- codecForEmptyObject(),
- );
+ return opFixedAlternativeFailure(resp, resp.status, {});
case HttpStatusCode.NotModified:
return opKnownHttpFailure(resp.status, resp);
default:
diff --git a/packages/taler-util/src/operation.ts b/packages/taler-util/src/operation.ts
@@ -176,13 +176,6 @@ export async function carefullyParseConfig<T>(
return opFixedSuccess(httpResponse, body);
}
-/**
- *
- * @param resp
- * @param s
- * @param codec
- * @returns
- */
export async function opKnownAlternativeHttpFailure<
T extends HttpStatusCode,
B,
@@ -195,6 +188,14 @@ export async function opKnownAlternativeHttpFailure<
return { type: "fail", response: resp, case: s, body };
}
+export function opFixedAlternativeFailure<T, B>(
+ resp: HttpResponse,
+ s: T,
+ body: B,
+): OperationAlternative<T, B> {
+ return { type: "fail" as const, response: resp, case: s, body };
+}
+
/**
* Constructor of a failure response of the API that is already documented in the spec.
* The `case` parameter is a reason of the error.