export type GetApiV1JobsJobIdSubtasksArgs = {phase?: ('pre' | 'in_flight' | 'post') | undefined, status?: ('QUEUED' | 'IN_PROGRESS' | 'FINISHED' | 'FAILED' | 'SKIPPED') | undefined, jobId: string}; export type GetApiV1JobsJobIdSubtasksOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * List sub-tasks for a print job * * GET /v1/jobs/{jobId}/subtasks */ export const getApiV1JobsJobIdSubtasks = async (args: GetApiV1JobsJobIdSubtasksArgs, options?: GetApiV1JobsJobIdSubtasksOptions) => { const {baseUrl = "https://api.printhiv3d.com", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() if (args.phase != null) query.append("phase", String(args.phase)) if (args.status != null) query.append("status", String(args.status)) const url = `${baseUrl.replace(/\/+$/, '')}/v1/jobs/${encodeURIComponent(String(args.jobId))}/subtasks${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 };