From 0ba2f568fd06bf0dc9c1132e4a5ecac05d0caeed Mon Sep 17 00:00:00 2001 From: bitfl0wer Date: Tue, 9 May 2023 14:05:36 +0200 Subject: [PATCH] impl get_settings() --- src/api/users/users.rs | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/api/users/users.rs b/src/api/users/users.rs index 35461c1..8b53b6c 100644 --- a/src/api/users/users.rs +++ b/src/api/users/users.rs @@ -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 { + 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 { @@ -75,7 +101,6 @@ impl Instance { #[cfg(test)] mod test { - #[tokio::test] async fn get_user() {}