diff options
| author | Teddy Wing | 2021-05-20 00:45:52 +0200 |
|---|---|---|
| committer | Teddy Wing | 2021-05-20 00:45:52 +0200 |
| commit | df7c075aeb53a2808773f87bff0c4aa2ca4e1409 (patch) | |
| tree | f640275c374af4872bb79cc358f970d905d2e7b9 /src/main.rs | |
| parent | 576411e198cd5b251e0919eabab914cacc7c251d (diff) | |
| download | google-calendar-rsvp-df7c075aeb53a2808773f87bff0c4aa2ca4e1409.tar.bz2 | |
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.
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 38 |
1 files changed, 36 insertions, 2 deletions
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); + } + }, } } |
