Skip to main content

auths_cli/commands/commit/
mod.rs

1use anyhow::Result;
2use clap::{Args, Subcommand};
3
4use crate::commands::executable::ExecutableCommand;
5use crate::commands::sign::SignCommand;
6use crate::commands::verify_commit::VerifyCommitCommand;
7use crate::config::CliConfig;
8
9#[derive(Args, Debug, Clone)]
10pub struct CommitCmd {
11    #[command(subcommand)]
12    pub command: CommitSubcommand,
13}
14
15#[derive(Subcommand, Debug, Clone)]
16pub enum CommitSubcommand {
17    Sign(SignCommand),
18    Verify(VerifyCommitCommand),
19}
20
21impl ExecutableCommand for CommitCmd {
22    fn execute(&self, ctx: &CliConfig) -> Result<()> {
23        match &self.command {
24            CommitSubcommand::Sign(cmd) => cmd.execute(ctx),
25            CommitSubcommand::Verify(cmd) => cmd.execute(ctx),
26        }
27    }
28}