impl get_settings()

This commit is contained in:
bitfl0wer 2023-05-09 14:05:36 +02:00
parent 5971ce1dbc
commit 0ba2f568fd
No known key found for this signature in database
GPG Key ID: 84BBB60DF895ABF2
1 changed files with 26 additions and 1 deletions

View File

@ -1,7 +1,10 @@
use reqwest::Client;
use crate::{
api::{
limits::Limits,
types::{User, UserObject},
UserSettings,
},
errors::InstanceServerError,
instance::Instance,
@ -45,6 +48,29 @@ impl<'a> User<'a> {
Err(e) => Err(e),
}
}
pub async fn get_settings(
token: &String,
url_api: &String,
instance_limits: &mut Limits,
) -> Result<UserSettings, InstanceServerError> {
let request: reqwest::RequestBuilder = Client::new()
.get(format!("{}/users/@me/settings/", url_api))
.bearer_auth(token);
let mut requester = crate::limit::LimitedRequester::new().await;
match requester
.send_request(
request,
crate::api::limits::LimitType::Ip,
instance_limits,
&mut Limits::default(),
)
.await
{
Ok(result) => Ok(serde_json::from_str(&result.text().await.unwrap()).unwrap()),
Err(e) => Err(e),
}
}
}
impl Instance {
@ -76,7 +102,6 @@ impl Instance {
#[cfg(test)]
mod test {
#[tokio::test]
async fn get_user() {}
}