use thiserror::Error;
pub type Result<T> = std::result::Result<T, HevyError>;
#[derive(Debug, Error)]
pub enum HevyError {
#[error("request failed: {0}")]
Request(#[from] reqwest::Error),
#[error("failed to decode response body: {0}")]
Decode(serde_json::Error),
#[error("Hevy API returned {status}: {message}")]
Api {
status: u16,
message: String,
},
#[error("invalid client configuration: {0}")]
Config(String),
}