dialtone_ctrl 0.1.0

Dialtone Back-End Control Programs
use clap::Parser;
use dialtone_common::utils::version::DT_VERSION;
use dialtone_sqlx::db::get_pooled_connection;
use dialtone_sqlx::db::site_info::delete_site;

/// Delete a dialtone sites.
#[derive(Parser, Debug)]
#[clap(name = "delete_site", version = DT_VERSION)]
struct Opts {
    /// DNS host names (e.g. thefoo.example)
    #[clap(value_parser, short, long)]
    host_name: String,
}

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    dotenv::dotenv().ok();
    let opts: Opts = Opts::parse();
    println!("Deleting sites {}", opts.host_name);

    let pg_pool = get_pooled_connection().await?;
    delete_site(&pg_pool, &opts.host_name).await?;

    Ok(())
}