fn0-cli 0.1.10

CLI for fn0 cloud
use color_eyre::{Result, eyre::eyre};

pub async fn run(keys: Vec<String>, project: Option<String>) -> Result<()> {
    let project_name = match project {
        Some(project) => project,
        None => {
            let config = crate::config::Config::load("fn0.toml").map_err(|_| {
                eyre!("fn0.toml not found. Pass --project <name> or run in a project directory.")
            })?;
            config
                .name
                .ok_or_else(|| eyre!("'name' field missing in fn0.toml"))?
        }
    };

    let urls = fn0_deploy::public_purge(&project_name, &keys)
        .await
        .map_err(|e| eyre!("{e}"))?;
    for url in &urls {
        println!("{url}");
    }
    println!("queued {} invalidation(s)", urls.len());
    Ok(())
}