taler-typescript-core

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

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:
Mpackages/taler-util/src/http-client/donau-client.ts | 13+++++++++----
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",