summaryrefslogtreecommitdiffhomepage
path: root/mullvad-cli/src/cmds/beta_program.rs
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2023-04-07 01:30:34 +0200
committerDavid Lönnhager <david.l@mullvad.net>2023-05-03 10:40:18 +0200
commit26b8b6f95d16adb277332b1067311c609e9ada29 (patch)
tree3cf9f6c3acad029baf6ada6dbd8e0a0683216f95 /mullvad-cli/src/cmds/beta_program.rs
parent8117988bb826c1cb4e5f8345717a7368fc64c379 (diff)
downloadmullvadvpn-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.rs26
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(())
}
}