diff --git a/atuin-client/src/settings.rs b/atuin-client/src/settings.rs index bd47d5aa..a3d9d019 100644 --- a/atuin-client/src/settings.rs +++ b/atuin-client/src/settings.rs @@ -197,9 +197,7 @@ impl Settings { } pub fn should_sync(&self) -> Result { - let session_path = atuin_common::utils::data_dir().join("session"); - - if !self.auto_sync || !session_path.exists() { + if !self.auto_sync || !PathBuf::from(self.session_path.as_str()).exists() { return Ok(false); } diff --git a/src/command/client/sync.rs b/src/command/client/sync.rs index f71bcc99..c485e240 100644 --- a/src/command/client/sync.rs +++ b/src/command/client/sync.rs @@ -39,7 +39,7 @@ impl Cmd { match self { Self::Sync { force } => run(&settings, force, db).await, Self::Login(l) => l.run(&settings).await, - Self::Logout => logout::run(), + Self::Logout => logout::run(&settings), Self::Register(r) => r.run(&settings).await, Self::Key { base64 } => { use atuin_client::encryption::{encode_key, load_key}; diff --git a/src/command/client/sync/login.rs b/src/command/client/sync/login.rs index 06e65196..6aa2d847 100644 --- a/src/command/client/sync/login.rs +++ b/src/command/client/sync/login.rs @@ -33,9 +33,9 @@ fn get_input() -> Result { impl Cmd { pub async fn run(&self, settings: &Settings) -> Result<()> { - let session_path = atuin_common::utils::data_dir().join("session"); + let session_path = settings.session_path.as_str(); - if session_path.exists() { + if PathBuf::from(session_path).exists() { println!( "You are already logged in! Please run 'atuin logout' if you wish to login again" ); diff --git a/src/command/client/sync/logout.rs b/src/command/client/sync/logout.rs index a7e9541d..90b49d6d 100644 --- a/src/command/client/sync/logout.rs +++ b/src/command/client/sync/logout.rs @@ -1,11 +1,15 @@ +use std::path::PathBuf; + use eyre::{Context, Result}; use fs_err::remove_file; -pub fn run() -> Result<()> { - let session_path = atuin_common::utils::data_dir().join("session"); +use atuin_client::settings::Settings; - if session_path.exists() { - remove_file(session_path.as_path()).context("Failed to remove session file")?; +pub fn run(settings: &Settings) -> Result<()> { + let session_path = settings.session_path.as_str(); + + if PathBuf::from(session_path).exists() { + remove_file(session_path).context("Failed to remove session file")?; println!("You have logged out!"); } else { println!("You are not logged in");