🐛 fix(trash): fix trash command with new gmail client

- adapt trash command to use new gmail client methods
- remove unused `Trash` struct
This commit is contained in:
Jeremiah Russell
2025-10-13 16:55:59 +01:00
committed by Jeremiah Russell
parent bc2b4dab0f
commit c42f19d19a

View File

@@ -1,5 +1,5 @@
use clap::Parser; use clap::Parser;
use cull_gmail::{Error, GmailClient, Trash}; use cull_gmail::{Delete, Error, GmailClient, MessageList, Trash};
/// Command line options for the list subcommand /// Command line options for the list subcommand
#[derive(Debug, Parser)] #[derive(Debug, Parser)]
@@ -19,26 +19,21 @@ pub struct TrashCli {
} }
impl TrashCli { impl TrashCli {
pub(crate) async fn run(&self, client: &GmailClient) -> Result<(), Error> { pub(crate) async fn run(&self, client: &mut GmailClient) -> Result<(), Error> {
let mut list = Trash::new(client).await?;
if !self.labels.is_empty() { if !self.labels.is_empty() {
// add labels if any specified // add labels if any specified
list.message_list().add_labels(client, &self.labels).await?; client.add_labels(&self.labels).await?;
} }
if let Some(query) = self.query.as_ref() { if let Some(query) = self.query.as_ref() {
list.message_list().set_query(query) client.set_query(query)
} }
log::trace!("Max results: `{}`", self.max_results); log::trace!("Max results: `{}`", self.max_results);
list.message_list().set_max_results(self.max_results); client.set_max_results(self.max_results);
log::debug!( log::debug!("List max results set to {}", client.max_results());
"List max results set to {}",
list.message_list().max_results()
);
list.prepare(self.pages).await?; client.prepare(self.pages).await?;
list.batch_trash().await client.batch_trash().await
} }
} }