Files
cull-gmail/src/cli/rules_cli.rs
Jeremiah Russell 0bc71f5b75 ♻️ refactor: rename Config to Rules
- rename Config struct to Rules to better reflect its purpose
- update all references to Config to Rules
2025-10-15 12:39:20 +01:00

35 lines
762 B
Rust

use clap::{Parser, Subcommand};
mod config_cli;
mod run_cli;
use cull_gmail::{Rules, GmailClient, Result};
use config_cli::ConfigCli;
use run_cli::RunCli;
#[derive(Subcommand, Debug)]
enum SubCmds {
/// Configure end-of-life rules
#[clap(name = "config")]
Config(ConfigCli),
/// Run end-of-life rules
#[clap(name = "run")]
Run(RunCli),
}
#[derive(Debug, Parser)]
pub struct RulesCli {
#[command(subcommand)]
sub_command: SubCmds,
}
impl RulesCli {
pub async fn run(&self, client: &mut GmailClient, config: Rules) -> Result<()> {
match &self.sub_command {
SubCmds::Config(config_cli) => config_cli.run(config),
SubCmds::Run(run_cli) => run_cli.run(client, config).await,
}
}
}