use crate::{commands::AsyncCliCommand, config::WasmerEnv, opts::ItemTableFormatOpts};
#[derive(clap::Parser, Debug)]
pub struct CmdDomainRegister {
#[clap(flatten)]
fmt: ItemTableFormatOpts,
#[clap(flatten)]
env: WasmerEnv,
name: String,
#[clap(long, short)]
namespace: Option<String>,
#[clap(long, short)]
import_records: bool,
}
#[async_trait::async_trait]
impl AsyncCliCommand for CmdDomainRegister {
type Output = ();
async fn run_async(self) -> Result<(), anyhow::Error> {
let client = self.env.client()?;
let domain = wasmer_backend_api::query::register_domain(
&client,
self.name,
self.namespace,
Some(self.import_records),
)
.await?;
println!(
"{}: domain registered under owner `{}`",
domain.name, domain.owner.global_name
);
Ok(())
}
}