1 | |
2 | * update schedule |
3 | * |
4 | */ |
5 | export async function main( |
6 | workspace: string, |
7 | path: string, |
8 | body: { |
9 | schedule: string; |
10 | timezone: string; |
11 | args: { [k: string]: unknown }; |
12 | on_failure?: string; |
13 | on_failure_times?: number; |
14 | on_failure_exact?: boolean; |
15 | on_failure_extra_args?: { [k: string]: unknown }; |
16 | on_recovery?: string; |
17 | on_recovery_times?: number; |
18 | on_recovery_extra_args?: { [k: string]: unknown }; |
19 | ws_error_handler_muted?: boolean; |
20 | retry?: { |
21 | constant?: { attempts?: number; seconds?: number; [k: string]: unknown }; |
22 | exponential?: { |
23 | attempts?: number; |
24 | multiplier?: number; |
25 | seconds?: number; |
26 | random_factor?: number; |
27 | [k: string]: unknown; |
28 | }; |
29 | [k: string]: unknown; |
30 | }; |
31 | no_flow_overlap?: boolean; |
32 | summary?: string; |
33 | tag?: string; |
34 | [k: string]: unknown; |
35 | } |
36 | ) { |
37 | const url = new URL( |
38 | `${BASE_URL}/api/w/${workspace}/schedules/update/${path}` |
39 | ); |
40 |
|
41 | const response = await fetch(url, { |
42 | method: "POST", |
43 | headers: { |
44 | "Content-Type": "application/json", |
45 | Authorization: "Bearer " + WM_TOKEN, |
46 | }, |
47 | body: JSON.stringify(body), |
48 | }); |
49 | if (!response.ok) { |
50 | const text = await response.text(); |
51 | throw new Error(`${response.status} ${text}`); |
52 | } |
53 | return await response.text(); |
54 | } |
55 |
|