export type GetApiServiceProvidersArgs = {serviceProviders?: string | undefined, statuses?: string | undefined, categories?: string | undefined, accountFilter?: boolean | undefined, countries?: string | undefined, fiatCurrencies?: string | undefined, cryptoChains?: string | undefined, cryptoCurrencies?: string | undefined, paymentMethodTypes?: string | undefined}; export type GetApiServiceProvidersOptions = {baseUrl?: string | undefined, ApiKeyAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Search service providers * * GET /service-providers */ export const getApiServiceProviders = async (args: GetApiServiceProvidersArgs, options?: GetApiServiceProvidersOptions) => { const {baseUrl = "https://api-sb.meld.io", fetch: fetchFn = fetch, ApiKeyAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "*/*") if (args.serviceProviders != null) query.append("serviceProviders", String(args.serviceProviders)) if (args.statuses != null) query.append("statuses", String(args.statuses)) if (args.categories != null) query.append("categories", String(args.categories)) if (args.accountFilter != null) query.append("accountFilter", String(args.accountFilter)) if (args.countries != null) query.append("countries", String(args.countries)) if (args.fiatCurrencies != null) query.append("fiatCurrencies", String(args.fiatCurrencies)) if (args.cryptoChains != null) query.append("cryptoChains", String(args.cryptoChains)) if (args.cryptoCurrencies != null) query.append("cryptoCurrencies", String(args.cryptoCurrencies)) if (args.paymentMethodTypes != null) query.append("paymentMethodTypes", String(args.paymentMethodTypes)) if (ApiKeyAuth !== undefined) headers.set("Authorization", ApiKeyAuth) const url = `${baseUrl.replace(/\/+$/, '')}/service-providers${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };