diff options
author | Florian Dold <florian@dold.me> | 2024-01-31 01:50:57 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-01-31 01:50:57 +0100 |
commit | 361c2e03ec7e8020657173d00dabab640f018709 (patch) | |
tree | 40154a9b7befb30cb5605eb2abe7ccbcc88f5723 /packages/taler-util/src/bank-api-client.ts | |
parent | c1373e6c06bd93a50bde81d3b70c4be6e7239287 (diff) | |
download | wallet-core-361c2e03ec7e8020657173d00dabab640f018709.tar.xz |
util: fix confirming withdrawal ops
This addresses a breaking change in libeufin-bank
Diffstat (limited to 'packages/taler-util/src/bank-api-client.ts')
-rw-r--r-- | packages/taler-util/src/bank-api-client.ts | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/packages/taler-util/src/bank-api-client.ts b/packages/taler-util/src/bank-api-client.ts index 0e122d10b..9c35af948 100644 --- a/packages/taler-util/src/bank-api-client.ts +++ b/packages/taler-util/src/bank-api-client.ts @@ -29,10 +29,13 @@ import { codecForAny, codecForString, encodeCrock, - generateIban, getRandomBytes, + HttpStatusCode, j2s, Logger, + opEmptySuccess, + opKnownHttpFailure, + opUnknownFailure, stringToBytes, TalerError, TalerErrorCode, @@ -398,9 +401,9 @@ export class TalerCorebankApiClient { async confirmWithdrawalOperation( username: string, wopi: ConfirmWithdrawalArgs, - ): Promise<void> { + ) { const url = new URL( - `withdrawals/${wopi.withdrawalOperationId}/confirm`, + `accounts/${username}/withdrawals/${wopi.withdrawalOperationId}/confirm`, this.baseUrl, ); logger.info(`confirming withdrawal operation via ${url.href}`); @@ -410,10 +413,15 @@ export class TalerCorebankApiClient { headers: this.makeAuthHeader(), }); - logger.info(`response status ${resp.status}`); - // const respJson = await readSuccessResponseJsonOrThrow(resp, codecForAny()); - - // FIXME: We don't check the status here! + switch (resp.status) { + case HttpStatusCode.Ok: + case HttpStatusCode.NoContent: + return opEmptySuccess(resp); + case HttpStatusCode.NotFound: + return opKnownHttpFailure(resp.status, resp); + default: + return opUnknownFailure(resp, await resp.text()); + } } async abortWithdrawalOperation(wopi: WithdrawalOperationInfo): Promise<void> { |