mod create;
mod delete;
mod drop;
mod edit;
mod list;
mod share;
mod view;
use clap::{Parser, Subcommand};
use create::SecretsCreateArgs;
use delete::SecretsDeleteArgs;
use drop::SecretDropArgs;
use edit::SecretsEditArgs;
use list::SecretsListArgs;
use share::SecretShareArgs;
use view::SecretViewArgs;
#[derive(Parser, Debug)]
pub struct SecretsCli {
#[clap(subcommand)]
commands: SecretsCommands,
}
#[derive(Subcommand, Debug)]
#[clap(about = "Manage secrets")]
enum SecretsCommands {
#[clap(about = "Create a new secret")]
Create(SecretsCreateArgs),
#[clap(about = "Delete a secret")]
Delete(SecretsDeleteArgs),
#[clap(about = "Drop a secret")]
Drop(SecretDropArgs),
#[clap(about = "Edit a secret")]
Edit(SecretsEditArgs),
#[clap(about = "List all secrets")]
List(SecretsListArgs),
#[clap(about = "Share a secret")]
Share(SecretShareArgs),
#[clap(about = "View a secret details")]
View(SecretViewArgs),
}
pub fn match_command(input: &SecretsCli) {
match &input.commands {
SecretsCommands::Create(args) => create::create(&args),
SecretsCommands::Delete(args) => delete::delete(&args),
SecretsCommands::Drop(args) => drop::drop(&args),
SecretsCommands::Edit(args) => edit::edit(&args),
SecretsCommands::List(args) => list::list(&args),
SecretsCommands::Share(args) => share::share(&args),
SecretsCommands::View(args) => view::view(&args),
}
}