export type DAGName = unknown; export type DAGRunId = string; export type NodeStatus = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9; export type PatchApiDagRunsNameDagRunIdSubDagRunsSubDAGRunIdStepsStepNameStatusArgs = {remoteNode?: string | undefined, name: DAGName, dagRunId: DAGRunId, subDAGRunId: string, stepName: string, body: {status: NodeStatus}}; export type PatchApiDagRunsNameDagRunIdSubDagRunsSubDAGRunIdStepsStepNameStatusOptions = {baseUrl?: string | undefined, apiToken?: string | undefined, fetch?: typeof fetch | undefined}; /** * Manually update a step's execution status in a sub DAG-run * * PATCH /dag-runs/{name}/{dagRunId}/sub-dag-runs/{subDAGRunId}/steps/{stepName}/status * * Also accepts auth: basicAuth */ export const patchApiDagRunsNameDagRunIdSubDagRunsSubDAGRunIdStepsStepNameStatus = async (args: PatchApiDagRunsNameDagRunIdSubDagRunsSubDAGRunIdStepsStepNameStatusArgs, options?: PatchApiDagRunsNameDagRunIdSubDagRunsSubDAGRunIdStepsStepNameStatusOptions) => { const {baseUrl = "http://localhost/api/v1", fetch: fetchFn = fetch, apiToken} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (args.remoteNode != null) query.append("remoteNode", String(args.remoteNode)) if (apiToken !== undefined) headers.set('authorization', `Bearer ${apiToken}`) const url = `${baseUrl.replace(/\/+$/, '')}/dag-runs/${encodeURIComponent(String(args.name))}/${encodeURIComponent(String(args.dagRunId))}/sub-dag-runs/${encodeURIComponent(String(args.subDAGRunId))}/steps/${encodeURIComponent(String(args.stepName))}/status${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };