1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
use octocrab::Error as OctocrabError;
use regex::Error as RegexError;

/// GitHub Advanced Security Toolkit Error
#[derive(thiserror::Error, Debug)]
pub enum GHASError {
    /// Repository Reference Error
    #[error("RepositoryReferenceError: {0}")]
    RepositoryReferenceError(String),

    /// CodeQL Error
    #[error("CodeQLError: {0}")]
    CodeQLError(String),

    /// CodeQL Database Error
    #[error("CodeQLDatabaseError: {0}")]
    CodeQLDatabaseError(String),

    /// CodeQL Pack Error
    #[error("CodeQLPackError: {0}")]
    CodeQLPackError(String),

    /// Octocrab Error (octocrab::Error)
    #[error("OctocrabError: {0}")]
    OctocrabError(#[from] OctocrabError),

    /// Regex Error (regex::Error)
    #[error("RegexError: {0}")]
    RegexError(#[from] RegexError),

    /// Io Error (std::io::Error)
    #[error("IoError: {0}")]
    IoError(#[from] std::io::Error),

    /// Serde Error (serde_json::Error)
    #[error("SerdeError: {0}")]
    SerdeError(#[from] serde_json::Error),

    /// Yaml Error (serde_yaml::Error)
    #[error("YamlError: {0}")]
    YamlError(#[from] serde_yaml::Error),

    /// Url Error (url::ParseError)
    #[error("UrlError: {0}")]
    UrlError(#[from] url::ParseError),

    /// Git Errors (git2::Error)
    #[error("GitErrors: {0}")]
    GitErrors(#[from] git2::Error),

    /// Unknown Error
    #[error("UnknownError: {0}")]
    UnknownError(String),
}