From 191dc1a6ba8b61d456a3a7ce8691feead0e574fc Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 19 Mar 2024 18:33:29 +0800 Subject: [PATCH] Override escape reserved word in abstract rust (#17440) * override escape reserved word in abstract rust * add tests for ref, improve verion lambda * add files --- .../languages/AbstractRustCodegen.java | 8 ++++++ .../codegen/languages/RustClientCodegen.java | 7 +++++ .../src/test/resources/3_0/rust/petstore.yaml | 6 ++++ .../hyper/petstore/.openapi-generator/FILES | 2 ++ .../petstore/rust/hyper/petstore/README.md | 1 + .../petstore/rust/hyper/petstore/docs/Ref.md | 11 ++++++++ .../rust/hyper/petstore/src/models/mod.rs | 2 ++ .../hyper/petstore/src/models/model_ref.rs | 28 +++++++++++++++++++ .../.openapi-generator/FILES | 2 ++ .../petstore-async-middleware/README.md | 1 + .../petstore-async-middleware/docs/Ref.md | 11 ++++++++ .../src/models/mod.rs | 2 ++ .../src/models/model_ref.rs | 28 +++++++++++++++++++ .../petstore-async/.openapi-generator/FILES | 2 ++ .../rust/reqwest/petstore-async/README.md | 1 + .../rust/reqwest/petstore-async/docs/Ref.md | 11 ++++++++ .../reqwest/petstore-async/src/models/mod.rs | 2 ++ .../petstore-async/src/models/model_ref.rs | 28 +++++++++++++++++++ .../.openapi-generator/FILES | 2 ++ .../rust/reqwest/petstore-avoid-box/README.md | 1 + .../reqwest/petstore-avoid-box/docs/Ref.md | 11 ++++++++ .../petstore-avoid-box/src/models/mod.rs | 2 ++ .../src/models/model_ref.rs | 28 +++++++++++++++++++ .../.openapi-generator/FILES | 2 ++ .../reqwest/petstore-awsv4signature/README.md | 1 + .../petstore-awsv4signature/docs/Ref.md | 11 ++++++++ .../petstore-awsv4signature/src/models/mod.rs | 2 ++ .../src/models/model_ref.rs | 28 +++++++++++++++++++ .../reqwest/petstore/.openapi-generator/FILES | 2 ++ .../petstore/rust/reqwest/petstore/README.md | 1 + .../rust/reqwest/petstore/docs/Ref.md | 11 ++++++++ .../rust/reqwest/petstore/src/models/mod.rs | 2 ++ .../reqwest/petstore/src/models/model_ref.rs | 28 +++++++++++++++++++ 33 files changed, 285 insertions(+) create mode 100644 samples/client/petstore/rust/hyper/petstore/docs/Ref.md create mode 100644 samples/client/petstore/rust/hyper/petstore/src/models/model_ref.rs create mode 100644 samples/client/petstore/rust/reqwest/petstore-async-middleware/docs/Ref.md create mode 100644 samples/client/petstore/rust/reqwest/petstore-async-middleware/src/models/model_ref.rs create mode 100644 samples/client/petstore/rust/reqwest/petstore-async/docs/Ref.md create mode 100644 samples/client/petstore/rust/reqwest/petstore-async/src/models/model_ref.rs create mode 100644 samples/client/petstore/rust/reqwest/petstore-avoid-box/docs/Ref.md create mode 100644 samples/client/petstore/rust/reqwest/petstore-avoid-box/src/models/model_ref.rs create mode 100644 samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/Ref.md create mode 100644 samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/models/model_ref.rs create mode 100644 samples/client/petstore/rust/reqwest/petstore/docs/Ref.md create mode 100644 samples/client/petstore/rust/reqwest/petstore/src/models/model_ref.rs diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRustCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRustCodegen.java index 94d6cb36385..d8631cf7823 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRustCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRustCodegen.java @@ -436,4 +436,12 @@ public abstract class AbstractRustCodegen extends DefaultCodegen implements Code public String addRegularExpressionDelimiter(String pattern) { return pattern; } + + @Override + public String escapeReservedWord(String name) { + if (this.reservedWordsMappings().containsKey(name)) { + return this.reservedWordsMappings().get(name); + } + return "r#"+ name; + } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index 0a4a62ec5f9..649ecb814fc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -392,6 +392,13 @@ public class RustClientCodegen extends AbstractRustCodegen implements CodegenCon // remove v or V content = content.trim().replace("v", ""); content = content.replace("V", ""); + + // convert 5.2 to 5.2.0 for example + String[] contents = content.split("[.]"); + if (contents.length == 2) { + content += ".0"; + } + writer.write(content); } }); diff --git a/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml b/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml index 17ed5b4f0a8..6b42b99ab75 100644 --- a/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/rust/petstore.yaml @@ -955,3 +955,9 @@ components: nullable: true just_string: type: string + ref: + description: using reserved word as model name + type: object + properties: + dummy: + type: string diff --git a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES index b813c7f60ef..eb23185b873 100644 --- a/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES +++ b/samples/client/petstore/rust/hyper/petstore/.openapi-generator/FILES @@ -15,6 +15,7 @@ docs/Order.md docs/Pet.md docs/PetApi.md docs/PropertyTest.md +docs/Ref.md docs/Return.md docs/StoreApi.md docs/Tag.md @@ -41,6 +42,7 @@ src/models/baz.rs src/models/category.rs src/models/enum_array_testing.rs src/models/mod.rs +src/models/model_ref.rs src/models/model_return.rs src/models/nullable_array.rs src/models/optional_testing.rs diff --git a/samples/client/petstore/rust/hyper/petstore/README.md b/samples/client/petstore/rust/hyper/petstore/README.md index 9b0320d4a57..edd60bb2e96 100644 --- a/samples/client/petstore/rust/hyper/petstore/README.md +++ b/samples/client/petstore/rust/hyper/petstore/README.md @@ -64,6 +64,7 @@ Class | Method | HTTP request | Description - [Order](docs/Order.md) - [Pet](docs/Pet.md) - [PropertyTest](docs/PropertyTest.md) + - [Ref](docs/Ref.md) - [Return](docs/Return.md) - [Tag](docs/Tag.md) - [TypeTesting](docs/TypeTesting.md) diff --git a/samples/client/petstore/rust/hyper/petstore/docs/Ref.md b/samples/client/petstore/rust/hyper/petstore/docs/Ref.md new file mode 100644 index 00000000000..04f9d0aa55a --- /dev/null +++ b/samples/client/petstore/rust/hyper/petstore/docs/Ref.md @@ -0,0 +1,11 @@ +# Ref + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dummy** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/mod.rs b/samples/client/petstore/rust/hyper/petstore/src/models/mod.rs index fa16eac3cac..884357e8604 100644 --- a/samples/client/petstore/rust/hyper/petstore/src/models/mod.rs +++ b/samples/client/petstore/rust/hyper/petstore/src/models/mod.rs @@ -20,6 +20,8 @@ pub mod pet; pub use self::pet::Pet; pub mod property_test; pub use self::property_test::PropertyTest; +pub mod model_ref; +pub use self::model_ref::Ref; pub mod model_return; pub use self::model_return::Return; pub mod tag; diff --git a/samples/client/petstore/rust/hyper/petstore/src/models/model_ref.rs b/samples/client/petstore/rust/hyper/petstore/src/models/model_ref.rs new file mode 100644 index 00000000000..cd0928bf9c2 --- /dev/null +++ b/samples/client/petstore/rust/hyper/petstore/src/models/model_ref.rs @@ -0,0 +1,28 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; + +/// Ref : using reserved word as model name +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Ref { + #[serde(rename = "dummy", skip_serializing_if = "Option::is_none")] + pub dummy: Option, +} + +impl Ref { + /// using reserved word as model name + pub fn new() -> Ref { + Ref { + dummy: None, + } + } +} + diff --git a/samples/client/petstore/rust/reqwest/petstore-async-middleware/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/petstore-async-middleware/.openapi-generator/FILES index 17419c0ea7c..bcfaf169317 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async-middleware/.openapi-generator/FILES +++ b/samples/client/petstore/rust/reqwest/petstore-async-middleware/.openapi-generator/FILES @@ -15,6 +15,7 @@ docs/Order.md docs/Pet.md docs/PetApi.md docs/PropertyTest.md +docs/Ref.md docs/Return.md docs/StoreApi.md docs/Tag.md @@ -39,6 +40,7 @@ src/models/baz.rs src/models/category.rs src/models/enum_array_testing.rs src/models/mod.rs +src/models/model_ref.rs src/models/model_return.rs src/models/nullable_array.rs src/models/optional_testing.rs diff --git a/samples/client/petstore/rust/reqwest/petstore-async-middleware/README.md b/samples/client/petstore/rust/reqwest/petstore-async-middleware/README.md index f3874026bbb..a056a7fd3e3 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async-middleware/README.md +++ b/samples/client/petstore/rust/reqwest/petstore-async-middleware/README.md @@ -64,6 +64,7 @@ Class | Method | HTTP request | Description - [Order](docs/Order.md) - [Pet](docs/Pet.md) - [PropertyTest](docs/PropertyTest.md) + - [Ref](docs/Ref.md) - [Return](docs/Return.md) - [Tag](docs/Tag.md) - [TypeTesting](docs/TypeTesting.md) diff --git a/samples/client/petstore/rust/reqwest/petstore-async-middleware/docs/Ref.md b/samples/client/petstore/rust/reqwest/petstore-async-middleware/docs/Ref.md new file mode 100644 index 00000000000..04f9d0aa55a --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore-async-middleware/docs/Ref.md @@ -0,0 +1,11 @@ +# Ref + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dummy** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/client/petstore/rust/reqwest/petstore-async-middleware/src/models/mod.rs b/samples/client/petstore/rust/reqwest/petstore-async-middleware/src/models/mod.rs index fa16eac3cac..884357e8604 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async-middleware/src/models/mod.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async-middleware/src/models/mod.rs @@ -20,6 +20,8 @@ pub mod pet; pub use self::pet::Pet; pub mod property_test; pub use self::property_test::PropertyTest; +pub mod model_ref; +pub use self::model_ref::Ref; pub mod model_return; pub use self::model_return::Return; pub mod tag; diff --git a/samples/client/petstore/rust/reqwest/petstore-async-middleware/src/models/model_ref.rs b/samples/client/petstore/rust/reqwest/petstore-async-middleware/src/models/model_ref.rs new file mode 100644 index 00000000000..cd0928bf9c2 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore-async-middleware/src/models/model_ref.rs @@ -0,0 +1,28 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; + +/// Ref : using reserved word as model name +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Ref { + #[serde(rename = "dummy", skip_serializing_if = "Option::is_none")] + pub dummy: Option, +} + +impl Ref { + /// using reserved word as model name + pub fn new() -> Ref { + Ref { + dummy: None, + } + } +} + diff --git a/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/FILES index 17419c0ea7c..bcfaf169317 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/FILES +++ b/samples/client/petstore/rust/reqwest/petstore-async/.openapi-generator/FILES @@ -15,6 +15,7 @@ docs/Order.md docs/Pet.md docs/PetApi.md docs/PropertyTest.md +docs/Ref.md docs/Return.md docs/StoreApi.md docs/Tag.md @@ -39,6 +40,7 @@ src/models/baz.rs src/models/category.rs src/models/enum_array_testing.rs src/models/mod.rs +src/models/model_ref.rs src/models/model_return.rs src/models/nullable_array.rs src/models/optional_testing.rs diff --git a/samples/client/petstore/rust/reqwest/petstore-async/README.md b/samples/client/petstore/rust/reqwest/petstore-async/README.md index 43ba52f9a9e..3e2edb2b0f0 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/README.md +++ b/samples/client/petstore/rust/reqwest/petstore-async/README.md @@ -64,6 +64,7 @@ Class | Method | HTTP request | Description - [Order](docs/Order.md) - [Pet](docs/Pet.md) - [PropertyTest](docs/PropertyTest.md) + - [Ref](docs/Ref.md) - [Return](docs/Return.md) - [Tag](docs/Tag.md) - [TypeTesting](docs/TypeTesting.md) diff --git a/samples/client/petstore/rust/reqwest/petstore-async/docs/Ref.md b/samples/client/petstore/rust/reqwest/petstore-async/docs/Ref.md new file mode 100644 index 00000000000..04f9d0aa55a --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore-async/docs/Ref.md @@ -0,0 +1,11 @@ +# Ref + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dummy** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/models/mod.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/models/mod.rs index fa16eac3cac..884357e8604 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/src/models/mod.rs +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/models/mod.rs @@ -20,6 +20,8 @@ pub mod pet; pub use self::pet::Pet; pub mod property_test; pub use self::property_test::PropertyTest; +pub mod model_ref; +pub use self::model_ref::Ref; pub mod model_return; pub use self::model_return::Return; pub mod tag; diff --git a/samples/client/petstore/rust/reqwest/petstore-async/src/models/model_ref.rs b/samples/client/petstore/rust/reqwest/petstore-async/src/models/model_ref.rs new file mode 100644 index 00000000000..cd0928bf9c2 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore-async/src/models/model_ref.rs @@ -0,0 +1,28 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; + +/// Ref : using reserved word as model name +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Ref { + #[serde(rename = "dummy", skip_serializing_if = "Option::is_none")] + pub dummy: Option, +} + +impl Ref { + /// using reserved word as model name + pub fn new() -> Ref { + Ref { + dummy: None, + } + } +} + diff --git a/samples/client/petstore/rust/reqwest/petstore-avoid-box/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/petstore-avoid-box/.openapi-generator/FILES index 17419c0ea7c..bcfaf169317 100644 --- a/samples/client/petstore/rust/reqwest/petstore-avoid-box/.openapi-generator/FILES +++ b/samples/client/petstore/rust/reqwest/petstore-avoid-box/.openapi-generator/FILES @@ -15,6 +15,7 @@ docs/Order.md docs/Pet.md docs/PetApi.md docs/PropertyTest.md +docs/Ref.md docs/Return.md docs/StoreApi.md docs/Tag.md @@ -39,6 +40,7 @@ src/models/baz.rs src/models/category.rs src/models/enum_array_testing.rs src/models/mod.rs +src/models/model_ref.rs src/models/model_return.rs src/models/nullable_array.rs src/models/optional_testing.rs diff --git a/samples/client/petstore/rust/reqwest/petstore-avoid-box/README.md b/samples/client/petstore/rust/reqwest/petstore-avoid-box/README.md index 06f49ea05bb..af22d2dab0c 100644 --- a/samples/client/petstore/rust/reqwest/petstore-avoid-box/README.md +++ b/samples/client/petstore/rust/reqwest/petstore-avoid-box/README.md @@ -64,6 +64,7 @@ Class | Method | HTTP request | Description - [Order](docs/Order.md) - [Pet](docs/Pet.md) - [PropertyTest](docs/PropertyTest.md) + - [Ref](docs/Ref.md) - [Return](docs/Return.md) - [Tag](docs/Tag.md) - [TypeTesting](docs/TypeTesting.md) diff --git a/samples/client/petstore/rust/reqwest/petstore-avoid-box/docs/Ref.md b/samples/client/petstore/rust/reqwest/petstore-avoid-box/docs/Ref.md new file mode 100644 index 00000000000..04f9d0aa55a --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore-avoid-box/docs/Ref.md @@ -0,0 +1,11 @@ +# Ref + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dummy** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/client/petstore/rust/reqwest/petstore-avoid-box/src/models/mod.rs b/samples/client/petstore/rust/reqwest/petstore-avoid-box/src/models/mod.rs index fa16eac3cac..884357e8604 100644 --- a/samples/client/petstore/rust/reqwest/petstore-avoid-box/src/models/mod.rs +++ b/samples/client/petstore/rust/reqwest/petstore-avoid-box/src/models/mod.rs @@ -20,6 +20,8 @@ pub mod pet; pub use self::pet::Pet; pub mod property_test; pub use self::property_test::PropertyTest; +pub mod model_ref; +pub use self::model_ref::Ref; pub mod model_return; pub use self::model_return::Return; pub mod tag; diff --git a/samples/client/petstore/rust/reqwest/petstore-avoid-box/src/models/model_ref.rs b/samples/client/petstore/rust/reqwest/petstore-avoid-box/src/models/model_ref.rs new file mode 100644 index 00000000000..cd0928bf9c2 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore-avoid-box/src/models/model_ref.rs @@ -0,0 +1,28 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; + +/// Ref : using reserved word as model name +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Ref { + #[serde(rename = "dummy", skip_serializing_if = "Option::is_none")] + pub dummy: Option, +} + +impl Ref { + /// using reserved word as model name + pub fn new() -> Ref { + Ref { + dummy: None, + } + } +} + diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/FILES index 17419c0ea7c..bcfaf169317 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/FILES +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/.openapi-generator/FILES @@ -15,6 +15,7 @@ docs/Order.md docs/Pet.md docs/PetApi.md docs/PropertyTest.md +docs/Ref.md docs/Return.md docs/StoreApi.md docs/Tag.md @@ -39,6 +40,7 @@ src/models/baz.rs src/models/category.rs src/models/enum_array_testing.rs src/models/mod.rs +src/models/model_ref.rs src/models/model_return.rs src/models/nullable_array.rs src/models/optional_testing.rs diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/README.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/README.md index 4fa05f684bd..64b4273b0b0 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/README.md +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/README.md @@ -64,6 +64,7 @@ Class | Method | HTTP request | Description - [Order](docs/Order.md) - [Pet](docs/Pet.md) - [PropertyTest](docs/PropertyTest.md) + - [Ref](docs/Ref.md) - [Return](docs/Return.md) - [Tag](docs/Tag.md) - [TypeTesting](docs/TypeTesting.md) diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/Ref.md b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/Ref.md new file mode 100644 index 00000000000..04f9d0aa55a --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/docs/Ref.md @@ -0,0 +1,11 @@ +# Ref + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dummy** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/models/mod.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/models/mod.rs index fa16eac3cac..884357e8604 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/models/mod.rs +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/models/mod.rs @@ -20,6 +20,8 @@ pub mod pet; pub use self::pet::Pet; pub mod property_test; pub use self::property_test::PropertyTest; +pub mod model_ref; +pub use self::model_ref::Ref; pub mod model_return; pub use self::model_return::Return; pub mod tag; diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/models/model_ref.rs b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/models/model_ref.rs new file mode 100644 index 00000000000..cd0928bf9c2 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/src/models/model_ref.rs @@ -0,0 +1,28 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; + +/// Ref : using reserved word as model name +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Ref { + #[serde(rename = "dummy", skip_serializing_if = "Option::is_none")] + pub dummy: Option, +} + +impl Ref { + /// using reserved word as model name + pub fn new() -> Ref { + Ref { + dummy: None, + } + } +} + diff --git a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES index 17419c0ea7c..bcfaf169317 100644 --- a/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES +++ b/samples/client/petstore/rust/reqwest/petstore/.openapi-generator/FILES @@ -15,6 +15,7 @@ docs/Order.md docs/Pet.md docs/PetApi.md docs/PropertyTest.md +docs/Ref.md docs/Return.md docs/StoreApi.md docs/Tag.md @@ -39,6 +40,7 @@ src/models/baz.rs src/models/category.rs src/models/enum_array_testing.rs src/models/mod.rs +src/models/model_ref.rs src/models/model_return.rs src/models/nullable_array.rs src/models/optional_testing.rs diff --git a/samples/client/petstore/rust/reqwest/petstore/README.md b/samples/client/petstore/rust/reqwest/petstore/README.md index 7c8c3134d5a..0cb312b2633 100644 --- a/samples/client/petstore/rust/reqwest/petstore/README.md +++ b/samples/client/petstore/rust/reqwest/petstore/README.md @@ -64,6 +64,7 @@ Class | Method | HTTP request | Description - [Order](docs/Order.md) - [Pet](docs/Pet.md) - [PropertyTest](docs/PropertyTest.md) + - [Ref](docs/Ref.md) - [Return](docs/Return.md) - [Tag](docs/Tag.md) - [TypeTesting](docs/TypeTesting.md) diff --git a/samples/client/petstore/rust/reqwest/petstore/docs/Ref.md b/samples/client/petstore/rust/reqwest/petstore/docs/Ref.md new file mode 100644 index 00000000000..04f9d0aa55a --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore/docs/Ref.md @@ -0,0 +1,11 @@ +# Ref + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dummy** | Option<**String**> | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/samples/client/petstore/rust/reqwest/petstore/src/models/mod.rs b/samples/client/petstore/rust/reqwest/petstore/src/models/mod.rs index fa16eac3cac..884357e8604 100644 --- a/samples/client/petstore/rust/reqwest/petstore/src/models/mod.rs +++ b/samples/client/petstore/rust/reqwest/petstore/src/models/mod.rs @@ -20,6 +20,8 @@ pub mod pet; pub use self::pet::Pet; pub mod property_test; pub use self::property_test::PropertyTest; +pub mod model_ref; +pub use self::model_ref::Ref; pub mod model_return; pub use self::model_return::Return; pub mod tag; diff --git a/samples/client/petstore/rust/reqwest/petstore/src/models/model_ref.rs b/samples/client/petstore/rust/reqwest/petstore/src/models/model_ref.rs new file mode 100644 index 00000000000..cd0928bf9c2 --- /dev/null +++ b/samples/client/petstore/rust/reqwest/petstore/src/models/model_ref.rs @@ -0,0 +1,28 @@ +/* + * OpenAPI Petstore + * + * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +use crate::models; + +/// Ref : using reserved word as model name +#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] +pub struct Ref { + #[serde(rename = "dummy", skip_serializing_if = "Option::is_none")] + pub dummy: Option, +} + +impl Ref { + /// using reserved word as model name + pub fn new() -> Ref { + Ref { + dummy: None, + } + } +} +