use std::sync::Arc;
use crate::error::Error;
use crate::http::HttpClient;
use crate::types::{EmailSendRequest, ListResponse, QueuedEmail};
#[derive(Clone, Debug)]
pub struct EmailsResource {
http: Arc<HttpClient>,
}
impl EmailsResource {
pub(crate) fn new(http: Arc<HttpClient>) -> Self {
Self { http }
}
pub async fn send(&self, input: EmailSendRequest) -> Result<Vec<QueuedEmail>, Error> {
let response: ListResponse<QueuedEmail> = self.http.post("/api/emails", &input).await?;
Ok(response.data)
}
}