From 7436e4ff651b64d4019a59d04c30c414ae220403 Mon Sep 17 00:00:00 2001 From: Conrad Ludgate Date: Fri, 22 Apr 2022 21:14:23 +0100 Subject: feature-flags (#328) * use feature flags * fmt * fix features * update ci * fmt Co-authored-by: Ellie Huxtable --- src/command/client/login.rs | 75 --------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 src/command/client/login.rs (limited to 'src/command/client/login.rs') diff --git a/src/command/client/login.rs b/src/command/client/login.rs deleted file mode 100644 index efc9c590..00000000 --- a/src/command/client/login.rs +++ /dev/null @@ -1,75 +0,0 @@ -use std::io; - -use atuin_common::api::LoginRequest; -use clap::AppSettings; -use clap::Parser; -use eyre::Result; -use tokio::{fs::File, io::AsyncWriteExt}; - -use atuin_client::api_client; -use atuin_client::settings::Settings; - -#[derive(Parser)] -#[clap(setting(AppSettings::DeriveDisplayOrder))] -pub struct Cmd { - #[clap(long, short)] - pub username: Option, - - #[clap(long, short)] - pub password: Option, - - /// The encryption key for your account - #[clap(long, short)] - pub key: Option, -} - -fn get_input() -> Result { - let mut input = String::new(); - io::stdin().read_line(&mut input)?; - Ok(input.trim_end_matches(&['\r', '\n'][..]).to_string()) -} - -impl Cmd { - pub async fn run(&self, settings: &Settings) -> Result<()> { - let session_path = atuin_common::utils::data_dir().join("session"); - - if session_path.exists() { - println!( - "You are already logged in! Please run 'atuin logout' if you wish to login again" - ); - - return Ok(()); - } - - let username = or_user_input(&self.username, "username"); - let password = or_user_input(&self.password, "password"); - let key = or_user_input(&self.key, "encryption key"); - - let session = api_client::login( - settings.sync_address.as_str(), - LoginRequest { username, password }, - ) - .await?; - - let session_path = settings.session_path.as_str(); - let mut file = File::create(session_path).await?; - file.write_all(session.session.as_bytes()).await?; - - let key_path = settings.key_path.as_str(); - let mut file = File::create(key_path).await?; - file.write_all(key.as_bytes()).await?; - - println!("Logged in!"); - - Ok(()) - } -} - -pub(super) fn or_user_input(value: &'_ Option, name: &'static str) -> String { - value.clone().unwrap_or_else(|| read_user_input(name)) -} - -fn read_user_input(name: &'static str) -> String { - eprint!("Please enter {}: ", name); - get_input().expect("Failed to read from input") -} -- cgit v1.3.1