use octocrab::Error as OctocrabError;
use regex::Error as RegexError;
#[derive(thiserror::Error, Debug)]
pub enum GHASError {
#[error("RepositoryReferenceError: {0}")]
RepositoryReferenceError(String),
#[error("CodeQLError: {0}")]
CodeQLError(String),
#[error("CodeQLDatabaseError: {0}")]
CodeQLDatabaseError(String),
#[error("CodeQLPackError: {0}")]
CodeQLPackError(String),
#[error("OctocrabError: {0}")]
OctocrabError(#[from] OctocrabError),
#[error("RegexError: {0}")]
RegexError(#[from] RegexError),
#[error("IoError: {0}")]
IoError(#[from] std::io::Error),
#[error("SerdeError: {0}")]
SerdeError(#[from] serde_json::Error),
#[error("YamlError: {0}")]
YamlError(#[from] serde_yaml::Error),
#[error("UrlError: {0}")]
UrlError(#[from] url::ParseError),
#[error("GitErrors: {0}")]
GitErrors(#[from] git2::Error),
#[error("UnknownError: {0}")]
UnknownError(String),
}