Refactor users.rs to use api::common
This commit is contained in:
parent
6db823cb48
commit
057e8e552f
|
@ -2,7 +2,7 @@ use reqwest::Client;
|
||||||
use serde_json::{from_str, to_string};
|
use serde_json::{from_str, to_string};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
api::limits::Limits,
|
api::{deserialize_response, handle_request_as_option, limits::Limits},
|
||||||
errors::ChorusLibError,
|
errors::ChorusLibError,
|
||||||
instance::{Instance, UserMeta},
|
instance::{Instance, UserMeta},
|
||||||
limit::LimitedRequester,
|
limit::LimitedRequester,
|
||||||
|
@ -58,20 +58,10 @@ impl UserMeta {
|
||||||
))
|
))
|
||||||
.body(to_string(&modify_schema).unwrap())
|
.body(to_string(&modify_schema).unwrap())
|
||||||
.bearer_auth(self.token());
|
.bearer_auth(self.token());
|
||||||
let result = match LimitedRequester::new()
|
let user_updated =
|
||||||
.await
|
deserialize_response::<User>(request, self, crate::api::limits::LimitType::Ip)
|
||||||
.send_request(
|
.await
|
||||||
request,
|
.unwrap();
|
||||||
crate::api::limits::LimitType::Global,
|
|
||||||
&mut self.belongs_to.borrow_mut().limits,
|
|
||||||
&mut self.limits,
|
|
||||||
)
|
|
||||||
.await
|
|
||||||
{
|
|
||||||
Ok(response) => response,
|
|
||||||
Err(e) => return Err(e),
|
|
||||||
};
|
|
||||||
let user_updated: User = from_str(&result.text().await.unwrap()).unwrap();
|
|
||||||
let _ = std::mem::replace(&mut self.object, user_updated.clone());
|
let _ = std::mem::replace(&mut self.object, user_updated.clone());
|
||||||
Ok(user_updated)
|
Ok(user_updated)
|
||||||
}
|
}
|
||||||
|
@ -86,23 +76,12 @@ impl UserMeta {
|
||||||
///
|
///
|
||||||
/// Returns `None` if the user was successfully deleted, or an `ChorusLibError` if an error occurred.
|
/// Returns `None` if the user was successfully deleted, or an `ChorusLibError` if an error occurred.
|
||||||
pub async fn delete(mut self) -> Option<ChorusLibError> {
|
pub async fn delete(mut self) -> Option<ChorusLibError> {
|
||||||
let mut belongs_to = self.belongs_to.borrow_mut();
|
let belongs_to = self.belongs_to.borrow();
|
||||||
let request = Client::new()
|
let request = Client::new()
|
||||||
.post(format!("{}/users/@me/delete/", belongs_to.urls.get_api()))
|
.post(format!("{}/users/@me/delete/", belongs_to.urls.get_api()))
|
||||||
.bearer_auth(self.token);
|
.bearer_auth(self.token());
|
||||||
match LimitedRequester::new()
|
drop(belongs_to);
|
||||||
.await
|
handle_request_as_option(request, &mut self, crate::api::limits::LimitType::Ip).await
|
||||||
.send_request(
|
|
||||||
request,
|
|
||||||
crate::api::limits::LimitType::Global,
|
|
||||||
&mut belongs_to.limits,
|
|
||||||
&mut self.limits,
|
|
||||||
)
|
|
||||||
.await
|
|
||||||
{
|
|
||||||
Ok(_) => None,
|
|
||||||
Err(e) => Some(e),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue