1 file changed
+31
-33
crates/cli/src/account/login/process.rs
+31
-33
@@ -1,33 +1,33 @@
1
-use crate::{
2
- account::{
1
+use {
2
+ crate::account::signup::process_signup,
3
+ crate::account::{
4
lib::{authorize_github, is_logged_in, save_token},
5
signup::{do_signup, SignupMethod},
6
},
6
- cli::CommandResult,
7
- ui::{fail_message, fail_symbol, succeed_message, succeed_symbol},
8
-};
9
-use anyhow::{anyhow, Result};
10
-use console::style;
11
-use dialoguer::{console::Term, theme::ColorfulTheme, Confirm, Input, Password, Select};
12
-use log::debug;
13
-use reqwest::{Client, StatusCode};
14
-use smbcloud_model::{
15
- account::{ErrorCode, GithubInfo, SmbAuthorization, User},
16
- forgot::{Param, UserUpdatePassword},
17
- login::{LoginArgs, LoginParams, UserParam},
18
- signup::{GithubEmail, Provider, SignupGithubParams, SignupUserGithub},
19
-};
20
-use smbcloud_network::environment::Environment;
21
-use smbcloud_networking::{
22
- constants::{
23
- PATH_LINK_GITHUB_ACCOUNT, PATH_RESEND_CONFIRMATION, PATH_RESET_PASSWORD_INSTRUCTIONS,
24
- PATH_USERS_PASSWORD, PATH_USERS_SIGN_IN,
7
+ crate::cli::CommandResult,
8
+ crate::ui::{fail_message, fail_symbol, succeed_message, succeed_symbol},
9
+ anyhow::{anyhow, Result},
10
+ console::style,
11
+ dialoguer::{console::Term, theme::ColorfulTheme, Confirm, Input, Password, Select},
12
+ log::debug,
13
+ reqwest::{Client, StatusCode},
14
+ smbcloud_model::{
15
+ account::{ErrorCode, GithubInfo, SmbAuthorization, User},
16
+ forgot::{Param, UserUpdatePassword},
17
+ login::{LoginArgs, LoginParams, UserParam},
18
+ signup::{GithubEmail, Provider, SignupGithubParams, SignupUserGithub},
19
},
26
- smb_base_url_builder,
27
-};
28
-use {
29
- crate::account::signup::process_signup, smbcloud_networking_account::signup::check_email,
30
- smbcloud_utils::email_validation, spinners::Spinner,
20
+ smbcloud_network::environment::Environment,
21
+ smbcloud_networking::{
22
+ constants::{
23
+ PATH_LINK_GITHUB_ACCOUNT, PATH_RESEND_CONFIRMATION, PATH_RESET_PASSWORD_INSTRUCTIONS,
24
+ PATH_USERS_PASSWORD, PATH_USERS_SIGN_IN,
25
+ },
26
+ smb_base_url_builder,
27
+ },
28
+ smbcloud_networking_account::signup::check_email,
29
+ smbcloud_utils::email_validation,
30
+ spinners::Spinner,
31
};
32
33
pub async fn process_login(env: Environment) -> Result<CommandResult> {
@@ -286,19 +286,17 @@ async fn login_with_email(env: Environment) -> Result<CommandResult> {
286
return Err(error);
287
}
288
};
289
- // Check if email is in the database, unconfirmed. Only presents password input if email is found and confirmed.
290
- let mut spinner = Spinner::new(
291
- spinners::Spinners::SimpleDotsScrolling,
292
- succeed_message("Checking email"),
293
- );
294
-
289
match check_email(env, &username).await {
290
Ok(auth) => {
291
// Only continue with password input if email is found and confirmed.
292
if let Some(_) = auth.error_code {
293
+ // Check if email is in the database, unconfirmed. Only presents password input if email is found and confirmed.
294
+ let spinner = Spinner::new(
295
+ spinners::Spinners::SimpleDotsScrolling,
296
+ succeed_message("Checking email"),
297
+ );
298
verify_or_set_password(&env, spinner, auth).await
299
} else {
301
- spinner.stop();
300
let password = match Password::with_theme(&ColorfulTheme::default())
301
.with_prompt("Password")
302
.interact()