From 51d91b719b5213d2cb49482f980a4e08ff88893a Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 7 Mar 2024 19:36:25 +0100 Subject: taler-util: make exchange pub optional in taler://withdraw-exchange URI --- packages/taler-util/src/taleruri.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'packages/taler-util/src/taleruri.ts') diff --git a/packages/taler-util/src/taleruri.ts b/packages/taler-util/src/taleruri.ts index 9717a7d71..4a8647d21 100644 --- a/packages/taler-util/src/taleruri.ts +++ b/packages/taler-util/src/taleruri.ts @@ -122,7 +122,7 @@ export interface BackupRestoreUri { export interface WithdrawExchangeUri { type: TalerUriAction.WithdrawExchange; exchangeBaseUrl: string; - exchangePub: string; + exchangePub?: string; amount?: AmountString; } @@ -401,11 +401,11 @@ export function parseWithdrawExchangeUri( } const c = pi?.rest.split("?"); const parts = c[0].split("/"); - if (parts.length < 2) { + if (parts.length < 1) { return undefined; } const host = parts[0].toLowerCase(); - const exchangePub = parts[parts.length - 1]; + const exchangePub = parts.length > 1 ? parts[parts.length - 1] : undefined; const pathSegments = parts.slice(1, parts.length - 1); const hostAndSegments = [host, ...pathSegments].join("/"); const exchangeBaseUrl = canonicalizeBaseUrl( @@ -417,7 +417,7 @@ export function parseWithdrawExchangeUri( return { type: TalerUriAction.WithdrawExchange, exchangeBaseUrl, - exchangePub, + exchangePub: exchangePub != "" ? exchangePub : undefined, amount, }; } @@ -545,7 +545,7 @@ export function stringifyWithdrawExchange({ const { proto, path, query } = getUrlInfo(exchangeBaseUrl, { a: amount, }); - return `${proto}://withdraw-exchange/${path}${exchangePub}${query}`; + return `${proto}://withdraw-exchange/${path}${exchangePub ?? ""}${query}`; } export function stringifyDevExperimentUri({ -- cgit v1.2.3