export type GetApiV1AccountsArgs = {search?: string | undefined, facetFilters?: string | undefined, tags?: string | undefined, index?: string | undefined, page?: number | undefined, max_score?: number | undefined, spamchecker_only?: boolean | undefined, spamchecker?: boolean | undefined, 'x-api-key': string}; export type GetApiV1AccountsOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * Get all project accounts * * GET /v1/accounts */ export const getApiV1Accounts = async (args: GetApiV1AccountsArgs, options?: GetApiV1AccountsOptions) => { const {baseUrl = "https://api.mailreach.co/api", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() if (args.search != null) query.append("search", String(args.search)) if (args.facetFilters != null) query.append("facetFilters", String(args.facetFilters)) if (args.tags != null) query.append("tags", String(args.tags)) if (args.index != null) query.append("index", String(args.index)) if (args.page != null) query.append("page", String(args.page)) if (args.max_score != null) query.append("max_score", String(args.max_score)) if (args.spamchecker_only != null) query.append("spamchecker_only", String(args.spamchecker_only)) if (args.spamchecker != null) query.append("spamchecker", String(args.spamchecker)) if (args['x-api-key'] != null) headers.set("x-api-key", String(args['x-api-key'])) const url = `${baseUrl.replace(/\/+$/, '')}/v1/accounts${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 undefined };