export type GetApiChannelV1DiscountsArgs = {code?: string | undefined, count?: number | undefined, sortField?: ('APPLICATION' | 'CHANNEL' | 'CODE' | 'CREATED_ON' | 'END_DATE' | 'REDEMPTIONS' | 'START_DATE') | undefined, sortOrder?: ('ASC' | 'DESC') | undefined, start?: number | undefined}; export type GetApiChannelV1DiscountsOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * List all discounts * * GET /channel/v1/discounts */ export const getApiChannelV1Discounts = async (args: GetApiChannelV1DiscountsArgs, options?: GetApiChannelV1DiscountsOptions) => { const {baseUrl = "https://marketplace.appdirect.com/api", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.code != null) query.append("code", String(args.code)) if (args.count != null) query.append("count", String(args.count)) if (args.sortField != null) query.append("sortField", String(args.sortField)) if (args.sortOrder != null) query.append("sortOrder", String(args.sortOrder)) if (args.start != null) query.append("start", String(args.start)) const url = `${baseUrl.replace(/\/+$/, '')}/channel/v1/discounts${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 (await res.json()) as unknown };