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)]
10#[command(about = "Low-level commit signing and verification")]
11pub struct CommitCmd {
12    #[command(subcommand)]
13    pub command: CommitSubcommand,
14}
15
16#[derive(Subcommand, Debug, Clone)]
17pub enum CommitSubcommand {
18    Sign(SignCommand),
19    Verify(VerifyCommitCommand),
20}
21
22impl ExecutableCommand for CommitCmd {
23    fn execute(&self, ctx: &CliConfig) -> Result<()> {
24        match &self.command {
25            CommitSubcommand::Sign(cmd) => cmd.execute(ctx),
26            CommitSubcommand::Verify(cmd) => cmd.execute(ctx),
27        }
28    }
29}