Files
husk-milter/src/commands/introducer.rs
T
2026-05-13 14:02:47 +02:00

34 lines
950 B
Rust

use anyhow::Result;
use crate::cli::cli_args::{IntroducerCommand, IntroducerSubcommand};
use crate::config::HuskConfigContainer;
use crate::types::husk_context::HuskContext;
use crate::common::crypto;
pub mod add;
pub mod remove;
pub async fn dispatch(cmd: IntroducerCommand, config: HuskConfigContainer) -> Result<()> {
match cmd.subcommand {
IntroducerSubcommand::Add(add_cmd) => {
add::dispatch(add_cmd, config).await?;
},
IntroducerSubcommand::Remove(rm_cmd) => {
remove::dispatch(rm_cmd, config).await?;
},
IntroducerSubcommand::List => {
let context = HuskContext::new(&config.into())?;
for introducer in crypto::get_introducers(
&context.cert_store,
&context.policy,
context.local_trust_root.fingerprint()) {
println!("{}", introducer);
}
},
}
Ok(())
}