rs_firebase_admin_sdk/client/
error.rs1use serde::Deserialize;
2use thiserror::Error;
3
4#[derive(Clone, Debug, Deserialize)]
5pub struct FireBaseAPIErrorDetail {
6 pub message: String,
7 pub reason: String,
8 pub domain: String,
9}
10
11#[derive(Clone, Debug, Deserialize)]
12pub struct FireBaseAPIError {
13 pub code: u16,
14 pub message: String,
15 pub errors: Vec<FireBaseAPIErrorDetail>,
16}
17
18#[derive(Clone, Debug, Deserialize)]
20pub struct FireBaseAPIErrorResponse {
21 pub error: FireBaseAPIError,
22}
23
24#[derive(Error, Debug, Clone)]
25pub enum ApiClientError {
26 #[error("Failed to send API request")]
27 FailedToSendRequest,
28 #[error("Failed to serialize API request")]
29 FailedToSerializeRequest,
30 #[error("Failed to receive API response")]
31 FailedToReceiveResponse,
32 #[error("Failed to deserialize API response")]
33 FailedToDeserializeResponse,
34 #[error("Server responded with an error {0:?}")]
35 ServerError(FireBaseAPIError),
36}