partiri-cli 0.1.7

partiri CLI — Deploy and manage services on Partiri Cloud
use inquire::Confirm;
use owo_colors::OwoColorize;

use crate::client::ApiClient;
use crate::config::PartiriConfig;
use crate::error::Result;
use crate::output::print_success;

pub fn run(client: &ApiClient, config: &PartiriConfig) -> Result<()> {
    let id = config.id_or_err()?;

    let confirmed = Confirm::new(&format!(
        "Are you sure you want to deploy service {}?",
        id.bold()
    ))
    .with_default(false)
    .prompt()
    .map_err(|_| "Cancelled.")?;

    if !confirmed {
        return Err("Cancelled.".into());
    }

    client.deploy_service(id)?;

    print_success("Deploy job created.");
    println!(
        "\n  Check progress with {}",
        "'partiri service jobs'".bold()
    );

    Ok(())
}