From b4cf8d916a6db0c58261c9c61fb48dd80983b6f3 Mon Sep 17 00:00:00 2001 From: Jeremiah Russell Date: Tue, 14 Oct 2025 06:46:12 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(message):=20remov?= =?UTF-8?q?e=20delete=20functionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - delete.rs is removed as a part of refactoring - the delete functionality will be moved to another module --- src/delete.rs | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 src/delete.rs diff --git a/src/delete.rs b/src/delete.rs deleted file mode 100644 index 90d2c92..0000000 --- a/src/delete.rs +++ /dev/null @@ -1,47 +0,0 @@ -use google_gmail1::api::BatchDeleteMessagesRequest; - -use crate::{GmailClient, Result, message_list::MessageList}; - -// #[derive(Debug)] -// pub struct Delete { -// message_list: MessageList, -// } - -/// Methods to process items -pub trait Delete { - /// Batch delete of messages - fn batch_delete(&self) -> impl std::future::Future> + Send; - /// Prepare a list of messages to trash or delete - fn prepare(&mut self, pages: u32) -> impl std::future::Future> + Send; -} - -impl Delete for GmailClient { - /// Prepare the message list for delete to be completed on execute by batch_delete - async fn prepare(&mut self, pages: u32) -> Result<()> { - self.run(pages).await - } - - /// Run the batch delete on the selected messages - async fn batch_delete(&self) -> Result<()> { - let ids = Some(self.message_ids()); - - let batch_request = BatchDeleteMessagesRequest { ids }; - - log::trace!("{batch_request:#?}"); - - let _res = self - .hub() - .users() - .messages_batch_delete(batch_request, "me") - .add_scope("https://mail.google.com/") - .doit() - .await - .map_err(Box::new)?; - - for m in self.messages() { - log::info!("Message with subject `{}` deleted.", m.subject()); - } - - Ok(()) - } -}