|
1 | 1 | use { |
2 | | - crate::account::signup::signup_with_email, |
3 | | - crate::account::{ |
4 | | - lib::{authorize_github, is_logged_in, save_token}, |
5 | | - signup::{do_signup, SignupMethod}, |
| 2 | + crate::{ |
| 3 | + account::{ |
| 4 | + lib::{authorize_github, save_token}, |
| 5 | + signup::{do_signup, signup_with_email, SignupMethod}, |
| 6 | + }, |
| 7 | + cli::CommandResult, |
| 8 | + token::is_logged_in::is_logged_in as is_logged_in_async, |
| 9 | + ui::{fail_message, fail_symbol, succeed_message, succeed_symbol}, |
6 | 10 | }, |
7 | | - crate::cli::CommandResult, |
8 | | - crate::ui::{fail_message, fail_symbol, succeed_message, succeed_symbol}, |
9 | 11 | anyhow::{anyhow, Result}, |
10 | 12 | console::style, |
11 | 13 | dialoguer::{console::Term, theme::ColorfulTheme, Confirm, Input, Password, Select}, |
|
30 | 32 | spinners::Spinner, |
31 | 33 | }; |
32 | 34 |
|
33 | | -pub async fn process_login(env: Environment) -> Result<CommandResult> { |
34 | | - // Check if token file exists |
35 | | - if is_logged_in(env) { |
| 35 | +pub async fn process_login(env: Environment, is_logged_in: Option<bool>) -> Result<CommandResult> { |
| 36 | + let should_continue = match is_logged_in { |
| 37 | + Some(is_logged_id) => !is_logged_id, |
| 38 | + None => { |
| 39 | + // Check if logged in |
| 40 | + let logged_in = is_logged_in_async(env).await?; |
| 41 | + !logged_in |
| 42 | + } |
| 43 | + }; |
| 44 | + |
| 45 | + if !should_continue { |
36 | 46 | return Ok(CommandResult { |
37 | 47 | spinner: Spinner::new( |
38 | 48 | spinners::Spinners::SimpleDotsScrolling, |
|
0 commit comments