export type GetApiApiInvoicesArgs = {key: string, secret: string, page?: number | undefined, date_from?: string | undefined, date_to?: string | undefined, predefined_date_range?: ('last_month' | 'current_year' | 'last_year') | undefined, invoice_state?: ('unpaid' | 'paid' | 'canceled' | 'non_payable' | 'issued') | undefined, payment_state?: ('payment_waiting' | 'paying' | 'paid' | 'payment_paused' | 'payment_canceled' | 'payment_refunded' | 'payment_not_completed' | 'payment_chargebacked' | 'payment_pending') | undefined, product_id?: number | undefined}; export type GetApiApiInvoicesOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; /** * Get List of Invoices * * GET /api/invoices */ export const getApiApiInvoices = async (args: GetApiApiInvoicesArgs, options: GetApiApiInvoicesOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() if (args.key != null) query.append("key", String(args.key)) if (args.secret != null) query.append("secret", String(args.secret)) if (args.page != null) query.append("page", String(args.page)) if (args.date_from != null) query.append("date_from", String(args.date_from)) if (args.date_to != null) query.append("date_to", String(args.date_to)) if (args.predefined_date_range != null) query.append("predefined_date_range", String(args.predefined_date_range)) if (args.invoice_state != null) query.append("invoice_state", String(args.invoice_state)) if (args.payment_state != null) query.append("payment_state", String(args.payment_state)) if (args.product_id != null) query.append("product_id", String(args.product_id)) const url = `${baseUrl.replace(/\/+$/, '')}/api/invoices${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 };