aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-util/src/bank-api-client.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-01-31 01:50:57 +0100
committerFlorian Dold <florian@dold.me>2024-01-31 01:50:57 +0100
commit361c2e03ec7e8020657173d00dabab640f018709 (patch)
tree40154a9b7befb30cb5605eb2abe7ccbcc88f5723 /packages/taler-util/src/bank-api-client.ts
parentc1373e6c06bd93a50bde81d3b70c4be6e7239287 (diff)
downloadwallet-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.ts22
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> {