♻️ refactor(cli): use GmailClient instead of credential file

- use GmailClient to reduce redundant credential file passing
This commit is contained in:
Jeremiah Russell
2025-10-13 14:01:47 +01:00
committed by Jeremiah Russell
parent 88fbf74587
commit 4d452ab5b0

View File

@@ -1,5 +1,5 @@
use clap::Parser;
use cull_gmail::{Error, Trash};
use cull_gmail::{Error, GmailClient, Trash};
/// Command line options for the list subcommand
#[derive(Debug, Parser)]
@@ -19,14 +19,12 @@ pub struct TrashCli {
}
impl TrashCli {
pub(crate) async fn run(&self, credential_file: &str) -> Result<(), Error> {
let mut list = Trash::new(credential_file).await?;
pub(crate) async fn run(&self, client: &GmailClient) -> Result<(), Error> {
let mut list = Trash::new(client).await?;
if !self.labels.is_empty() {
// add labels if any specified
list.message_list()
.add_labels(credential_file, &self.labels)
.await?;
list.message_list().add_labels(client, &self.labels).await?;
}
if let Some(query) = self.query.as_ref() {