parcelwing 0.1.0

Official Rust SDK for the Parcel Wing API.
Documentation
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)
    }
}