aide/openapi/
components.rs1use crate::openapi::*;
2use indexmap::IndexMap;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq)]
10#[serde(rename_all = "camelCase")]
11#[derive(schemars::JsonSchema)]
12pub struct Components {
13 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
15 pub security_schemes: IndexMap<String, ReferenceOr<SecurityScheme>>,
16 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
18 pub responses: IndexMap<String, ReferenceOr<Response>>,
19 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
21 pub parameters: IndexMap<String, ReferenceOr<Parameter>>,
22 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
24 pub examples: IndexMap<String, ReferenceOr<Example>>,
25 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
27 pub request_bodies: IndexMap<String, ReferenceOr<RequestBody>>,
28 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
30 pub headers: IndexMap<String, ReferenceOr<Header>>,
31 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
33 pub schemas: IndexMap<String, SchemaObject>,
34 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
36 pub links: IndexMap<String, ReferenceOr<Link>>,
37 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
39 pub callbacks: IndexMap<String, ReferenceOr<Callback>>,
40 #[serde(default, skip_serializing_if = "IndexMap::is_empty")]
41 pub path_items: IndexMap<String, ReferenceOr<PathItem>>,
43 #[serde(flatten, deserialize_with = "crate::util::deserialize_extensions")]
45 pub extensions: IndexMap<String, serde_json::Value>,
46}