#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("configuration error: {0}")]
Config(String),
#[error(transparent)]
Request(#[from] reqwest::Error),
#[error(transparent)]
Serialization(#[from] serde_json::Error),
#[error(transparent)]
Jwt(#[from] jsonwebtoken::errors::Error),
#[error("authentication required: {0}")]
AuthRequired(String),
#[error("API error {status}: {message}")]
Api {
status: u16,
message: String,
},
}