use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize)]
pub struct RequestError {
pub status: u16,
pub reason: String,
pub message: Option<String>,
pub error: Option<SmartsheetError>,
}
impl RequestError {
pub fn new(status: u16, reason: String) -> Self {
Self {
status,
reason,
message: None,
error: None,
}
}
}
#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct SmartsheetError {
pub message: String,
pub error_code: u16,
pub ref_id: Option<String>,
}
impl std::fmt::Display for RequestError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{:?}", self)
}
}
impl std::error::Error for RequestError {}