use thiserror::Error;
pub type PSNApiResult<T> = Result<T, PSNError>;
#[derive(Debug, Error)]
pub enum PSNError {
#[error("no NPSSO token provided")]
NoNPSSOTokenProvided,
#[error(transparent)]
ReqwestError(#[from] reqwest::Error),
#[error(transparent)]
InvalidHeaderValue(#[from] reqwest::header::InvalidHeaderValue),
#[error("failed to parse URL: {0}")]
UrlParseError(#[from] url::ParseError),
#[error("generic error:{0}")]
GenericError(String),
}