1use oauth2::{ErrorResponse, RequestTokenError};
2use reqwest::StatusCode;
3
4#[derive(Debug, thiserror::Error)]
5pub enum EveEsiError {
6 #[error("No api token")]
7 NoTokenFound,
8
9 #[error("Api call error {0} : {1}")]
10 ApiCallError(StatusCode, String),
11
12 #[error("Login error")]
13 LoginError,
14
15 #[error("Request Error {0}")]
16 ReqError(#[from] reqwest::Error),
17
18 #[error("Serde Error {0}")]
19 SerdeError(#[from] serde_json::Error),
20
21 #[error("Parse error {0}")]
22 ParseError(#[from] url::ParseError),
23
24 #[error("IO Error {0}")]
25 IoError(#[from] std::io::Error),
26
27 #[error("Authentication Error")]
28 AuthentError(),
29
30 #[error("Token error")]
31 TokenError(),
32
33 #[error("Scopes changed")]
34 ScopesChanged,
35}
36
37impl<RE: std::error::Error, TE: ErrorResponse> From<RequestTokenError<RE, TE>> for EveEsiError {
38 fn from(_: RequestTokenError<RE, TE>) -> Self {
39 EveEsiError::TokenError()
40 }
41}