Change send_request() calls to pass &mut Instance

This commit is contained in:
Flori Weber 2023-06-20 22:42:42 +02:00
parent 6650bcf1df
commit 62f6bfa363
6 changed files with 25 additions and 26 deletions

View File

@ -26,7 +26,7 @@ impl Instance {
let response = LimitedRequester::send_request(
request_builder,
LimitType::AuthRegister,
&mut self.limits,
self,
&mut cloned_limits,
)
.await;

View File

@ -36,7 +36,7 @@ impl Instance {
let response = LimitedRequester::send_request(
request_builder,
LimitType::AuthRegister,
&mut self.limits,
self,
&mut cloned_limits,
)
.await;
@ -61,7 +61,7 @@ impl Instance {
return Err(ChorusLibError::InvalidFormBodyError { error_type, error });
}
let user_object = self.get_user(token.clone(), None).await.unwrap();
let settings = UserMeta::get_settings(&token, &self.urls.api, &mut self.limits)
let settings = UserMeta::get_settings(&token, &self.urls.api.clone(), self)
.await
.unwrap();
let user = UserMeta::new(

View File

@ -15,7 +15,7 @@ pub async fn handle_request(
LimitedRequester::send_request(
request,
limit_type,
&mut user.belongs_to.borrow_mut().limits,
&mut user.belongs_to.borrow_mut(),
&mut user.limits,
)
.await

View File

@ -7,6 +7,7 @@ use crate::api::handle_request;
use crate::api::handle_request_as_result;
use crate::api::limits::Limits;
use crate::errors::ChorusLibError;
use crate::instance::Instance;
use crate::instance::UserMeta;
use crate::limit::LimitedRequester;
use crate::types::{Channel, ChannelCreateSchema, Guild, GuildCreateSchema};
@ -101,7 +102,7 @@ impl Guild {
&self.id.to_string(),
schema,
&mut user.limits,
&mut belongs_to.limits,
&mut belongs_to,
)
.await
}
@ -161,7 +162,7 @@ impl Guild {
guild_id,
&user.token,
&mut user.limits,
&mut belongs_to.limits,
&mut belongs_to,
)
.await
}
@ -173,7 +174,7 @@ impl Guild {
guild_id: &str,
token: &str,
limits_user: &mut Limits,
limits_instance: &mut Limits,
instance: &mut Instance,
) -> Result<Guild, ChorusLibError> {
let request = Client::new()
.get(format!("{}/guilds/{}/", url_api, guild_id))
@ -181,7 +182,7 @@ impl Guild {
let response = match LimitedRequester::send_request(
request,
crate::api::limits::LimitType::Guild,
limits_instance,
instance,
limits_user,
)
.await
@ -221,7 +222,7 @@ impl Channel {
guild_id,
schema,
&mut user.limits,
&mut belongs_to.limits,
&mut belongs_to,
)
.await
}
@ -232,7 +233,7 @@ impl Channel {
guild_id: &str,
schema: ChannelCreateSchema,
limits_user: &mut Limits,
limits_instance: &mut Limits,
instance: &mut Instance,
) -> Result<Channel, ChorusLibError> {
let request = Client::new()
.post(format!("{}/guilds/{}/channels/", url_api, guild_id))
@ -241,7 +242,7 @@ impl Channel {
let result = match LimitedRequester::send_request(
request,
crate::api::limits::LimitType::Guild,
limits_instance,
instance,
limits_user,
)
.await

View File

@ -6,11 +6,9 @@ use crate::instance::Instance;
use crate::types::GeneralConfiguration;
impl Instance {
/**
Gets the instance policies schema.
# Errors
[`ChorusLibError`] - If the request fails.
*/
/// Gets the instance policies schema.
/// # Errors
/// [`ChorusLibError`] - If the request fails.
pub async fn general_configuration_schema(
&self,
) -> Result<GeneralConfiguration, ChorusLibError> {

View File

@ -29,9 +29,9 @@ impl UserMeta {
pub async fn get_settings(
token: &String,
url_api: &String,
instance_limits: &mut Limits,
instance: &mut Instance,
) -> Result<UserSettings, ChorusLibError> {
User::get_settings(token, url_api, instance_limits).await
User::get_settings(token, url_api, instance).await
}
/// Modify the current user's `UserObject`.
@ -91,7 +91,7 @@ impl User {
User::_get(
&user.token(),
&format!("{}", belongs_to.urls.api),
&mut belongs_to.limits,
&mut belongs_to,
id,
)
.await
@ -100,7 +100,7 @@ impl User {
async fn _get(
token: &str,
url_api: &str,
limits_instance: &mut Limits,
instance: &mut Instance,
id: Option<&String>,
) -> Result<User, ChorusLibError> {
let url = if id.is_none() {
@ -109,11 +109,11 @@ impl User {
format!("{}/users/{}", url_api, id.unwrap())
};
let request = reqwest::Client::new().get(url).bearer_auth(token);
let mut cloned_limits = limits_instance.clone();
let mut cloned_limits = instance.limits.clone();
match LimitedRequester::send_request(
request,
crate::api::limits::LimitType::Ip,
limits_instance,
instance,
&mut cloned_limits,
)
.await
@ -129,16 +129,16 @@ impl User {
pub async fn get_settings(
token: &String,
url_api: &String,
instance_limits: &mut Limits,
instance: &mut Instance,
) -> Result<UserSettings, ChorusLibError> {
let request: reqwest::RequestBuilder = Client::new()
.get(format!("{}/users/@me/settings/", url_api))
.bearer_auth(token);
let mut cloned_limits = instance_limits.clone();
let mut cloned_limits = instance.limits.clone();
match LimitedRequester::send_request(
request,
crate::api::limits::LimitType::Ip,
instance_limits,
instance,
&mut cloned_limits,
)
.await
@ -165,6 +165,6 @@ impl Instance {
token: String,
id: Option<&String>,
) -> Result<User, ChorusLibError> {
User::_get(&token, &self.urls.api, &mut self.limits, id).await
User::_get(&token, &self.urls.api.clone(), self, id).await
}
}