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
use serde::Deserialize;

pub type ApiResult<T> = Result<T, ApiError>;
pub type EmptyApiResult = ApiResult<()>;

#[derive(Debug)]
pub enum ApiError {
    RiotApiError(RiotApiErrorMessage, reqwest::StatusCode),
    ReqwestError(reqwest::Error),
}

#[derive(Deserialize, Debug)]
pub struct RiotApiErrorStatus {
    pub status: RiotApiErrorMessage,
}

#[derive(Deserialize, Debug)]
pub struct RiotApiErrorMessage {
    status_code: usize,
    message: String,
}

#[derive(Debug)]
pub enum ConversionError {
    InvalidStringError,
    MissingDataError,
}

pub fn map_reqwest_error(e: reqwest::Error) -> ApiError { ApiError::ReqwestError(e) }