cull-gmail 0.1.8

Cull emails from a gmail account using the gmail API
Documentation
use clap::Parser;
use cull_gmail::{GmailClient, Result, Rules};

use crate::run_rules;

#[derive(Debug, Parser)]
pub struct RunCli {
    /// Execute the action
    #[clap(short, long, display_order = 1, help_heading = "Action")]
    execute: bool,
    /// Skip any rules that apply the action `trash`
    #[clap(short = 't', long, display_order = 2, help_heading = "Skip Action")]
    skip_trash: bool,
    /// Skip any rules that apply the action `delete`
    #[clap(short = 'd', long, display_order = 3, help_heading = "Skip Action")]
    skip_delete: bool,
}

impl RunCli {
    pub async fn run(&self, client: &mut GmailClient, rules: Rules) -> Result<()> {
        run_rules(client, rules, self.execute).await
    }
}