diff options
Diffstat (limited to 'src/command/login.rs')
-rw-r--r-- | src/command/login.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/command/login.rs b/src/command/login.rs index eacb2105..9a144580 100644 --- a/src/command/login.rs +++ b/src/command/login.rs @@ -22,6 +22,16 @@ pub struct Cmd { impl Cmd { pub 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 session = api_client::login( settings.sync_address.as_str(), self.username.as_str(), @@ -34,7 +44,7 @@ impl Cmd { let key_path = settings.key_path.as_str(); let mut file = File::create(key_path)?; - file.write_all(&base64::decode(self.key.clone())?)?; + file.write_all(self.key.as_bytes())?; println!("Logged in!"); |