Skip to content

Commit dcee65e

Browse files
skip examples w/o bodies when generating openapi examples
1 parent c0d7bcf commit dcee65e

File tree

5 files changed

+668
-263
lines changed

5 files changed

+668
-263
lines changed

compiler-rs/clients_schema_to_openapi/src/paths.rs

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -144,14 +144,16 @@ pub fn add_endpoint(
144144
// }
145145
};
146146

147-
let openapi_example = Example {
148-
value: example,
149-
description: schema_example.description.clone(),
150-
summary: schema_example.summary.clone(),
151-
external_value: None,
152-
extensions: Default::default(),
153-
};
154-
openapi_examples.insert(name.clone(), ReferenceOr::Item(openapi_example));
147+
if example.is_some() {
148+
let openapi_example = Example {
149+
value: example,
150+
description: schema_example.description.clone(),
151+
summary: schema_example.summary.clone(),
152+
external_value: None,
153+
extensions: Default::default(),
154+
};
155+
openapi_examples.insert(name.clone(), ReferenceOr::Item(openapi_example));
156+
}
155157
}
156158
openapi_examples
157159
}
@@ -268,21 +270,6 @@ pub fn add_endpoint(
268270
}
269271
}
270272
}
271-
if code_samples.is_empty() {
272-
// if there are no example requests we look for example responses
273-
// this can only happen for examples that do not have a request body
274-
if let Some(examples) = response_def.examples.clone() {
275-
if let Some((_, example)) = examples.first() {
276-
let request_line = example.method_request.clone().unwrap_or(String::from(""));
277-
if !request_line.is_empty() {
278-
code_samples.push(serde_json::json!({
279-
"lang": "Console",
280-
"source": request_line + "\n",
281-
}));
282-
}
283-
}
284-
}
285-
}
286273
if !code_samples.is_empty() {
287274
extensions.insert("x-codeSamples".to_string(), serde_json::json!(code_samples));
288275
}
Binary file not shown.

output/openapi/elasticsearch-openapi.json

Lines changed: 13 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

output/openapi/elasticsearch-serverless-openapi.json

Lines changed: 10 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)