From e3faeac0f56f87d2fa75e8dd38e246ba7a299a0c Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 28 May 2020 09:30:00 +0800 Subject: [PATCH] fix struct export in rust reqwest (#6453) --- .../main/resources/rust/reqwest/api.mustache | 36 +++++++++---------- .../resources/rust/reqwest/api_mod.mustache | 11 ++++-- .../fileResponseTest/.openapi-generator/FILES | 13 +++++++ .../hyper/petstore/.openapi-generator/FILES | 29 +++++++++++++++ .../hyper/rust-test/.openapi-generator/FILES | 15 ++++++++ .../fileResponseTest/.openapi-generator/FILES | 12 +++++++ .../reqwest/petstore/.openapi-generator/FILES | 28 +++++++++++++++ .../rust-test/.openapi-generator/FILES | 14 ++++++++ 8 files changed, 138 insertions(+), 20 deletions(-) create mode 100644 samples/client/petstore/rust/hyper/fileResponseTest/.openapi-generator/FILES create mode 100644 samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES create mode 100644 samples/client/petstore/rust/hyper/rust-test/.openapi-generator/FILES create mode 100644 samples/client/petstore/rust/reqwest/fileResponseTest/.openapi-generator/FILES create mode 100644 samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES create mode 100644 samples/client/petstore/rust/reqwest/rust-test/.openapi-generator/FILES diff --git a/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache b/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache index 0be755947ea3..48bd7cc1524d 100644 --- a/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache +++ b/modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache @@ -22,23 +22,23 @@ impl {{{classname}}}Client { {{#operations}} {{#operation}} - {{#vendorExtensions.x-group-parameters}} - {{#allParams}} - {{#-first}} - /// struct for passing parameters to the method `{{operationId}}` - #[derive(Clone, Debug)] - pub struct {{{operationIdCamelCase}}}Params { - {{/-first}} - {{#description}} - /// {{{.}}} - {{/description}} - pub {{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}String{{/isString}}{{#isUuid}}String{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{#hasMore}}, {{/hasMore}} - {{#-last}} - } +{{#vendorExtensions.x-group-parameters}} +{{#allParams}} +{{#-first}} +/// struct for passing parameters to the method `{{operationId}}` +#[derive(Clone, Debug)] +pub struct {{{classname}}}{{{operationIdCamelCase}}}Params { +{{/-first}} + {{#description}} + /// {{{.}}} + {{/description}} + pub {{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}String{{/isString}}{{#isUuid}}String{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{#hasMore}},{{/hasMore}} +{{#-last}} +} - {{/-last}} - {{/allParams}} - {{/vendorExtensions.x-group-parameters}} +{{/-last}} +{{/allParams}} +{{/vendorExtensions.x-group-parameters}} {{/operation}} {{/operations}} @@ -46,7 +46,7 @@ pub trait {{{classname}}} { {{#operations}} {{#operation}} {{#vendorExtensions.x-group-parameters}} - fn {{{operationId}}}(&self{{#allParams}}{{#-first}}, params: {{{operationIdCamelCase}}}Params{{/-first}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error>; + fn {{{operationId}}}(&self{{#allParams}}{{#-first}}, params: {{{classname}}}{{{operationIdCamelCase}}}Params{{/-first}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error>; {{/vendorExtensions.x-group-parameters}} {{^vendorExtensions.x-group-parameters}} fn {{{operationId}}}(&self, {{#allParams}}{{{paramName}}}: {{^required}}Option<{{/required}}{{#required}}{{#isNullable}}Option<{{/isNullable}}{{/required}}{{#isString}}&str{{/isString}}{{#isUuid}}&str{{/isUuid}}{{^isString}}{{^isUuid}}{{^isPrimitiveType}}{{^isContainer}}crate::models::{{/isContainer}}{{/isPrimitiveType}}{{{dataType}}}{{/isUuid}}{{/isString}}{{^required}}>{{/required}}{{#required}}{{#isNullable}}>{{/isNullable}}{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error>; @@ -59,7 +59,7 @@ impl {{{classname}}} for {{{classname}}}Client { {{#operations}} {{#operation}} {{#vendorExtensions.x-group-parameters}} - fn {{{operationId}}}(&self{{#allParams}}{{#-first}}, params: {{{operationIdCamelCase}}}Params{{/-first}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error> { + fn {{{operationId}}}(&self{{#allParams}}{{#-first}}, params: {{{classname}}}{{{operationIdCamelCase}}}Params{{/-first}}{{/allParams}}) -> Result<{{^returnType}}(){{/returnType}}{{#returnType}}{{{returnType}}}{{/returnType}}, Error> { // unbox the parameters {{#allParams}} let {{paramName}} = params.{{paramName}}; diff --git a/modules/openapi-generator/src/main/resources/rust/reqwest/api_mod.mustache b/modules/openapi-generator/src/main/resources/rust/reqwest/api_mod.mustache index 93123e31facd..540d12bf2c8c 100644 --- a/modules/openapi-generator/src/main/resources/rust/reqwest/api_mod.mustache +++ b/modules/openapi-generator/src/main/resources/rust/reqwest/api_mod.mustache @@ -35,9 +35,16 @@ pub fn urlencode>(s: T) -> String { mod {{{classFilename}}}; {{#operations}} {{#operation}} -{{#-last}} +{{#-first}} pub use self::{{{classFilename}}}::{ {{{classname}}}, {{{classname}}}Client }; -{{/-last}} +{{/-first}} +{{#vendorExtensions.x-group-parameters}} +{{#allParams}} +{{#-first}} +pub use self::{{{classFilename}}}::{ {{{classname}}}{{{operationIdCamelCase}}}Params }; +{{/-first}} +{{/allParams}} +{{/vendorExtensions.x-group-parameters}} {{/operation}} {{/operations}} {{/apis}} diff --git a/samples/client/petstore/rust/hyper/fileResponseTest/.openapi-generator/FILES b/samples/client/petstore/rust/hyper/fileResponseTest/.openapi-generator/FILES new file mode 100644 index 000000000000..d85f759b5923 --- /dev/null +++ b/samples/client/petstore/rust/hyper/fileResponseTest/.openapi-generator/FILES @@ -0,0 +1,13 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/DefaultApi.md +git_push.sh +src/apis/client.rs +src/apis/configuration.rs +src/apis/default_api.rs +src/apis/mod.rs +src/apis/request.rs +src/lib.rs +src/models/mod.rs diff --git a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES new file mode 100644 index 000000000000..a670589b33e4 --- /dev/null +++ b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES @@ -0,0 +1,29 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/ApiResponse.md +docs/Category.md +docs/Order.md +docs/Pet.md +docs/PetApi.md +docs/StoreApi.md +docs/Tag.md +docs/User.md +docs/UserApi.md +git_push.sh +src/apis/client.rs +src/apis/configuration.rs +src/apis/mod.rs +src/apis/pet_api.rs +src/apis/request.rs +src/apis/store_api.rs +src/apis/user_api.rs +src/lib.rs +src/models/api_response.rs +src/models/category.rs +src/models/mod.rs +src/models/order.rs +src/models/pet.rs +src/models/tag.rs +src/models/user.rs diff --git a/samples/client/petstore/rust/hyper/rust-test/.openapi-generator/FILES b/samples/client/petstore/rust/hyper/rust-test/.openapi-generator/FILES new file mode 100644 index 000000000000..22f11c2df5bc --- /dev/null +++ b/samples/client/petstore/rust/hyper/rust-test/.openapi-generator/FILES @@ -0,0 +1,15 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/DefaultApi.md +docs/TypeTesting.md +git_push.sh +src/apis/client.rs +src/apis/configuration.rs +src/apis/default_api.rs +src/apis/mod.rs +src/apis/request.rs +src/lib.rs +src/models/mod.rs +src/models/type_testing.rs diff --git a/samples/client/petstore/rust/reqwest/fileResponseTest/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/fileResponseTest/.openapi-generator/FILES new file mode 100644 index 000000000000..eb0b5839042d --- /dev/null +++ b/samples/client/petstore/rust/reqwest/fileResponseTest/.openapi-generator/FILES @@ -0,0 +1,12 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/DefaultApi.md +git_push.sh +src/apis/client.rs +src/apis/configuration.rs +src/apis/default_api.rs +src/apis/mod.rs +src/lib.rs +src/models/mod.rs diff --git a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES new file mode 100644 index 000000000000..05a32e57f1d5 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES @@ -0,0 +1,28 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/ApiResponse.md +docs/Category.md +docs/Order.md +docs/Pet.md +docs/PetApi.md +docs/StoreApi.md +docs/Tag.md +docs/User.md +docs/UserApi.md +git_push.sh +src/apis/client.rs +src/apis/configuration.rs +src/apis/mod.rs +src/apis/pet_api.rs +src/apis/store_api.rs +src/apis/user_api.rs +src/lib.rs +src/models/api_response.rs +src/models/category.rs +src/models/mod.rs +src/models/order.rs +src/models/pet.rs +src/models/tag.rs +src/models/user.rs diff --git a/samples/client/petstore/rust/reqwest/rust-test/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/rust-test/.openapi-generator/FILES new file mode 100644 index 000000000000..1f6d4ae85718 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/rust-test/.openapi-generator/FILES @@ -0,0 +1,14 @@ +.gitignore +.travis.yml +Cargo.toml +README.md +docs/DefaultApi.md +docs/TypeTesting.md +git_push.sh +src/apis/client.rs +src/apis/configuration.rs +src/apis/default_api.rs +src/apis/mod.rs +src/lib.rs +src/models/mod.rs +src/models/type_testing.rs