Refactor to use api common, return Message instead
This commit is contained in:
parent
bf005c44a4
commit
59d512cdce
|
@ -3,6 +3,7 @@ use http::HeaderMap;
|
||||||
use reqwest::{multipart, Client};
|
use reqwest::{multipart, Client};
|
||||||
use serde_json::to_string;
|
use serde_json::to_string;
|
||||||
|
|
||||||
|
use crate::api::deserialize_response;
|
||||||
use crate::instance::UserMeta;
|
use crate::instance::UserMeta;
|
||||||
use crate::limit::LimitedRequester;
|
use crate::limit::LimitedRequester;
|
||||||
use crate::types::{Message, MessageSendSchema, PartialDiscordFileAttachment};
|
use crate::types::{Message, MessageSendSchema, PartialDiscordFileAttachment};
|
||||||
|
@ -24,23 +25,17 @@ impl Message {
|
||||||
channel_id: String,
|
channel_id: String,
|
||||||
message: &mut MessageSendSchema,
|
message: &mut MessageSendSchema,
|
||||||
files: Option<Vec<PartialDiscordFileAttachment>>,
|
files: Option<Vec<PartialDiscordFileAttachment>>,
|
||||||
) -> Result<reqwest::Response, crate::errors::ChorusLibError> {
|
) -> Result<Message, crate::errors::ChorusLibError> {
|
||||||
let mut belongs_to = user.belongs_to.borrow_mut();
|
let belongs_to = user.belongs_to.borrow_mut();
|
||||||
let url_api = belongs_to.urls.get_api();
|
let url_api = belongs_to.urls.get_api().to_string();
|
||||||
let mut requester = LimitedRequester::new().await;
|
drop(belongs_to);
|
||||||
|
|
||||||
if files.is_none() {
|
if files.is_none() {
|
||||||
let message_request = Client::new()
|
let request = Client::new()
|
||||||
.post(format!("{}/channels/{}/messages/", url_api, channel_id))
|
.post(format!("{}/channels/{}/messages/", url_api, channel_id))
|
||||||
.bearer_auth(user.token())
|
.bearer_auth(user.token())
|
||||||
.body(to_string(message).unwrap());
|
.body(to_string(message).unwrap());
|
||||||
requester
|
deserialize_response::<Message>(request, user, crate::api::limits::LimitType::Channel)
|
||||||
.send_request(
|
|
||||||
message_request,
|
|
||||||
crate::api::limits::LimitType::Channel,
|
|
||||||
&mut belongs_to.limits,
|
|
||||||
&mut user.limits,
|
|
||||||
)
|
|
||||||
.await
|
.await
|
||||||
} else {
|
} else {
|
||||||
for (index, attachment) in message.attachments.iter_mut().enumerate() {
|
for (index, attachment) in message.attachments.iter_mut().enumerate() {
|
||||||
|
@ -70,19 +65,12 @@ impl Message {
|
||||||
form = form.part(part_name, part);
|
form = form.part(part_name, part);
|
||||||
}
|
}
|
||||||
|
|
||||||
let message_request = Client::new()
|
let request = Client::new()
|
||||||
.post(format!("{}/channels/{}/messages/", url_api, channel_id))
|
.post(format!("{}/channels/{}/messages/", url_api, channel_id))
|
||||||
.bearer_auth(user.token())
|
.bearer_auth(user.token())
|
||||||
.multipart(form);
|
.multipart(form);
|
||||||
|
|
||||||
requester
|
deserialize_response(request, user, crate::api::limits::LimitType::Channel).await
|
||||||
.send_request(
|
|
||||||
message_request,
|
|
||||||
crate::api::limits::LimitType::Channel,
|
|
||||||
&mut belongs_to.limits,
|
|
||||||
&mut user.limits,
|
|
||||||
)
|
|
||||||
.await
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -105,7 +93,7 @@ impl UserMeta {
|
||||||
message: &mut MessageSendSchema,
|
message: &mut MessageSendSchema,
|
||||||
channel_id: String,
|
channel_id: String,
|
||||||
files: Option<Vec<PartialDiscordFileAttachment>>,
|
files: Option<Vec<PartialDiscordFileAttachment>>,
|
||||||
) -> Result<reqwest::Response, crate::errors::ChorusLibError> {
|
) -> Result<Message, crate::errors::ChorusLibError> {
|
||||||
Message::send(self, channel_id, message, files).await
|
Message::send(self, channel_id, message, files).await
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue