♻️ refactor(cli): consolidate message handling and remove delete command

- 【Refactor】: Move `set_parameters` function from `Message` trait implementation for `DeleteCli` to `MessageCli` to avoid duplication.
- 【Feature】: Add `Delete` action to `MessageAction` enum to allow direct deletion of messages.
- 【Cleanup】: Remove `delete_cli.rs` and `message_trait.rs` as their functionalities are now integrated into `message_cli.rs`.
This commit is contained in:
Jeremiah Russell
2025-10-14 16:20:58 +01:00
committed by Jeremiah Russell
parent 1feeccdebe
commit f7db97dd07
4 changed files with 18 additions and 103 deletions

View File

@@ -1,17 +1,14 @@
use clap::{Parser, Subcommand};
mod config_cli;
mod delete_cli;
mod label_cli;
mod message_cli;
mod message_trait;
mod run_cli;
use cull_gmail::{Config, GmailClient, Result};
use std::error::Error as stdError;
use config_cli::ConfigCli;
use delete_cli::DeleteCli;
use label_cli::LabelCli;
use message_cli::MessageCli;
use run_cli::RunCli;
@@ -40,8 +37,6 @@ enum SubCmds {
/// List labels
#[clap(name = "label", display_order = 2, next_help_heading = "Labels")]
Labels(LabelCli),
#[clap(name = "delete", display_order = 5, next_help_heading = "Messages")]
Delete(DeleteCli),
/// Run the rules from the rules configuration
#[clap(name = "run", display_order = 6, next_help_heading = "Rule Processing")]
Run(RunCli),
@@ -80,7 +75,6 @@ async fn run(args: Cli) -> Result<()> {
SubCmds::Config(config_cli) => config_cli.run(config),
SubCmds::Message(list_cli) => list_cli.run(&mut client).await,
SubCmds::Labels(label_cli) => label_cli.run(client).await,
SubCmds::Delete(delete_cli) => delete_cli.run(&mut client).await,
SubCmds::Run(run_cli) => run_cli.run(&mut client, config).await,
}
}