airlabs_api/error.rs
1use super::*;
2
3#[derive(Debug, Serialize, Deserialize, thiserror::Error)]
4#[error("{message}")]
5pub struct Error {
6 pub message: String,
7 pub code: Code,
8}
9
10#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
11#[serde(rename_all = "snake_case")]
12pub enum Code {
13 /// Provided API Key is invalid.
14 UnknownApiKey,
15 /// The provided API key has expired.
16 ExpiredApiKey,
17 /// Provided method is not supported.
18 UnknownMethod,
19 /// Some parameters is wrong.
20 WrongParams,
21 /// Requested data was not found.
22 NotFound,
23 /// The number of requests per minute has been exceeded.
24 MinuteLimitExceeded,
25 /// The number of requests per hour has been exceeded.
26 HourLimitExceeded,
27 /// The number of requests per month has been exceeded.
28 MonthLimitExceeded,
29 /// An internal error occurred.
30 InternalError,
31}