Skip to content

Commit 29680c6

Browse files
author
ComputelessComputer
committed
replace Apple integrations with Google OAuth, Gmail, and Calendar APIs
1 parent e78063d commit 29680c6

8 files changed

Lines changed: 639 additions & 229 deletions

File tree

Cargo.lock

Lines changed: 72 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ unicode-width = "0.1"
1313
ureq = { version = "2", features = ["json"] }
1414
serde_yaml = "0.9"
1515
base64 = "0.22"
16+
sha2 = "0.10"

src/calendar.rs

Lines changed: 0 additions & 92 deletions
This file was deleted.

src/cli.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -566,11 +566,12 @@ fn run_suggestions_cmd(args: &[String]) -> io::Result<()> {
566566

567567
fn cmd_suggestions_list() -> io::Result<()> {
568568
let (_, _, settings) = load();
569-
if !settings.email_suggestions_enabled {
570-
die("Email suggestions are not enabled. Enable it in the Suggestions tab (0) first.");
571-
}
572-
573-
let emails = crate::mail::get_recent_emails(10).map_err(io::Error::other)?;
569+
let data_dir = match crate::storage::data_dir() {
570+
Some(d) => d,
571+
None => die("Cannot determine data directory."),
572+
};
573+
let token = crate::google::get_valid_token(&data_dir).map_err(io::Error::other)?;
574+
let emails = crate::google::get_recent_emails(&token, 10).map_err(io::Error::other)?;
574575

575576
let unread: Vec<_> = emails.iter().filter(|e| !e.is_read).collect();
576577

@@ -608,11 +609,12 @@ fn cmd_suggestions_sync(args: &[String]) -> io::Result<()> {
608609
s.snapshot("suggestions sync");
609610
}
610611

611-
if !settings.email_suggestions_enabled {
612-
die("Email suggestions are not enabled. Enable it in the Suggestions tab (0) first.");
613-
}
614-
615-
let emails = crate::mail::get_recent_emails(10).map_err(io::Error::other)?;
612+
let data_dir = match crate::storage::data_dir() {
613+
Some(d) => d,
614+
None => die("Cannot determine data directory."),
615+
};
616+
let token = crate::google::get_valid_token(&data_dir).map_err(io::Error::other)?;
617+
let emails = crate::google::get_recent_emails(&token, 10).map_err(io::Error::other)?;
616618

617619
let limit = if let Some(limit_str) = find_flag(args, "--limit") {
618620
limit_str.parse::<usize>().unwrap_or(10)

0 commit comments

Comments
 (0)