| Age | Commit message (Collapse) | Author |
|
|
|
|
|
When the `--verbose` flag is given, print the event summary and
description, time, conference info, and attendees.
|
|
Silence this warning:
warning: value assigned to `email_eid` is never read
--> src/main.rs:44:9
|
44 | let mut email_eid = String::new();
| ^^^^^^^^^^^^^
|
= note: `#[warn(unused_assignments)]` on by default
= help: maybe it is overwritten before being read?
warning: 1 warning emitted
We are reading the variable, but only if `should_read_email`.
|
|
Make the variable's usage clearer.
|
|
If the `--email` flag is supplied, parse a Google Calendar email from
standard input and extract the event's eid from there.
|
|
A base64-encoded string I tested with didn't pass the regex test, and
was treated as an event ID even though it was an `eid`.
Instead of testing whether the input is a base64-encoded string with
regex, assume it's a base64-encoded string and try to decode it. If that
fails, assume it's a regular event ID.
|
|
This reverts commits:
c2525d8e9b9bb671ce855c20f644c43e71e1e7ef
65aa6027a76a65d021a5833322b5d33143933202
It turns out we can't use the email address encoded into the base64 eid
string because it's the organiser's email address, not the invitee's
address.
|
|
Tried getting the email from the base64-encoded eid string. Turns out,
though, that the email address in the eid:
1. isn't complete (it's missing the last one or two characters of the
email address as far as I can tell)
2. is not the invitee's email address, it's the organiser's email
address
For both of these reasons (particularly (2)), it looks like we can't
actually use this method and will need to make the Event.get request
after all.
|
|
Get the user email so we can use it when patching the event. This will
allow us to eliminate the Event.get request if an `eid` is given.
|
|
Event invitation emails include event ids encoded as "eid"s. These are
base64-encoded strings of:
{event_id} {user_email}
Add a new function that decodes the ID from the base64 string if the
input ID is base64-encoded. Otherwise, return the input event ID.
|
|
Fail with an error if no action is given. Use the provided action
instead of the hard-coded "accepted" string.
|
|
I like this better. More readable to have the variable assignments in
the same column.
|
|
Decided to parse command line options manually so that if multiple event
response status flags are passed, only the last one will be used.
|
|
Allow multiple events to be handled at once.
|
|
|
|
So I can put command line argument parsing in `main()`.
|
|
I'll set up my own error handling later.
|
|
In order to accept the event, we need to build an `Event` value with the
data that should be patched into the original. That value is then passed
in the `patch()` call to update the event.
The email address of the current user is required. I couldn't figure out
how best to get it, so I decided to keep the event `get()` call, and
grab the authenticated user's email address from there. This means it
requires two requests to accept the event, which is not ideal. Not sure
if there's a better way to get that information.
|
|
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.
|
|
So we don't ask for authorisation on every run.
|
|
Try out the `calendar3` API to get a single event from Google Calendar.
Mostly copied the example code from the `google-calendar3`
documentation:
https://docs.rs/google-calendar3/2.0.4+20210327/google_calendar3/index.html#a-complete-example
Modified it to get a single event, and to use the OAuth2 secret from
`~/.google-service-cli/calendar3-secret.json`.
|
|
With:
$ cargo init --bin
|