Merge branch 'main' into feature/relationships
This commit is contained in:
commit
94c98cfce4
|
@ -63,7 +63,7 @@ impl Instance {
|
|||
UserMeta::get_settings(&token, &self.urls.get_api().to_string(), &mut self.limits)
|
||||
.await
|
||||
.unwrap();
|
||||
let user: UserMeta = UserMeta::new(
|
||||
let user = UserMeta::new(
|
||||
Rc::new(RefCell::new(self.clone())),
|
||||
token.clone(),
|
||||
cloned_limits,
|
||||
|
|
|
@ -10,9 +10,7 @@ use crate::{
|
|||
|
||||
impl Channel {
|
||||
pub async fn get(user: &mut UserMeta, channel_id: &str) -> Result<Channel, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow_mut();
|
||||
let url = belongs_to.urls.get_api().to_string();
|
||||
drop(belongs_to);
|
||||
let url = user.belongs_to.borrow_mut().urls.get_api().to_string();
|
||||
let request = Client::new()
|
||||
.get(format!("{}/channels/{}/", url, channel_id))
|
||||
.bearer_auth(user.token());
|
||||
|
@ -46,15 +44,13 @@ impl Channel {
|
|||
///
|
||||
/// An `Option` that contains an `ChorusLibError` if an error occurred during the request, or `None` if the request was successful.
|
||||
pub async fn delete(self, user: &mut UserMeta) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow_mut();
|
||||
let request = Client::new()
|
||||
.delete(format!(
|
||||
"{}/channels/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow_mut().urls.get_api(),
|
||||
self.id.to_string()
|
||||
))
|
||||
.bearer_auth(user.token());
|
||||
drop(belongs_to);
|
||||
let response =
|
||||
common::handle_request(request, user, crate::api::limits::LimitType::Channel).await;
|
||||
response.err()
|
||||
|
@ -79,16 +75,14 @@ impl Channel {
|
|||
channel_id: &str,
|
||||
user: &mut UserMeta,
|
||||
) -> Result<Channel, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let request = Client::new()
|
||||
.patch(format!(
|
||||
"{}/channels/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
channel_id
|
||||
))
|
||||
.bearer_auth(user.token())
|
||||
.body(to_string(&modify_data).unwrap());
|
||||
drop(belongs_to);
|
||||
let channel = common::deserialize_response::<Channel>(
|
||||
request,
|
||||
user,
|
||||
|
|
|
@ -25,9 +25,7 @@ impl Message {
|
|||
message: &mut MessageSendSchema,
|
||||
files: Option<Vec<PartialDiscordFileAttachment>>,
|
||||
) -> Result<Message, crate::errors::ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url_api = belongs_to.urls.get_api().to_string();
|
||||
drop(belongs_to);
|
||||
let url_api = user.belongs_to.borrow().urls.get_api().to_string();
|
||||
|
||||
if files.is_none() {
|
||||
let request = Client::new()
|
||||
|
|
|
@ -25,14 +25,14 @@ impl types::Channel {
|
|||
channel_id: &str,
|
||||
overwrite: PermissionOverwrite,
|
||||
) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow_mut();
|
||||
let url = format!(
|
||||
"{}/channels/{}/permissions/{}",
|
||||
belongs_to.urls.get_api(),
|
||||
channel_id,
|
||||
overwrite.id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let url = {
|
||||
format!(
|
||||
"{}/channels/{}/permissions/{}",
|
||||
user.belongs_to.borrow_mut().urls.get_api(),
|
||||
channel_id,
|
||||
overwrite.id
|
||||
)
|
||||
};
|
||||
let body = match to_string(&overwrite) {
|
||||
Ok(string) => string,
|
||||
Err(e) => {
|
||||
|
@ -66,14 +66,12 @@ impl types::Channel {
|
|||
channel_id: &str,
|
||||
overwrite_id: &str,
|
||||
) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow_mut();
|
||||
let url = format!(
|
||||
"{}/channels/{}/permissions/{}",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow_mut().urls.get_api(),
|
||||
channel_id,
|
||||
overwrite_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().delete(url).bearer_auth(user.token());
|
||||
match handle_request(request, user, crate::api::limits::LimitType::Channel).await {
|
||||
Ok(_) => None,
|
||||
|
|
|
@ -31,14 +31,12 @@ impl ReactionMeta {
|
|||
See [https://discord.com/developers/docs/resources/channel#delete-all-reactions](https://discord.com/developers/docs/resources/channel#delete-all-reactions)
|
||||
*/
|
||||
pub async fn delete_all(&self, user: &mut UserMeta) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/channels/{}/messages/{}/reactions/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
self.channel_id,
|
||||
self.message_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().delete(url).bearer_auth(user.token());
|
||||
match handle_request(request, user, crate::api::limits::LimitType::Channel).await {
|
||||
Ok(_) => None,
|
||||
|
@ -64,15 +62,13 @@ impl ReactionMeta {
|
|||
See [https://discord.com/developers/docs/resources/channel#get-reactions](https://discord.com/developers/docs/resources/channel#get-reactions)
|
||||
*/
|
||||
pub async fn get(&self, emoji: &str, user: &mut UserMeta) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/channels/{}/messages/{}/reactions/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
self.channel_id,
|
||||
self.message_id,
|
||||
emoji
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().get(url).bearer_auth(user.token());
|
||||
match handle_request(request, user, crate::api::limits::LimitType::Channel).await {
|
||||
Ok(_) => None,
|
||||
|
@ -100,15 +96,13 @@ impl ReactionMeta {
|
|||
See [https://discord.com/developers/docs/resources/channel#delete-all-reactions-for-emoji](https://discord.com/developers/docs/resources/channel#delete-all-reactions-for-emoji)
|
||||
*/
|
||||
pub async fn delete_emoji(&self, emoji: &str, user: &mut UserMeta) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/channels/{}/messages/{}/reactions/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
self.channel_id,
|
||||
self.message_id,
|
||||
emoji
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().delete(url).bearer_auth(user.token());
|
||||
match handle_request(request, user, crate::api::limits::LimitType::Channel).await {
|
||||
Ok(_) => None,
|
||||
|
@ -140,15 +134,13 @@ impl ReactionMeta {
|
|||
See [https://discord.com/developers/docs/resources/channel#create-reaction](https://discord.com/developers/docs/resources/channel#create-reaction)
|
||||
*/
|
||||
pub async fn create(&self, emoji: &str, user: &mut UserMeta) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/channels/{}/messages/{}/reactions/{}/@me/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
self.channel_id,
|
||||
self.message_id,
|
||||
emoji
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().put(url).bearer_auth(user.token());
|
||||
handle_request_as_option(request, user, crate::api::limits::LimitType::Channel).await
|
||||
}
|
||||
|
@ -171,15 +163,13 @@ impl ReactionMeta {
|
|||
See [https://discord.com/developers/docs/resources/channel#delete-own-reaction](https://discord.com/developers/docs/resources/channel#delete-own-reaction)
|
||||
*/
|
||||
pub async fn remove(&self, emoji: &str, user: &mut UserMeta) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/channels/{}/messages/{}/reactions/{}/@me/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
self.channel_id,
|
||||
self.message_id,
|
||||
emoji
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().delete(url).bearer_auth(user.token());
|
||||
handle_request_as_option(request, user, crate::api::limits::LimitType::Channel).await
|
||||
}
|
||||
|
@ -210,16 +200,14 @@ impl ReactionMeta {
|
|||
emoji: &str,
|
||||
user: &mut UserMeta,
|
||||
) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/channels/{}/messages/{}/reactions/{}/{}",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
self.channel_id,
|
||||
self.message_id,
|
||||
emoji,
|
||||
user_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().delete(url).bearer_auth(user.token());
|
||||
handle_request_as_option(request, user, crate::api::limits::LimitType::Channel).await
|
||||
}
|
||||
|
|
|
@ -12,11 +12,10 @@ pub async fn handle_request(
|
|||
user: &mut UserMeta,
|
||||
limit_type: LimitType,
|
||||
) -> Result<reqwest::Response, crate::errors::ChorusLibError> {
|
||||
let mut belongs_to = user.belongs_to.borrow_mut();
|
||||
LimitedRequester::send_request(
|
||||
request,
|
||||
limit_type,
|
||||
&mut belongs_to.limits,
|
||||
&mut user.belongs_to.borrow_mut().limits,
|
||||
&mut user.limits,
|
||||
)
|
||||
.await
|
||||
|
|
|
@ -32,9 +32,7 @@ impl Guild {
|
|||
user: &mut UserMeta,
|
||||
guild_create_schema: GuildCreateSchema,
|
||||
) -> Result<Guild, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!("{}/guilds/", belongs_to.urls.get_api());
|
||||
drop(belongs_to);
|
||||
let url = format!("{}/guilds/", user.belongs_to.borrow().urls.get_api());
|
||||
let request = reqwest::Client::new()
|
||||
.post(url.clone())
|
||||
.bearer_auth(user.token.clone())
|
||||
|
@ -67,9 +65,11 @@ impl Guild {
|
|||
/// }
|
||||
/// ```
|
||||
pub async fn delete(user: &mut UserMeta, guild_id: &str) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!("{}/guilds/{}/delete/", belongs_to.urls.get_api(), guild_id);
|
||||
drop(belongs_to);
|
||||
let url = format!(
|
||||
"{}/guilds/{}/delete/",
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id
|
||||
);
|
||||
let request = reqwest::Client::new()
|
||||
.post(url.clone())
|
||||
.bearer_auth(user.token.clone());
|
||||
|
@ -116,15 +116,13 @@ impl Guild {
|
|||
/// * `limits_instance` - A mutable reference to a `Limits` struct containing the instance's rate limits.
|
||||
///
|
||||
pub async fn channels(&self, user: &mut UserMeta) -> Result<Vec<Channel>, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let request = Client::new()
|
||||
.get(format!(
|
||||
"{}/guilds/{}/channels/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
self.id.to_string()
|
||||
))
|
||||
.bearer_auth(user.token());
|
||||
drop(belongs_to);
|
||||
let result = handle_request(request, user, crate::api::limits::LimitType::Channel)
|
||||
.await
|
||||
.unwrap();
|
||||
|
|
|
@ -24,14 +24,12 @@ impl types::GuildMember {
|
|||
guild_id: &str,
|
||||
member_id: &str,
|
||||
) -> Result<types::GuildMember, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/guilds/{}/members/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id,
|
||||
member_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().get(url).bearer_auth(user.token());
|
||||
deserialize_response::<types::GuildMember>(
|
||||
request,
|
||||
|
@ -59,15 +57,13 @@ impl types::GuildMember {
|
|||
member_id: &str,
|
||||
role_id: &str,
|
||||
) -> Option<ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/guilds/{}/members/{}/roles/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id,
|
||||
member_id,
|
||||
role_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().put(url).bearer_auth(user.token());
|
||||
handle_request_as_option(request, user, crate::api::limits::LimitType::Guild).await
|
||||
}
|
||||
|
@ -90,15 +86,13 @@ impl types::GuildMember {
|
|||
member_id: &str,
|
||||
role_id: &str,
|
||||
) -> Option<crate::errors::ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/guilds/{}/members/{}/roles/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id,
|
||||
member_id,
|
||||
role_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().delete(url).bearer_auth(user.token());
|
||||
handle_request_as_option(request, user, crate::api::limits::LimitType::Guild).await
|
||||
}
|
||||
|
|
|
@ -27,9 +27,11 @@ impl types::RoleObject {
|
|||
user: &mut UserMeta,
|
||||
guild_id: &str,
|
||||
) -> Result<Option<Vec<RoleObject>>, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!("{}/guilds/{}/roles/", belongs_to.urls.get_api(), guild_id);
|
||||
drop(belongs_to);
|
||||
let url = format!(
|
||||
"{}/guilds/{}/roles/",
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id
|
||||
);
|
||||
let request = Client::new().get(url).bearer_auth(user.token());
|
||||
let roles = deserialize_response::<Vec<RoleObject>>(
|
||||
request,
|
||||
|
@ -64,14 +66,12 @@ impl types::RoleObject {
|
|||
guild_id: &str,
|
||||
role_id: &str,
|
||||
) -> Result<RoleObject, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/guilds/{}/roles/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id,
|
||||
role_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().get(url).bearer_auth(user.token());
|
||||
deserialize_response(request, user, crate::api::limits::LimitType::Guild).await
|
||||
}
|
||||
|
@ -96,17 +96,16 @@ impl types::RoleObject {
|
|||
guild_id: &str,
|
||||
role_create_schema: RoleCreateModifySchema,
|
||||
) -> Result<RoleObject, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!("{}/guilds/{}/roles/", belongs_to.urls.get_api(), guild_id);
|
||||
drop(belongs_to);
|
||||
let body = match to_string::<RoleCreateModifySchema>(&role_create_schema) {
|
||||
Ok(string) => string,
|
||||
Err(e) => {
|
||||
return Err(ChorusLibError::FormCreationError {
|
||||
error: e.to_string(),
|
||||
});
|
||||
let url = format!(
|
||||
"{}/guilds/{}/roles/",
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id
|
||||
);
|
||||
let body = to_string::<RoleCreateModifySchema>(&role_create_schema).map_err(|e| {
|
||||
ChorusLibError::FormCreationError {
|
||||
error: e.to_string(),
|
||||
}
|
||||
};
|
||||
})?;
|
||||
let request = Client::new().post(url).bearer_auth(user.token()).body(body);
|
||||
deserialize_response(request, user, crate::api::limits::LimitType::Guild).await
|
||||
}
|
||||
|
@ -131,17 +130,16 @@ impl types::RoleObject {
|
|||
guild_id: &str,
|
||||
role_position_update_schema: types::RolePositionUpdateSchema,
|
||||
) -> Result<RoleObject, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!("{}/guilds/{}/roles/", belongs_to.urls.get_api(), guild_id);
|
||||
let body = match to_string(&role_position_update_schema) {
|
||||
Ok(body) => body,
|
||||
Err(e) => {
|
||||
return Err(ChorusLibError::FormCreationError {
|
||||
error: e.to_string(),
|
||||
});
|
||||
let url = format!(
|
||||
"{}/guilds/{}/roles/",
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id
|
||||
);
|
||||
let body = to_string(&role_position_update_schema).map_err(|e| {
|
||||
ChorusLibError::FormCreationError {
|
||||
error: e.to_string(),
|
||||
}
|
||||
};
|
||||
drop(belongs_to);
|
||||
})?;
|
||||
let request = Client::new()
|
||||
.patch(url)
|
||||
.bearer_auth(user.token())
|
||||
|
@ -172,22 +170,17 @@ impl types::RoleObject {
|
|||
role_id: &str,
|
||||
role_create_schema: RoleCreateModifySchema,
|
||||
) -> Result<RoleObject, ChorusLibError> {
|
||||
let belongs_to = user.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/guilds/{}/roles/{}",
|
||||
belongs_to.urls.get_api(),
|
||||
user.belongs_to.borrow().urls.get_api(),
|
||||
guild_id,
|
||||
role_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let body = match to_string::<RoleCreateModifySchema>(&role_create_schema) {
|
||||
Ok(string) => string,
|
||||
Err(e) => {
|
||||
return Err(ChorusLibError::FormCreationError {
|
||||
error: e.to_string(),
|
||||
});
|
||||
let body = to_string::<RoleCreateModifySchema>(&role_create_schema).map_err(|e| {
|
||||
ChorusLibError::FormCreationError {
|
||||
error: e.to_string(),
|
||||
}
|
||||
};
|
||||
})?;
|
||||
let request = Client::new()
|
||||
.patch(url)
|
||||
.bearer_auth(user.token())
|
||||
|
|
|
@ -21,13 +21,11 @@ impl UserMeta {
|
|||
&mut self,
|
||||
user_id: &str,
|
||||
) -> Result<Vec<types::PublicUser>, ChorusLibError> {
|
||||
let belongs_to = self.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/users/{}/relationships/",
|
||||
belongs_to.urls.get_api(),
|
||||
self.belongs_to.borrow().urls.get_api(),
|
||||
user_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().get(url).bearer_auth(self.token());
|
||||
deserialize_response::<Vec<types::PublicUser>>(
|
||||
request,
|
||||
|
@ -42,9 +40,10 @@ impl UserMeta {
|
|||
/// # Returns
|
||||
/// This function returns a [`Result<Vec<types::Relationship>, ChorusLibError>`].
|
||||
pub async fn get_relationships(&mut self) -> Result<Vec<types::Relationship>, ChorusLibError> {
|
||||
let belongs_to = self.belongs_to.borrow();
|
||||
let url = format!("{}/users/@me/relationships/", belongs_to.urls.get_api(),);
|
||||
drop(belongs_to);
|
||||
let url = format!(
|
||||
"{}/users/@me/relationships/",
|
||||
self.belongs_to.borrow().urls.get_api()
|
||||
);
|
||||
let request = Client::new().get(url).bearer_auth(self.token());
|
||||
deserialize_response::<Vec<types::Relationship>>(
|
||||
request,
|
||||
|
@ -66,9 +65,10 @@ impl UserMeta {
|
|||
&mut self,
|
||||
schema: types::FriendRequestSendSchema,
|
||||
) -> Option<ChorusLibError> {
|
||||
let belongs_to = self.belongs_to.borrow();
|
||||
let url = format!("{}/users/@me/relationships/", belongs_to.urls.get_api());
|
||||
drop(belongs_to);
|
||||
let url = format!(
|
||||
"{}/users/@me/relationships/",
|
||||
self.belongs_to.borrow().urls.get_api()
|
||||
);
|
||||
let body = to_string(&schema).unwrap();
|
||||
let request = Client::new().post(url).bearer_auth(self.token()).body(body);
|
||||
handle_request_as_option(request, self, crate::api::limits::LimitType::Global).await
|
||||
|
@ -93,9 +93,7 @@ impl UserMeta {
|
|||
user_id: &str,
|
||||
relationship_type: RelationshipType,
|
||||
) -> Option<ChorusLibError> {
|
||||
let belongs_to = self.belongs_to.borrow();
|
||||
let api_url = belongs_to.urls.api.clone();
|
||||
drop(belongs_to);
|
||||
let api_url = self.belongs_to.borrow().urls.api.clone();
|
||||
match relationship_type {
|
||||
RelationshipType::None => {
|
||||
let request = Client::new()
|
||||
|
@ -140,13 +138,11 @@ impl UserMeta {
|
|||
/// # Returns
|
||||
/// This function returns an [`Option`] that holds a [`ChorusLibError`] if the request fails.
|
||||
pub async fn remove_relationship(&mut self, user_id: &str) -> Option<ChorusLibError> {
|
||||
let belongs_to = self.belongs_to.borrow();
|
||||
let url = format!(
|
||||
"{}/users/@me/relationships/{}/",
|
||||
belongs_to.urls.get_api(),
|
||||
self.belongs_to.borrow().urls.get_api(),
|
||||
user_id
|
||||
);
|
||||
drop(belongs_to);
|
||||
let request = Client::new().post(url).bearer_auth(self.token());
|
||||
handle_request_as_option(request, self, crate::api::limits::LimitType::Global).await
|
||||
}
|
||||
|
|
|
@ -76,11 +76,12 @@ impl UserMeta {
|
|||
///
|
||||
/// Returns `None` if the user was successfully deleted, or an `ChorusLibError` if an error occurred.
|
||||
pub async fn delete(mut self) -> Option<ChorusLibError> {
|
||||
let belongs_to = self.belongs_to.borrow();
|
||||
let request = Client::new()
|
||||
.post(format!("{}/users/@me/delete/", belongs_to.urls.get_api()))
|
||||
.post(format!(
|
||||
"{}/users/@me/delete/",
|
||||
self.belongs_to.borrow().urls.get_api()
|
||||
))
|
||||
.bearer_auth(self.token());
|
||||
drop(belongs_to);
|
||||
handle_request_as_option(request, &mut self, crate::api::limits::LimitType::Ip).await
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue