diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2018-04-24 08:07:33 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2018-05-03 14:51:17 -0300 |
| commit | a79d0b89b6bf853f6cc680b74e2050ba3e01b918 (patch) | |
| tree | 0dfcf556eb8834ce6e9b37b81f028b971e0052f7 | |
| parent | bac332d881a108232d1866e65f427aa798f33620 (diff) | |
| download | mullvadvpn-a79d0b89b6bf853f6cc680b74e2050ba3e01b918.tar.xz mullvadvpn-a79d0b89b6bf853f6cc680b74e2050ba3e01b918.zip | |
Use `DaemonRpcClient` in `account` CLI command
| -rw-r--r-- | mullvad-cli/src/cmds/account.rs | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/mullvad-cli/src/cmds/account.rs b/mullvad-cli/src/cmds/account.rs index 40985c9431..65d7d1f904 100644 --- a/mullvad-cli/src/cmds/account.rs +++ b/mullvad-cli/src/cmds/account.rs @@ -1,8 +1,8 @@ use clap; use {Command, Result}; -use mullvad_types::account::{AccountData, AccountToken}; -use rpc; +use mullvad_ipc_client::DaemonRpcClient; +use mullvad_types::account::AccountToken; pub struct Account; @@ -37,7 +37,7 @@ impl Command for Account { fn run(&self, matches: &clap::ArgMatches) -> Result<()> { if let Some(set_matches) = matches.subcommand_matches("set") { let token = value_t_or_exit!(set_matches.value_of("token"), String); - self.set(Some(&token)) + self.set(Some(token)) } else if let Some(_matches) = matches.subcommand_matches("unset") { self.set(None) } else if let Some(_matches) = matches.subcommand_matches("get") { @@ -49,21 +49,23 @@ impl Command for Account { } impl Account { - fn set(&self, token: Option<&str>) -> Result<()> { - rpc::call("set_account", &[token]).map(|_: Option<()>| { - if let Some(token) = token { - println!("Mullvad account \"{}\" set", token); - } else { - println!("Mullvad account removed"); - } - }) + fn set(&self, token: Option<AccountToken>) -> Result<()> { + let rpc = DaemonRpcClient::new()?; + rpc.set_account(token.clone())?; + if let Some(token) = token { + println!("Mullvad account \"{}\" set", token); + } else { + println!("Mullvad account removed"); + } + Ok(()) } fn get(&self) -> Result<()> { - let account_token: Option<AccountToken> = rpc::call("get_account", &[] as &[u8; 0])?; + let rpc = DaemonRpcClient::new()?; + let account_token = rpc.get_account()?; if let Some(account_token) = account_token { - let expiry: AccountData = rpc::call("get_account_data", &[&account_token])?; println!("Mullvad account: {}", account_token); + let expiry = rpc.get_account_data(account_token)?; println!("Expires at : {}", expiry.expiry); } else { println!("No account configured"); |
