Make register and login return User
This commit is contained in:
parent
15ee53b5f4
commit
5971ce1dbc
|
@ -12,7 +12,7 @@ pub mod login {
|
|||
pub async fn login_account(
|
||||
&mut self,
|
||||
login_schema: &LoginSchema,
|
||||
) -> Result<LoginResult, InstanceServerError> {
|
||||
) -> Result<crate::api::types::User, InstanceServerError> {
|
||||
let requester = &mut self.requester;
|
||||
let json_schema = json!(login_schema);
|
||||
let client = Client::new();
|
||||
|
@ -49,9 +49,21 @@ pub mod login {
|
|||
return Err(InstanceServerError::InvalidFormBodyError { error_type, error });
|
||||
}
|
||||
|
||||
let cloned_limits = self.limits.clone();
|
||||
let login_result: LoginResult = from_str(&response_text_string).unwrap();
|
||||
let object = self
|
||||
.get_user(login_result.token.clone(), None)
|
||||
.await
|
||||
.unwrap();
|
||||
let user = crate::api::types::User::new(
|
||||
self,
|
||||
login_result.token,
|
||||
cloned_limits,
|
||||
login_result.settings,
|
||||
Some(object),
|
||||
);
|
||||
|
||||
Ok(login_result)
|
||||
Ok(user)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ pub mod register {
|
|||
use crate::{
|
||||
api::{limits::LimitType, schemas::RegisterSchema, types::ErrorResponse},
|
||||
errors::InstanceServerError,
|
||||
instance::{Instance, Token},
|
||||
instance::Instance,
|
||||
};
|
||||
|
||||
impl Instance {
|
||||
|
@ -19,7 +19,7 @@ pub mod register {
|
|||
pub async fn register_account(
|
||||
&mut self,
|
||||
register_schema: &RegisterSchema,
|
||||
) -> Result<Token, InstanceServerError> {
|
||||
) -> Result<crate::api::types::User, InstanceServerError> {
|
||||
let json_schema = json!(register_schema);
|
||||
let limited_requester = &mut self.requester;
|
||||
let client = Client::new();
|
||||
|
@ -55,9 +55,25 @@ pub mod register {
|
|||
}
|
||||
return Err(InstanceServerError::InvalidFormBodyError { error_type, error });
|
||||
}
|
||||
Ok(Token {
|
||||
token: response_text_string,
|
||||
})
|
||||
let user_object = self
|
||||
.get_user(response_text_string.clone(), None)
|
||||
.await
|
||||
.unwrap();
|
||||
let settings = crate::api::types::User::get_settings(
|
||||
&response_text_string,
|
||||
&self.urls.get_api().to_string(),
|
||||
&mut self.limits,
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
let user: crate::api::types::User = crate::api::types::User::new(
|
||||
self,
|
||||
response_text_string.clone(),
|
||||
cloned_limits,
|
||||
settings,
|
||||
Some(user_object),
|
||||
);
|
||||
Ok(user)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -117,7 +133,7 @@ mod test {
|
|||
AuthUsername::new("Hiiii".to_string()).unwrap(),
|
||||
Some(AuthPassword::new("mysupersecurepass123!".to_string()).unwrap()),
|
||||
true,
|
||||
Some(AuthEmail::new("random978234@aaaa.xyz".to_string()).unwrap()),
|
||||
Some(AuthEmail::new("three12@aaaa.xyz".to_string()).unwrap()),
|
||||
None,
|
||||
None,
|
||||
Some("2000-01-01".to_string()),
|
||||
|
|
Loading…
Reference in New Issue