aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-util/src/http-client
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-util/src/http-client')
-rw-r--r--packages/taler-util/src/http-client/bank-core.ts8
-rw-r--r--packages/taler-util/src/http-client/exchange.ts2
-rw-r--r--packages/taler-util/src/http-client/merchant.ts4
-rw-r--r--packages/taler-util/src/http-client/types.ts24
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 {