use crate::client::Client;
use crate::error::Error;
use crate::types::{BulkEmailRequest, BulkEmailResponse, EmailDetail, SendEmailRequest, SendEmailResponse};
pub struct Emails<'a> {
client: &'a Client,
}
impl<'a> Emails<'a> {
pub fn new(client: &'a Client) -> Self {
Self { client }
}
pub async fn send(&self, data: SendEmailRequest) -> Result<SendEmailResponse, Error> {
self.client.post("/emails", &data).await
}
pub async fn send_bulk(&self, data: BulkEmailRequest) -> Result<BulkEmailResponse, Error> {
self.client.post("/emails/bulk", &data).await
}
pub async fn get(&self, id: &str) -> Result<EmailDetail, Error> {
self.client.get(&format!("/emails/{}", id)).await
}
}