From df7c075aeb53a2808773f87bff0c4aa2ca4e1409 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 20 May 2021 00:45:52 +0200 Subject: Try accepting the event Doesn't change the response status, but does patch the event. Turns out I'm not doing it correctly. I need to modify the event struct that gets passed to `patch()`, not send the attendees as a param. --- src/main.rs | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 709591f..cb4a772 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,7 +31,7 @@ async fn main() { ); let result = hub.events() - .get("primary", "1uj192r9qtotb6se0rov83ahr6") + .get("primary", "1g4j1h67ndq7kddrb2bptp2cua") .doit() .await; @@ -50,7 +50,41 @@ async fn main() { |Error::FieldClash(_) |Error::JsonDecodeError(_, _) => println!("{}", e), }, - Ok(res) => println!("Success: {:?}", res), + Ok(res) => { + println!("Success: {:?}", res); + + dbg!(&res.1.attendees); + + let event = res.1; + + if let Some(ref original_attendees) = event.attendees { + let mut attendees = original_attendees.clone(); + + for mut attendee in &mut attendees { + if let Some(is_me) = attendee.self_ { + if is_me { + attendee.response_status = Some("accepted".to_owned()); + + break; + } + } + } + + let patched_attendees = serde_json::to_string(&attendees) + .unwrap(); + + dbg!(&patched_attendees); + + let res = hub.events() + .patch(event, "primary", "1g4j1h67ndq7kddrb2bptp2cua") + .param("attendees", &patched_attendees) + .doit() + .await + .unwrap(); + + dbg!(res); + } + }, } } -- cgit v1.2.3