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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// OpenAPI v3.1.0 Specification
//
// OpenAPI inside OpenAPI
//
// The version of the OpenAPI document: 3.1.0
//
// Generated by: https://openapi-generator.tech

use crate::v31;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Parameter {
  #[serde(rename = "name")]
  pub name: String,
  #[serde(rename = "in")]
  pub r#in: In,
  #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
  pub description: Option<String>,
  #[serde(rename = "required", skip_serializing_if = "Option::is_none")]
  pub required: Option<bool>,
  #[serde(rename = "deprecated", skip_serializing_if = "Option::is_none")]
  pub deprecated: Option<bool>,
  #[serde(rename = "schema", default, skip_serializing_if = "Option::is_none")]
  pub schema: Option<serde_json::Value>,
  #[serde(rename = "content", skip_serializing_if = "Option::is_none")]
  pub content: Option<std::collections::BTreeMap<String, v31::MediaType>>,
}

impl Parameter {
  pub fn new(name: String, r#in: In) -> Parameter {
    Parameter { name, r#in, description: None, required: None, deprecated: None, schema: None, content: None }
  }
}

#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum In {
  #[serde(rename = "query")]
  Query,
  #[serde(rename = "header")]
  Header,
  #[serde(rename = "path")]
  Path,
  #[serde(rename = "cookie")]
  Cookie,
}

impl Default for In {
  fn default() -> In {
    Self::Query
  }
}