hyperhive/hivectl/src/approvals.rs

24 lines
791 B
Rust

//! `hivectl approvals` — the operator approval queue (pending/approve/deny).
use std::path::Path;
use anyhow::Result;
use hive_host_sock::HostRequest;
use crate::cli::ApprovalsCmd;
use crate::util::render;
/// Dispatch `hivectl approvals <verb>` — the operator approval queue.
pub(crate) async fn run_approvals(socket: &Path, cmd: ApprovalsCmd) -> Result<()> {
match cmd {
ApprovalsCmd::Pending => {
render(crate::client::request(socket, HostRequest::Pending).await?)
}
ApprovalsCmd::Approve { id } => {
render(crate::client::request(socket, HostRequest::Approve { id }).await?)
}
ApprovalsCmd::Deny { id } => {
render(crate::client::request(socket, HostRequest::Deny { id }).await?)
}
}
}