use arcbox_cli::client;
use anyhow::Result;
use clap::Args;
#[derive(Args)]
pub struct RmArgs {
#[arg(required = true)]
pub containers: Vec<String>,
#[arg(short, long)]
pub force: bool,
#[arg(short, long)]
pub volumes: bool,
#[arg(short, long)]
pub link: bool,
}
pub async fn execute(args: RmArgs) -> Result<()> {
let daemon = client::get_client().await?;
for container in &args.containers {
let path = format!(
"/v1.43/containers/{}?force={}&v={}",
container, args.force, args.volumes
);
match daemon.delete(&path).await {
Ok(()) => {
println!("{container}");
}
Err(e) => {
eprintln!("Error removing {}: {}", container, e);
}
}
}
Ok(())
}