From 0269668c8bd5e41de89a7e5c368684e8568040a3 Mon Sep 17 00:00:00 2001 From: Jeremiah Russell Date: Mon, 13 Oct 2025 16:51:09 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(delete):=20stream?= =?UTF-8?q?line=20delete=20command=20execution?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - modify delete command to directly use `GmailClient` methods - remove intermediate `Delete` struct - simplify command execution flow --- src/cli/delete_cli.rs | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/cli/delete_cli.rs b/src/cli/delete_cli.rs index 9a1177b..9e571a0 100644 --- a/src/cli/delete_cli.rs +++ b/src/cli/delete_cli.rs @@ -1,5 +1,5 @@ use clap::Parser; -use cull_gmail::{Delete, GmailClient, Result}; +use cull_gmail::{Delete, GmailClient, MessageList, Result}; /// Command line options for the list subcommand #[derive(Debug, Parser)] @@ -22,34 +22,24 @@ pub struct DeleteCli { } impl DeleteCli { - pub(crate) async fn run(&self, client: &GmailClient) -> Result<()> { - let mut messages_to_delete = Delete::new(client).await?; - + pub(crate) async fn run(&self, client: &mut GmailClient) -> Result<()> { if !self.labels.is_empty() { // add labels if any specified - messages_to_delete - .message_list() - .add_labels(client, &self.labels) - .await?; + client.add_labels(&self.labels).await?; } if let Some(query) = self.query.as_ref() { - messages_to_delete.message_list().set_query(query) + client.set_query(query) } log::trace!("Max results: `{}`", self.max_results); - messages_to_delete - .message_list() - .set_max_results(self.max_results); - log::debug!( - "List max results set to {}", - messages_to_delete.message_list().max_results() - ); + client.set_max_results(self.max_results); + log::debug!("List max results set to {}", client.max_results()); - messages_to_delete.prepare(self.pages).await?; + client.prepare(self.pages).await?; if self.execute { - messages_to_delete.batch_delete().await?; + client.batch_delete().await?; log::info!("Messages deleted."); } else { log::info!("Messages not deleted.");