update_task/
update_task.rs1use lemonaid::CitraClient;
2use lemonaid::TaskStatus;
3use lemonaid::TaskUpdateRequest;
4use std::env;
5
6#[tokio::main]
7async fn main() {
8 let api_key = env::var("CITRA_PAT")
10 .expect("CITRA_PAT environment variable not set");
11
12 let client = CitraClient::new(&api_key);
14
15 let args: Vec<String> = env::args().collect();
17 if args.len() < 2 {
18 eprintln!("Usage: cargo run --example update_task <task_id>");
19 std::process::exit(1);
20 }
21 let task_id = &args[1];
22
23 println!("Updating task: {}", task_id);
25 let update_request = TaskUpdateRequest {
26 id: task_id.to_string(),
27 status: TaskStatus::Canceled,
28 priority: Some(5),
29 scheduled_start: None,
30 scheduled_stop: None,
31 };
32 match client.update_task(&update_request).await {
33 Ok(updated_task) => {
34 println!("\n✓ Success!");
35 println!("{:#?}", updated_task);
36 }
37 Err(err) => {
38 eprintln!("\n✗ Error updating task: {}", err);
39 }
40 }
41}