Skip to content

Commit 27c144c

Browse files
committed
preview implementation
1 parent ebc230a commit 27c144c

File tree

5 files changed

+2435
-1216
lines changed

5 files changed

+2435
-1216
lines changed

compiler-rs/clients_schema_to_openapi/src/lib.rs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,22 @@ fn info(model: &IndexedModel) -> openapiv3::Info {
158158
}
159159
}
160160

161-
pub fn product_as_extensions(availabilities: &Option<Availabilities>, flavor: &Option<Flavor>) -> IndexMap<String, serde_json::Value> {
161+
pub fn product_meta_as_extensions(namespace: &str) -> IndexMap<String, Value> {
162162
let mut result = IndexMap::new();
163-
convert_availabilities(availabilities, flavor, &mut result);
163+
let additional_namespace = match namespace {
164+
"inference" => { ", machine-learning"}
165+
"ml" => { ", machine-learning"}
166+
"fleet" => { ", fleet"}
167+
"logstash" => { ", logstash"}
168+
&_ => { ""}
169+
};
170+
171+
let product_str = format!("elasticsearch{additional_namespace}");
172+
result.insert("x-product-feature".to_string(), Value::String(product_str));
164173
result
165174
}
166175

167-
pub fn availability_as_extensions(availabilities: &Option<Availabilities>, flavor: &Option<Flavor>) -> IndexMap<String, serde_json::Value> {
176+
pub fn availability_as_extensions(availabilities: &Option<Availabilities>, flavor: &Option<Flavor>) -> IndexMap<String, Value> {
168177
let mut result = IndexMap::new();
169178
convert_availabilities(availabilities, flavor, &mut result);
170179
result

compiler-rs/clients_schema_to_openapi/src/paths.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,8 +345,7 @@ pub fn add_endpoint(
345345
if !code_samples.is_empty() {
346346
extensions.insert("x-codeSamples".to_string(), serde_json::json!(code_samples));
347347
}
348-
let mut ext_availability = crate::availability_as_extensions(&endpoint.availability, &tac.config.flavor);
349-
extensions.append(&mut ext_availability);
348+
extensions.append(&mut crate::product_meta_as_extensions(namespace));
350349

351350
// Create the operation, it will be repeated if we have several methods
352351
let operation = openapiv3::Operation {
1018 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)