use serde::Deserialize;
#[derive(Clone, Debug, Deserialize)]
pub struct ErrorResponse {
#[serde(alias = "error")]
pub message: String,
#[serde(default)]
pub status_code: u16,
}
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("HTTP error: {0}")]
Http(#[from] reqwest::Error),
#[error("JetEmail API error ({status_code}): {message}")]
JetEmail {
message: String,
status_code: u16,
response: Option<serde_json::Value>,
},
#[error("Failed to parse response: {0}")]
Parse(String),
}
pub type Result<T> = std::result::Result<T, Error>;