summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2021-11-26 16:26:55 +0100
committerDavid Lönnhager <david.l@mullvad.net>2022-03-14 12:08:46 +0100
commitb2fce777fc89453a22e60b217fef8ea20735fb70 (patch)
tree2accfeefcbf6b379edb0659067a15ab40a9d30ae
parent045204dbfd97a5813f38e40f898aaa812efce5d7 (diff)
downloadmullvadvpn-b2fce777fc89453a22e60b217fef8ea20735fb70.tar.xz
mullvadvpn-b2fce777fc89453a22e60b217fef8ea20735fb70.zip
Improve 'list-devices' output in the CLI
-rw-r--r--mullvad-cli/src/cmds/account.rs25
1 files changed, 22 insertions, 3 deletions
diff --git a/mullvad-cli/src/cmds/account.rs b/mullvad-cli/src/cmds/account.rs
index 4507b555c0..ba09ed8e49 100644
--- a/mullvad-cli/src/cmds/account.rs
+++ b/mullvad-cli/src/cmds/account.rs
@@ -4,7 +4,7 @@ use mullvad_management_interface::{
types::{self, Timestamp},
Code, ManagementServiceClient,
};
-use mullvad_types::account::AccountToken;
+use mullvad_types::{account::AccountToken, device::Device};
use std::io::{self, Write};
pub struct Account;
@@ -39,6 +39,12 @@ impl Command for Account {
.help("Mullvad account number")
.long("account")
.takes_value(true),
+ )
+ .arg(
+ clap::Arg::new("verbose")
+ .long("verbose")
+ .short('v')
+ .help("Enables verbose output"),
),
)
.subcommand(
@@ -133,9 +139,22 @@ impl Account {
async fn list_devices(&self, matches: &clap::ArgMatches) -> Result<()> {
let mut rpc = new_rpc_client().await?;
let token = self.parse_account_else_current(&mut rpc, matches).await?;
- let devices = rpc.list_devices(token).await?.into_inner();
+ let device_list = rpc.list_devices(token).await?.into_inner();
+
+ let verbose = matches.is_present("verbose");
- println!("{:?}", devices);
+ println!("Devices on the account:");
+ for device in device_list.devices {
+ let device = Device::try_from(device.clone()).unwrap();
+ if verbose {
+ println!();
+ println!("Name : {}", device.name);
+ println!("Id : {}", device.id);
+ println!("Public key: {}", device.pubkey);
+ } else {
+ println!("{}", device.name);
+ }
+ }
Ok(())
}