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 | |
| 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.
| -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); +            } +        },      }  } | 
