aboutsummaryrefslogtreecommitdiffstats
path: root/src/command/register.rs
diff options
context:
space:
mode:
authorConrad Ludgate <conradludgate@gmail.com>2021-12-08 13:37:49 +0000
committerGitHub <noreply@github.com>2021-12-08 13:37:49 +0000
commit4bdf4c40c292b681452c9499b9072b759073bf32 (patch)
tree1eddc50584485efbec2c1ab8e470844d25de12df /src/command/register.rs
parentRemove dev dep with wildcard (#224) (diff)
downloadatuin-4bdf4c40c292b681452c9499b9072b759073bf32.zip
feat: login/register no longer blocking (#216)
Diffstat (limited to 'src/command/register.rs')
-rw-r--r--src/command/register.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/command/register.rs b/src/command/register.rs
index 13177463..20ad1327 100644
--- a/src/command/register.rs
+++ b/src/command/register.rs
@@ -1,8 +1,6 @@
-use std::fs::File;
-use std::io::prelude::*;
-
use eyre::Result;
use structopt::StructOpt;
+use tokio::{fs::File, io::AsyncWriteExt};
use atuin_client::api_client;
use atuin_client::settings::Settings;
@@ -20,7 +18,7 @@ pub struct Cmd {
pub password: Option<String>,
}
-pub fn run(
+pub async fn run(
settings: &Settings,
username: &Option<String>,
email: &Option<String>,
@@ -32,11 +30,11 @@ pub fn run(
let password = or_user_input(password, "password");
let session =
- api_client::register(settings.sync_address.as_str(), &username, &email, &password)?;
+ api_client::register(settings.sync_address.as_str(), &username, &email, &password).await?;
let path = settings.session_path.as_str();
- let mut file = File::create(path)?;
- file.write_all(session.session.as_bytes())?;
+ let mut file = File::create(path).await?;
+ file.write_all(session.session.as_bytes()).await?;
// Create a new key, and save it to disk
let _key = atuin_client::encryption::new_key(settings)?;