commit 75462b496b2209e757ec65d6000c686aa111af24
parent 94c9d91dffb754765ee288845ce3a6cb235b4169
Author: Florian Dold <florian@dold.me>
Date: Thu, 25 Sep 2025 14:43:13 +0200
util: handle empty donau charities response
Diffstat:
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/packages/taler-util/src/http-client/donau-client.ts b/packages/taler-util/src/http-client/donau-client.ts
@@ -21,6 +21,7 @@ import { LibtoolVersion } from "../libtool-version.js";
import {
carefullyParseConfig,
opEmptySuccess,
+ OperationFail,
OperationOk,
opFixedSuccess,
opKnownFailure,
@@ -258,6 +259,10 @@ export class DonauHttpClient {
switch (resp.status) {
case HttpStatusCode.Ok:
return opSuccessFromHttp(resp, codecForAny() as Codec<Charities>); // FIXME: complete codec
+ case HttpStatusCode.NoContent:
+ return opFixedSuccess({
+ charities: [],
+ });
default:
return opUnknownHttpFailure(resp);
}
@@ -265,11 +270,11 @@ export class DonauHttpClient {
/**
* https://docs.taler.net/core/api-donau.html#get--charities-$CHARITY_ID
- *
- * @param args
- * @returns
*/
- async getCharitiesById(token: AccessToken, id: string) {
+ async getCharitiesById(
+ token: AccessToken,
+ id: string,
+ ): Promise<OperationFail<HttpStatusCode.NotFound> | OperationOk<Charity>> {
const url = new URL(`charities/${id}`, this.baseUrl);
const resp = await this.httpLib.fetch(url.href, {
method: "GET",