refactor: login-logout action
This commit is contained in:
@@ -8,7 +8,7 @@ mod user_logout_api;
|
||||
pub use user_logout_api::{UserLogoutApi, UserLogoutApiResp};
|
||||
|
||||
mod user_login_api;
|
||||
pub use user_login_api::{UserLoginApi, UserLoginApiResp};
|
||||
pub use user_login_api::{LoginError, UserLoginApi, UserLoginApiResp};
|
||||
|
||||
mod get_user_data_api;
|
||||
pub use get_user_data_api::{GetUserDataApi, GetUserDataApiResp};
|
||||
|
||||
@@ -52,3 +52,28 @@ impl UserLoginApi {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl UserLoginApiResp {
|
||||
pub fn error(&self) -> Option<LoginError> {
|
||||
match self.return_code {
|
||||
1 => None,
|
||||
100 => Some(LoginError::AlreadyLogged),
|
||||
102 => Some(LoginError::QRCodeExpired),
|
||||
103 => Some(LoginError::AccountUnregistered),
|
||||
error @ _ => Some(LoginError::Unknown { error }),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, snafu::Snafu)]
|
||||
pub enum LoginError {
|
||||
#[snafu(display("QRCode was expired"))]
|
||||
QRCodeExpired,
|
||||
#[snafu(display("You did not logout last session"))]
|
||||
AlreadyLogged,
|
||||
#[snafu(display("userId does not exist"))]
|
||||
AccountUnregistered,
|
||||
|
||||
#[snafu(display("Unknown error: {error}"))]
|
||||
Unknown { error: i32 },
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user