partiri-cli 0.1.4

partiri CLI — Deploy and manage services on Partiri Cloud
use tabled::Table;

use crate::client::ApiClient;
use crate::error::Result;
use crate::output::WorkspaceRow;

pub fn run_list(client: &ApiClient) -> Result<()> {
    let workspaces = client.list_workspaces()?;

    if workspaces.is_empty() {
        println!("No workspaces found.");
        return Ok(());
    }

    let rows: Vec<WorkspaceRow> = workspaces
        .into_iter()
        .map(|w| WorkspaceRow {
            name: w.name,
            id: w.id,
        })
        .collect();

    println!("{}", Table::new(rows));
    Ok(())
}