google_api_rust_client_unoffical/services/
service_error.rs

1use serde::{Serialize, Deserialize};
2use serde_json::Value;
3
4
5// https://cloud.google.com/apis/design/errors
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct ServiceErrorResponse {
8    pub error: ErrorResponseStatus
9}
10
11impl Default for ServiceErrorResponse {
12    fn default() -> Self {
13        Self {
14            error: ErrorResponseStatus::default()
15        }
16    }
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
20pub struct ErrorResponseStatus {
21    pub code: u32,
22    pub message: String,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub details: Option<Vec<Value>>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub status: Option<String>,
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub errors: Option<Vec<Value>>
29}
30
31impl Default for ErrorResponseStatus {
32    fn default() -> Self {
33        Self {
34            code: 400,
35            message: "Unknown Error".to_owned(),
36            details: None,
37            status: None,
38            errors: None
39        }
40    }
41}