✨ feat(cli): add run command to execute rules
- introduce `run` subcommand to trigger rule execution - implement `RunCli` struct and logic for rule processing
This commit is contained in:
committed by
Jeremiah Russell
parent
360c4d6433
commit
a1015d9837
@@ -4,6 +4,7 @@ mod config_cli;
|
|||||||
mod delete_cli;
|
mod delete_cli;
|
||||||
mod label_cli;
|
mod label_cli;
|
||||||
mod message_cli;
|
mod message_cli;
|
||||||
|
mod run_cli;
|
||||||
mod trash_cli;
|
mod trash_cli;
|
||||||
|
|
||||||
use cull_gmail::{Config, Result};
|
use cull_gmail::{Config, Result};
|
||||||
@@ -12,6 +13,7 @@ use config_cli::ConfigCli;
|
|||||||
use delete_cli::DeleteCli;
|
use delete_cli::DeleteCli;
|
||||||
use label_cli::LabelCli;
|
use label_cli::LabelCli;
|
||||||
use message_cli::MessageCli;
|
use message_cli::MessageCli;
|
||||||
|
use run_cli::RunCli;
|
||||||
use trash_cli::TrashCli;
|
use trash_cli::TrashCli;
|
||||||
|
|
||||||
use std::error::Error as stdError;
|
use std::error::Error as stdError;
|
||||||
@@ -39,9 +41,12 @@ enum SubCmds {
|
|||||||
/// Move messages to trash
|
/// Move messages to trash
|
||||||
#[clap(name = "trash")]
|
#[clap(name = "trash")]
|
||||||
Trash(TrashCli),
|
Trash(TrashCli),
|
||||||
/// Move messages to trash
|
/// Delete messages
|
||||||
#[clap(name = "delete")]
|
#[clap(name = "delete")]
|
||||||
Delete(DeleteCli),
|
Delete(DeleteCli),
|
||||||
|
/// Run the rules from the rules configuration
|
||||||
|
#[clap(name = "run")]
|
||||||
|
Run(RunCli),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
@@ -76,6 +81,7 @@ async fn run(args: Cli) -> Result<()> {
|
|||||||
SubCmds::Labels(label_cli) => label_cli.run(config.credential_file()).await,
|
SubCmds::Labels(label_cli) => label_cli.run(config.credential_file()).await,
|
||||||
SubCmds::Trash(trash_cli) => trash_cli.run(config.credential_file()).await,
|
SubCmds::Trash(trash_cli) => trash_cli.run(config.credential_file()).await,
|
||||||
SubCmds::Delete(delete_cli) => delete_cli.run(config.credential_file()).await,
|
SubCmds::Delete(delete_cli) => delete_cli.run(config.credential_file()).await,
|
||||||
|
SubCmds::Run(run_cli) => run_cli.run(config.credential_file()).await,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user