use thiserror::Error;

#[derive(Debug, Error)]
pub enum CollectorError {
    #[error("Network error: {0}")]
    NetworkError(#[from] reqwest::Error),

    #[error("Configuration error: {0}")]
    ConfigError(String),

    #[error("File system error: {0}")]
    FileSystemError(#[from] std::io::Error),

    #[error("JSON parsing error: {0}")]
    JsonError(#[from] serde_json::Error),

    #[error("No repositories found for CVE")]
    NoRepositoriesFound,

    #[error("NVD feed error: {0}")]
    NvdFeedError(String),
}
