diff options
| author | David Lönnhager <david.l@mullvad.net> | 2023-04-07 01:30:34 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2023-05-03 10:40:18 +0200 |
| commit | 26b8b6f95d16adb277332b1067311c609e9ada29 (patch) | |
| tree | 3cf9f6c3acad029baf6ada6dbd8e0a0683216f95 /mullvad-cli/src/cmds/beta_program.rs | |
| parent | 8117988bb826c1cb4e5f8345717a7368fc64c379 (diff) | |
| download | mullvadvpn-26b8b6f95d16adb277332b1067311c609e9ada29.tar.xz mullvadvpn-26b8b6f95d16adb277332b1067311c609e9ada29.zip | |
Overthink boolean options
Diffstat (limited to 'mullvad-cli/src/cmds/beta_program.rs')
| -rw-r--r-- | mullvad-cli/src/cmds/beta_program.rs | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/mullvad-cli/src/cmds/beta_program.rs b/mullvad-cli/src/cmds/beta_program.rs index df98efbf79..ba9c72616e 100644 --- a/mullvad-cli/src/cmds/beta_program.rs +++ b/mullvad-cli/src/cmds/beta_program.rs @@ -2,17 +2,14 @@ use anyhow::{anyhow, Result}; use clap::Subcommand; use mullvad_management_interface::MullvadProxyClient; -use super::on_off_parser; +use super::BooleanOption; #[derive(Subcommand, Debug)] pub enum BetaProgram { /// Get beta notifications setting Get, /// Change beta notifications setting - Set { - #[arg(value_parser = on_off_parser())] - policy: bool, - }, + Set { policy: BooleanOption }, } impl BetaProgram { @@ -23,31 +20,24 @@ impl BetaProgram { } } - async fn set(enable: bool) -> Result<()> { - if !enable && mullvad_version::VERSION.contains("beta") { + async fn set(state: BooleanOption) -> Result<()> { + if !*state && mullvad_version::VERSION.contains("beta") { return Err(anyhow!( "The beta program must be enabled while running a beta version", )); } let mut rpc = MullvadProxyClient::new().await?; - rpc.set_show_beta_releases(enable).await?; + rpc.set_show_beta_releases(*state).await?; - if enable { - println!("Beta program: on"); - } else { - println!("Beta program: off"); - } + println!("Beta program: {state}"); Ok(()) } async fn get() -> Result<()> { let mut rpc = MullvadProxyClient::new().await?; - if rpc.get_settings().await?.show_beta_releases { - println!("Beta program: on"); - } else { - println!("Beta program: off"); - } + let opt = BooleanOption::from(rpc.get_settings().await?.show_beta_releases); + println!("Beta program: {opt}"); Ok(()) } } |
