diff options
Diffstat (limited to 'packages/web-util/src/context/merchant-api.ts')
-rw-r--r-- | packages/web-util/src/context/merchant-api.ts | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/packages/web-util/src/context/merchant-api.ts b/packages/web-util/src/context/merchant-api.ts index 03c95d48e..8d929ae12 100644 --- a/packages/web-util/src/context/merchant-api.ts +++ b/packages/web-util/src/context/merchant-api.ts @@ -49,7 +49,7 @@ import { export type MerchantContextType = { url: URL; - config: TalerMerchantApi.VersionResponse; + config: TalerMerchantApi.TalerMerchantConfigResponse; lib: MerchantLib; hints: VersionHint[]; onActivity: Subscriber<ObservabilityEvent>; @@ -95,11 +95,13 @@ export const MerchantApiProvider = ({ evictors?: Evictors; children: ComponentChildren; frameOnError: FunctionComponent<{ - state: ConfigResultFail<TalerMerchantApi.VersionResponse> | undefined; + state: + | ConfigResultFail<TalerMerchantApi.TalerMerchantConfigResponse> + | undefined; }>; }): VNode => { const [checked, setChecked] = - useState<ConfigResult<TalerMerchantApi.VersionResponse>>(); + useState<ConfigResult<TalerMerchantApi.TalerMerchantConfigResponse>>(); const [merchantEndpoint, changeMerchantEndpoint] = useState(baseUrl); @@ -162,7 +164,7 @@ export const MerchantApiProvider = ({ function buildMerchantApiClient( url: URL, evictors: Evictors, -): APIClient<MerchantLib, TalerMerchantApi.VersionResponse> { +): APIClient<MerchantLib, TalerMerchantApi.TalerMerchantConfigResponse> { const httpFetch = new BrowserFetchHttpLib({ enableThrottling: true, requireTls: false, @@ -193,10 +195,14 @@ function buildMerchantApiClient( return api.lib; } - async function getRemoteConfig(): Promise<TalerMerchantApi.VersionResponse> { + async function getRemoteConfig(): Promise<TalerMerchantApi.TalerMerchantConfigResponse> { const resp = await instance.getConfig(); if (resp.type === "fail") { - throw TalerError.fromUncheckedDetail(resp.detail); + if (resp.detail) { + throw TalerError.fromUncheckedDetail(resp.detail); + } else { + throw TalerError.fromException(new Error("failed to get merchant remote config")) + } } return resp.body; } |