postal_api 0.2.1

A Rust implementation for the Postal mail delivery platform.
Documentation
use std::collections::HashMap;

use serde::Deserialize;

use crate::error::PostalApiError;

#[derive(Debug, Deserialize)]
pub struct MessageData {
    pub id: u32,
    pub token: String,
}

#[derive(Debug, Deserialize)]
pub struct ErrorData {
    pub code: PostalApiError,
    pub message: String,
}

#[derive(Debug, Deserialize)]
pub struct MessagesData {
    pub message_id: String,
    pub messages: HashMap<String, MessageData>,
}

#[derive(Deserialize, Debug)]
#[serde(untagged)]
pub enum PostalData {
    Error(ErrorData),
    Success(MessagesData),
}

#[derive(Debug, Deserialize)]
pub struct PostalResponse {
    pub data: PostalData,
}