use crate::cli::commands;
use crate::cli::error::CliResult;
use crate::commands::install_api_service;
use crate::logging::{log_error, log_success};
pub async fn handle_api(cmd: commands::ApiCmd, debug: bool) -> CliResult<()> {
match cmd.command {
commands::ApiSubCommand::Install { port } => {
if let Err(e) = install_api_service(port, debug).await {
let _ = log_error("api", "API systemd install failed", Some(&e)).await;
return Err(e.into());
}
let _ = log_success(
"api",
&format!("xbp-api.service installed on port {}", port),
None,
)
.await;
}
}
Ok(())
}