wasmer_cli/commands/domain/
list.rs

1use wasmer_backend_api::types::GetAllDomainsVariables;
2
3use crate::{commands::AsyncCliCommand, config::WasmerEnv, opts::ListFormatOpts};
4
5/// List domains.
6#[derive(clap::Parser, Debug)]
7pub struct CmdDomainList {
8    #[clap(flatten)]
9    fmt: ListFormatOpts,
10
11    #[clap(flatten)]
12    env: WasmerEnv,
13
14    /// Name of the namespace.
15    namespace: Option<String>,
16}
17
18#[async_trait::async_trait]
19impl AsyncCliCommand for CmdDomainList {
20    type Output = ();
21
22    async fn run_async(self) -> Result<(), anyhow::Error> {
23        let client = self.env.client()?;
24        let domains = wasmer_backend_api::query::get_all_domains(
25            &client,
26            GetAllDomainsVariables {
27                first: None,
28                after: None,
29                namespace: self.namespace,
30            },
31        )
32        .await?;
33        println!("{}", self.fmt.format.render(&domains));
34        Ok(())
35    }
36}