apollo_errors/
metadata.rs1use serde::Serialize;
4
5#[derive(Debug, Clone, Serialize)]
7#[serde(rename_all = "camelCase")]
8pub struct FieldMetadata {
9 pub rust_name: &'static str,
11
12 pub output_name: &'static str,
14
15 pub ty: &'static str,
17
18 pub is_extension: bool,
20
21 #[serde(skip_serializing_if = "Option::is_none")]
23 pub http_header: Option<&'static str>,
24}
25
26#[derive(Debug, Clone, Serialize)]
28#[serde(rename_all = "camelCase")]
29pub struct RegularVariantMetadata {
30 pub name: &'static str,
32
33 pub message: &'static str,
35
36 pub code: &'static str,
38
39 pub http_status: u16,
41
42 pub jsonrpc_code: i32,
44
45 #[serde(skip_serializing_if = "Option::is_none")]
47 pub help: Option<&'static str>,
48
49 #[serde(skip_serializing_if = "Option::is_none")]
51 pub url: Option<&'static str>,
52
53 #[serde(skip_serializing_if = "Option::is_none")]
55 pub severity: Option<&'static str>,
56
57 pub fields: &'static [FieldMetadata],
59}
60
61#[derive(Debug, Clone, Serialize)]
63#[serde(rename_all = "camelCase")]
64pub struct TransparentVariantMetadata {
65 pub name: &'static str,
67
68 pub forward_to: &'static str,
70}
71
72#[derive(Debug, Clone, Serialize)]
74#[serde(untagged)]
75pub enum VariantMetadata {
76 Regular(RegularVariantMetadata),
78
79 Transparent(TransparentVariantMetadata),
81}
82
83#[derive(Debug, Clone, Serialize)]
85#[serde(rename_all = "camelCase")]
86pub struct ErrorMetadata {
87 pub type_name: &'static str,
89
90 pub variants: &'static [VariantMetadata],
92}