aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorTeddy Wing2021-05-20 00:45:52 +0200
committerTeddy Wing2021-05-20 00:45:52 +0200
commitdf7c075aeb53a2808773f87bff0c4aa2ca4e1409 (patch)
treef640275c374af4872bb79cc358f970d905d2e7b9 /src/main.rs
parent576411e198cd5b251e0919eabab914cacc7c251d (diff)
downloadgoogle-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.rs38
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);
+ }
+ },
}
}