Skip to content

Commit 81285b7

Browse files
authored
add exts alias to simply the templates (rust-server) (#22309)
1 parent c596bb7 commit 81285b7

26 files changed

+185
-132
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,15 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
265265
private Map<String, CodegenProperty> requiredVarsMap;
266266
private String ref;
267267

268+
/**
269+
* An alias for vendor extensions, e.g. one can use {{exts.x-something}} for cleaner template
270+
*
271+
* @return vendor extensions
272+
*/
273+
public Map<String, Object> getExts() {
274+
return vendorExtensions;
275+
}
276+
268277
@Override
269278
public CodegenProperty getContains() {
270279
return contains;
@@ -365,7 +374,6 @@ public String getDiscriminatorName() {
365374
return discriminator == null ? null : discriminator.getPropertyName();
366375
}
367376

368-
369377
@Override
370378
public String getPattern() {
371379
return pattern;

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,15 @@ private static boolean nonEmpty(Map<?, ?> params) {
7979
return params != null && !params.isEmpty();
8080
}
8181

82+
/**
83+
* An alias for vendor extensions, e.g. one can use {{exts.x-something}} for cleaner template
84+
*
85+
* @return vendor extensions
86+
*/
87+
public Map<String, Object> getExts() {
88+
return vendorExtensions;
89+
}
90+
8291
/**
8392
* Check if there's at least one parameter
8493
*

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,15 @@ public String toString() {
534534
return sb.toString();
535535
}
536536

537+
/**
538+
* An alias for vendor extensions, e.g. one can use {{exts.x-something}} for cleaner template
539+
*
540+
* @return vendor extensions
541+
*/
542+
public Map<String, Object> getExts() {
543+
return vendorExtensions;
544+
}
545+
537546
// use schema.getContains or content.mediaType.schema.getContains instead of this
538547
@Override
539548
public CodegenProperty getContains() {

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,15 @@ public boolean notRequiredOrIsNullable() {
436436
return !getRequired() || isNullable;
437437
}
438438

439+
/**
440+
* An alias for vendor extensions, e.g. one can use {{exts.x-something}} for cleaner template
441+
*
442+
* @return vendor extensions
443+
*/
444+
public Map<String, Object> getExts() {
445+
return vendorExtensions;
446+
}
447+
439448
@Override
440449
public CodegenProperty getItems() {
441450
return items;

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,15 @@ public boolean equals(Object o) {
206206

207207
}
208208

209+
/**
210+
* An alias for vendor extensions, e.g. one can use {{exts.x-something}} for cleaner template
211+
*
212+
* @return vendor extensions
213+
*/
214+
public Map<String, Object> getExts() {
215+
return vendorExtensions;
216+
}
217+
209218
// use content.mediaType.schema.getContains instead of this
210219
@Override
211220
public CodegenProperty getContains() {

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenServer.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,13 @@ public String toString() {
3838
sb.append('}');
3939
return sb.toString();
4040
}
41+
42+
/**
43+
* An alias for vendor extensions, e.g. one can use {{exts.x-something}} for cleaner template
44+
*
45+
* @return vendor extensions
46+
*/
47+
public Map<String, Object> getExts() {
48+
return vendorExtensions;
49+
}
4150
}

modules/openapi-generator/src/main/resources/rust-server/README.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,11 @@ To run a client, follow one of the following simple steps:
9595
{{#apis}}
9696
{{#operations}}
9797
{{#operation}}
98-
{{#vendorExtensions}}
98+
{{#exts}}
9999
{{^x-no-client-example}}
100100
cargo run --example client {{{operationId}}}
101101
{{/x-no-client-example}}
102-
{{/vendorExtensions}}
102+
{{/exts}}
103103
{{/operation}}
104104
{{/operations}}
105105
{{/apis}}

modules/openapi-generator/src/main/resources/rust-server/bin-cli.mustache

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,12 @@ enum Operation {
113113
{{/isBinary}}
114114
{{#isBoolean}}
115115
{{#isPrimitiveType}}
116-
{{#vendorExtensions.x-provide-cli-short-opt}}
116+
{{#exts.x-provide-cli-short-opt}}
117117
#[clap(short, long)]
118-
{{/vendorExtensions.x-provide-cli-short-opt}}
119-
{{^vendorExtensions.x-provide-cli-short-opt}}
118+
{{/exts.x-provide-cli-short-opt}}
119+
{{^exts.x-provide-cli-short-opt}}
120120
#[clap(long)]
121-
{{/vendorExtensions.x-provide-cli-short-opt}}
121+
{{/exts.x-provide-cli-short-opt}}
122122
{{/isPrimitiveType}}
123123
{{/isBoolean}}
124124
{{{paramName}}}: {{^required}}Option<{{/required}}{{{dataType}}}{{^required}}>{{/required}},
@@ -216,9 +216,9 @@ async fn main() -> Result<()> {
216216
{{paramName}},
217217
{{/allParams}}
218218
} => {
219-
{{#vendorExtensions.x-is-delete}}
219+
{{#exts.x-is-delete}}
220220
prompt(args.force, "This will delete the given entry, are you sure?")?;
221-
{{/vendorExtensions.x-is-delete}}
221+
{{/exts.x-is-delete}}
222222
info!("Performing a {{operationId}} request{{^pathParams}}");{{/pathParams}}{{#pathParams}}{{#-first}} on {:?}", ({{/-first}}{{/pathParams}}
223223
{{#pathParams}}
224224
&{{paramName}}{{^-last}},{{/-last}}
@@ -227,7 +227,7 @@ async fn main() -> Result<()> {
227227
{{/-last}}
228228
{{/pathParams}}
229229

230-
let result = client.{{{vendorExtensions.x-operation-id}}}(
230+
let result = client.{{{exts.x-operation-id}}}(
231231
{{#allParams}}
232232
{{{paramName}}}{{#isArray}}.as_ref(){{/isArray}},
233233
{{/allParams}}
@@ -236,7 +236,7 @@ async fn main() -> Result<()> {
236236

237237
match result {
238238
{{#responses}}
239-
{{{operationId}}}Response::{{{vendorExtensions.x-response-id}}}
239+
{{{operationId}}}Response::{{{exts.x-response-id}}}
240240
{{#dataType}}
241241
{{^hasHeaders}}
242242
(body)
@@ -257,7 +257,7 @@ async fn main() -> Result<()> {
257257
}
258258
{{/-last}}
259259
{{/headers}}
260-
=> "{{{vendorExtensions.x-response-id}}}\n".to_string()
260+
=> "{{{exts.x-response-id}}}\n".to_string()
261261
{{#dataType}}
262262
+
263263
{{/dataType}}

modules/openapi-generator/src/main/resources/rust-server/client-callbacks.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ impl<T> RequestParser<T> for ApiRequestParser {
6363
{{#urls}}
6464
{{#requests}}
6565
// {{{operationId}}} - {{{httpMethod}}} {{{path}}}
66-
hyper::Method::{{{vendorExtensions.x-http-method}}} if path.matched(paths::ID_{{{vendorExtensions.x-path-id}}}) => Some("{{{operationId}}}"),
66+
hyper::Method::{{{exts.x-http-method}}} if path.matched(paths::ID_{{{exts.x-path-id}}}) => Some("{{{operationId}}}"),
6767
{{/requests}}
6868
{{/urls}}
6969
{{/callbacks}}

modules/openapi-generator/src/main/resources/rust-server/client-operation.mustache

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#[allow(clippy::vec_init_then_push)]
2-
async fn {{#vendorExtensions}}{{{x-operation-id}}}{{/vendorExtensions}}(
2+
async fn {{#exts}}{{{x-operation-id}}}{{/exts}}(
33
&self,
4-
{{#vendorExtensions}}
4+
{{#exts}}
55
{{#x-callback-params}}
66
callback_{{.}}: String,
77
{{/x-callback-params}}
8-
{{/vendorExtensions}}
8+
{{/exts}}
99
{{#allParams}}
1010
param_{{{paramName}}}: {{^required}}Option<{{/required}}{{#isArray}}&{{/isArray}}{{{dataType}}}{{^required}}>{{/required}},
1111
{{/allParams}}
@@ -15,20 +15,20 @@
1515
#[allow(clippy::uninlined_format_args)]
1616
let mut uri = format!(
1717
{{#isCallbackRequest}}
18-
"{{vendorExtensions.x-path-format-string}}"
18+
"{{exts.x-path-format-string}}"
1919
{{/isCallbackRequest}}
2020
{{^isCallbackRequest}}
21-
"{}{{^servers}}{{{basePathWithoutHost}}}{{/servers}}{{#servers.0}}{{{url}}}{{/servers.0}}{{vendorExtensions.x-path-format-string}}",
21+
"{}{{^servers}}{{{basePathWithoutHost}}}{{/servers}}{{#servers.0}}{{{url}}}{{/servers.0}}{{exts.x-path-format-string}}",
2222
self.base_path
2323
{{/isCallbackRequest}}
2424
{{#pathParams}}
2525
,{{{paramName}}}=utf8_percent_encode(&param_{{{paramName}}}.to_string(), ID_ENCODE_SET)
2626
{{/pathParams}}
27-
{{#vendorExtensions}}
27+
{{#exts}}
2828
{{#x-callback-params}}
2929
,{{.}}=callback_{{.}}
3030
{{/x-callback-params}}
31-
{{/vendorExtensions}}
31+
{{/exts}}
3232
);
3333

3434
// Query parameters
@@ -39,7 +39,7 @@
3939
if let Some(param_{{{paramName}}}) = param_{{{paramName}}} {
4040
{{/required}}
4141
query_string.append_pair("{{{baseName}}}",
42-
{{#vendorExtensions}}
42+
{{#exts}}
4343
{{#x-consumes-json}}
4444
&match serde_json::to_string(&param_{{{paramName}}}) {
4545
Ok(str) => str,
@@ -54,7 +54,7 @@
5454
&param_{{{paramName}}}{{^isString}}.to_string(){{/isString}});
5555
{{/isArray}}
5656
{{/x-consumes-json}}
57-
{{/vendorExtensions}}
57+
{{/exts}}
5858
{{^required}}
5959
}
6060
{{/required}}
@@ -81,7 +81,7 @@
8181
};
8282

8383
let mut request = match Request::builder()
84-
.method("{{{vendorExtensions.x-http-method}}}")
84+
.method("{{{exts.x-http-method}}}")
8585
.uri(uri)
8686
.body(BoxBody::new(http_body_util::Empty::new())) {
8787
Ok(req) => req,
@@ -214,7 +214,7 @@
214214
{{>client-response-body-instance}}
215215

216216

217-
Ok({{{operationId}}}Response::{{#vendorExtensions}}{{x-response-id}}{{/vendorExtensions}}
217+
Ok({{{operationId}}}Response::{{#exts}}{{x-response-id}}{{/exts}}
218218
{{^headers}}
219219
(body)
220220
{{/headers}}
@@ -232,7 +232,7 @@
232232
{{/dataType}}
233233
{{^dataType}}
234234
Ok(
235-
{{{operationId}}}Response::{{#vendorExtensions}}{{x-response-id}}{{/vendorExtensions}}
235+
{{{operationId}}}Response::{{#exts}}{{x-response-id}}{{/exts}}
236236
{{#headers}}
237237
{{#-first}}
238238
{

0 commit comments

Comments
 (0)