use crate::client::Client;
use crate::error::{Error, Result};
use crate::http::{default_headers, post_json};
use crate::types::messages::{Message, MessageCreateParams};
#[derive(Debug)]
pub struct MessagesService<'c> {
client: &'c Client,
}
impl<'c> MessagesService<'c> {
pub(crate) fn new(client: &'c Client) -> Self {
Self { client }
}
pub async fn create(&self, params: MessageCreateParams) -> Result<Message> {
let url = self
.client
.inner
.base_url
.join("v1/messages")
.map_err(|e| Error::Config(format!("failed to build /v1/messages URL: {e}")))?;
let headers = default_headers(&self.client.inner.credentials)?;
post_json(&self.client.inner.http, url, headers, ¶ms).await
}
}