diff options
author | Sebastian <sebasjm@gmail.com> | 2024-04-04 16:24:55 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2024-04-04 16:25:08 -0300 |
commit | 072ac43b9f69807b8514eb11f8214637561a2573 (patch) | |
tree | b5b464682589f2b80dc4d8f547e9d549a4df353a /packages/taler-util/src/http-client | |
parent | 01838bfcc74a2e4e828885d5ab0d6f64cc96f328 (diff) | |
download | wallet-core-072ac43b9f69807b8514eb11f8214637561a2573.tar.xz |
fix some API differences including whatwg-url params
Diffstat (limited to 'packages/taler-util/src/http-client')
-rw-r--r-- | packages/taler-util/src/http-client/bank-core.ts | 8 | ||||
-rw-r--r-- | packages/taler-util/src/http-client/exchange.ts | 2 | ||||
-rw-r--r-- | packages/taler-util/src/http-client/merchant.ts | 4 | ||||
-rw-r--r-- | packages/taler-util/src/http-client/types.ts | 24 |
4 files changed, 29 insertions, 9 deletions
diff --git a/packages/taler-util/src/http-client/bank-core.ts b/packages/taler-util/src/http-client/bank-core.ts index b89ac8af6..59698a68b 100644 --- a/packages/taler-util/src/http-client/bank-core.ts +++ b/packages/taler-util/src/http-client/bank-core.ts @@ -128,6 +128,8 @@ export class TalerCoreBankHttpClient { switch (resp.status) { case HttpStatusCode.Ok: return opSuccessFromHttp(resp, codecForCoreBankConfig()); + case HttpStatusCode.NotFound: + return opKnownHttpFailure(resp.status, resp); default: return opUnknownFailure(resp, await readTalerErrorResponse(resp)); } @@ -146,9 +148,9 @@ export class TalerCoreBankHttpClient { body: TalerCorebankApi.RegisterAccountRequest, ) { const url = new URL(`accounts`, this.baseUrl); - const headers: Record<string, string> = {} + const headers: Record<string, string> = {}; if (auth) { - headers.Authorization = makeBearerTokenAuthHeader(auth) + headers.Authorization = makeBearerTokenAuthHeader(auth); } const resp = await this.httpLib.fetch(url.href, { method: "POST", @@ -936,7 +938,7 @@ export class TalerCoreBankHttpClient { ); } if (params.date) { - const {t_s: seconds} = AbsoluteTime.toProtocolTimestamp(params.date) + const { t_s: seconds } = AbsoluteTime.toProtocolTimestamp(params.date); if (seconds !== "never") { url.searchParams.set("date_s", String(seconds)); } diff --git a/packages/taler-util/src/http-client/exchange.ts b/packages/taler-util/src/http-client/exchange.ts index befde4d20..ea7f44cf9 100644 --- a/packages/taler-util/src/http-client/exchange.ts +++ b/packages/taler-util/src/http-client/exchange.ts @@ -71,6 +71,8 @@ export class TalerExchangeHttpClient { switch (resp.status) { case HttpStatusCode.Ok: return opSuccessFromHttp(resp, codecForExchangeConfig()); + case HttpStatusCode.NotFound: + return opKnownHttpFailure(resp.status, resp); default: return opUnknownFailure(resp, await readTalerErrorResponse(resp)); } diff --git a/packages/taler-util/src/http-client/merchant.ts b/packages/taler-util/src/http-client/merchant.ts index 7d80cacb5..cfe3155d1 100644 --- a/packages/taler-util/src/http-client/merchant.ts +++ b/packages/taler-util/src/http-client/merchant.ts @@ -127,6 +127,8 @@ export class TalerMerchantInstanceHttpClient { switch (resp.status) { case HttpStatusCode.Ok: return opSuccessFromHttp(resp, codecForMerchantConfig()); + case HttpStatusCode.NotFound: + return opKnownHttpFailure(resp.status, resp); default: return opUnknownFailure(resp, await readTalerErrorResponse(resp)); } @@ -1677,7 +1679,7 @@ export class TalerMerchantInstanceHttpClient { }); switch (resp.status) { - case HttpStatusCode.NoContent: + case HttpStatusCode.Ok: return opSuccessFromHttp(resp, codecForWebhookSummaryResponse()); case HttpStatusCode.Unauthorized: // FIXME: missing in docs return opKnownHttpFailure(resp.status, resp); diff --git a/packages/taler-util/src/http-client/types.ts b/packages/taler-util/src/http-client/types.ts index 8037b5a16..dd2161deb 100644 --- a/packages/taler-util/src/http-client/types.ts +++ b/packages/taler-util/src/http-client/types.ts @@ -524,17 +524,24 @@ export const codecForAccountAddResponse = export const codecForAccountsSummaryResponse = (): Codec<TalerMerchantApi.AccountsSummaryResponse> => buildCodecForObject<TalerMerchantApi.AccountsSummaryResponse>() - .property("accounts", codecForList(codecForBankAccountEntry())) + .property("accounts", codecForList(codecForBankAccountSummaryEntry())) .build("TalerMerchantApi.AccountsSummaryResponse"); +export const codecForBankAccountSummaryEntry = + (): Codec<TalerMerchantApi.BankAccountSummaryEntry> => + buildCodecForObject<TalerMerchantApi.BankAccountSummaryEntry>() + .property("payto_uri", codecForPaytoString()) + .property("h_wire", codecForString()) + .build("TalerMerchantApi.BankAccountSummaryEntry"); + export const codecForBankAccountEntry = (): Codec<TalerMerchantApi.BankAccountEntry> => buildCodecForObject<TalerMerchantApi.BankAccountEntry>() .property("payto_uri", codecForPaytoString()) .property("h_wire", codecForString()) .property("salt", codecForString()) - .property("credit_facade_url", codecForURL()) - .property("active", codecForBoolean()) + .property("credit_facade_url", codecOptional(codecForURL())) + .property("active", codecOptional(codecForBoolean())) .build("TalerMerchantApi.BankAccountEntry"); export const codecForInventorySummaryResponse = @@ -3772,7 +3779,14 @@ export namespace TalerMerchantApi { export interface AccountsSummaryResponse { // List of accounts that are known for the instance. - accounts: BankAccountEntry[]; + accounts: BankAccountSummaryEntry[]; + } + export interface BankAccountSummaryEntry { + // payto:// URI of the account. + payto_uri: PaytoString; + + // Hash over the wire details (including over the salt). + h_wire: HashCode; } export interface BankAccountEntry { // payto:// URI of the account. @@ -3790,7 +3804,7 @@ export namespace TalerMerchantApi { // true if this account is active, // false if it is historic. - active: boolean; + active?: boolean; } export interface ProductAddDetail { |