//! locals subcommand use anyhow::Result; use crate::cli::cli_args::{LocalsCommand, LocalsSubcommand}; use crate::common::crypto; use crate::config::HuskConfigContainer; use crate::types::husk_context::HuskContext; pub mod add; pub mod remove; pub async fn dispatch(cmd: LocalsCommand, config: HuskConfigContainer) -> Result<()> { match cmd.subcommand { LocalsSubcommand::Add(add_cmd) => { add::dispatch(add_cmd, config).await?; }, LocalsSubcommand::Remove(rm_cmd) => { remove::dispatch(rm_cmd, config).await?; }, LocalsSubcommand::List => { let context = HuskContext::new(&config.into())?; // XXX: sort the output for local in crypto::get_locals( &context.cert_store, &context.policy, context.local_trust_root.fingerprint(), context.signing_key) { println!("{}", local); } }, } Ok(()) }