mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 04:30:51 +00:00
Remove duplicate oneOf schemas during pre-processing (#21174)
* fix: Remove duplicate oneOf schemas during pre-processing * chore: Updated samples * fix: Fixed regression with oneOf+discriminator * fix: Fixed possible null pointer during schema preprocessing * refactor: Moved oneOf deduplication to OpenAPINormalizer
This commit is contained in:
parent
104ceb9c16
commit
652d4ed95c
@ -922,6 +922,9 @@ public class OpenAPINormalizer {
|
||||
}
|
||||
|
||||
protected Schema normalizeOneOf(Schema schema, Set<Schema> visitedSchemas) {
|
||||
// Remove duplicate oneOf entries
|
||||
ModelUtils.deduplicateOneOfSchema(schema);
|
||||
|
||||
// simplify first as the schema may no longer be a oneOf after processing the rule below
|
||||
schema = processSimplifyOneOf(schema);
|
||||
|
||||
|
@ -2243,6 +2243,23 @@ public class ModelUtils {
|
||||
return schema;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes duplicate `oneOf` from a given schema if it does not also have a discriminator.
|
||||
*
|
||||
* @param schema Schema
|
||||
*/
|
||||
public static void deduplicateOneOfSchema(Schema<?> schema) {
|
||||
if (schema.getOneOf() == null) {
|
||||
return;
|
||||
}
|
||||
if (schema.getDiscriminator() != null) {
|
||||
return; // Duplicate oneOf are allowed if there is a discriminator that can be used to separate them.
|
||||
}
|
||||
|
||||
Set<Schema> deduplicated = new LinkedHashSet<>(schema.getOneOf());
|
||||
schema.setOneOf(new ArrayList<>(deduplicated));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the schema is of type 'null' or schema itself is pointing to null
|
||||
* <p>
|
||||
|
@ -1107,3 +1107,16 @@ components:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/existing_tags_array'
|
||||
- description: This is a test for allOf with metadata only fields
|
||||
DuplicateOneOf:
|
||||
type: object
|
||||
oneOf:
|
||||
- $ref: '#/components/schemas/Order'
|
||||
- $ref: '#/components/schemas/Order'
|
||||
WithInnerOneOf:
|
||||
type: object
|
||||
properties:
|
||||
foo:
|
||||
type: object
|
||||
oneOf:
|
||||
- $ref: '#/components/schemas/Order'
|
||||
- $ref: '#/components/schemas/Order'
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/client.rs
|
||||
src/apis/configuration.rs
|
||||
@ -69,3 +70,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::Order>>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/configuration.rs
|
||||
src/apis/fake_api.rs
|
||||
@ -67,3 +68,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::Order>>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/configuration.rs
|
||||
src/apis/fake_api.rs
|
||||
@ -67,3 +68,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
shipped,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::Order>>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
shipped,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/configuration.rs
|
||||
src/apis/fake_api.rs
|
||||
@ -67,3 +68,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::Order>>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/configuration.rs
|
||||
src/apis/fake_api.rs
|
||||
@ -67,3 +68,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::Order>>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/configuration.rs
|
||||
src/apis/fake_api.rs
|
||||
@ -67,3 +68,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::Order>>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/configuration.rs
|
||||
src/apis/fake_api.rs
|
||||
@ -67,3 +68,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(models::Order),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<models::Order>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(models::Order),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/configuration.rs
|
||||
src/apis/fake_api.rs
|
||||
@ -67,3 +68,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::Order>>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
Delivered,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ docs/FooTypeTesting.md
|
||||
docs/FooUniqueItemArrayTesting.md
|
||||
docs/FooUser.md
|
||||
docs/FooVehicle.md
|
||||
docs/FooWithInnerOneOf.md
|
||||
docs/PetApi.md
|
||||
docs/StoreApi.md
|
||||
docs/TestingApi.md
|
||||
@ -66,4 +67,5 @@ src/models/foo_type_testing.rs
|
||||
src/models/foo_unique_item_array_testing.rs
|
||||
src/models/foo_user.rs
|
||||
src/models/foo_vehicle.rs
|
||||
src/models/foo_with_inner_one_of.rs
|
||||
src/models/mod.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [FooUniqueItemArrayTesting](docs/FooUniqueItemArrayTesting.md)
|
||||
- [FooUser](docs/FooUser.md)
|
||||
- [FooVehicle](docs/FooVehicle.md)
|
||||
- [FooWithInnerOneOf](docs/FooWithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# FooDuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| FooOrder | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# FooWithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::FooOrder**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# FooWithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| FooOrder | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum FooDuplicateOneOf {
|
||||
FooOrder(Box<models::FooOrder>),
|
||||
}
|
||||
|
||||
impl Default for FooDuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::FooOrder(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
shipped,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct FooWithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::FooOrder>>,
|
||||
}
|
||||
|
||||
impl FooWithInnerOneOf {
|
||||
pub fn new() -> FooWithInnerOneOf {
|
||||
FooWithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum FooWithInnerOneOfFoo {
|
||||
FooOrder(Box<models::FooOrder>),
|
||||
}
|
||||
|
||||
impl Default for FooWithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::FooOrder(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
shipped,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod foo_user;
|
||||
pub use self::foo_user::FooUser;
|
||||
pub mod foo_vehicle;
|
||||
pub use self::foo_vehicle::FooVehicle;
|
||||
pub mod foo_with_inner_one_of;
|
||||
pub use self::foo_with_inner_one_of::FooWithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -32,6 +32,7 @@ docs/UniqueItemArrayTesting.md
|
||||
docs/User.md
|
||||
docs/UserApi.md
|
||||
docs/Vehicle.md
|
||||
docs/WithInnerOneOf.md
|
||||
git_push.sh
|
||||
src/apis/configuration.rs
|
||||
src/apis/fake_api.rs
|
||||
@ -67,3 +68,4 @@ src/models/type_testing.rs
|
||||
src/models/unique_item_array_testing.rs
|
||||
src/models/user.rs
|
||||
src/models/vehicle.rs
|
||||
src/models/with_inner_one_of.rs
|
||||
|
@ -80,6 +80,7 @@ Class | Method | HTTP request | Description
|
||||
- [UniqueItemArrayTesting](docs/UniqueItemArrayTesting.md)
|
||||
- [User](docs/User.md)
|
||||
- [Vehicle](docs/Vehicle.md)
|
||||
- [WithInnerOneOf](docs/WithInnerOneOf.md)
|
||||
|
||||
|
||||
To get access to the crate's generated documentation, use:
|
||||
|
@ -0,0 +1,11 @@
|
||||
# DuplicateOneOf
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOf
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**foo** | Option<[**models::Order**](Order.md)> | | [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)
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
# WithInnerOneOfFoo
|
||||
|
||||
## Enum Variants
|
||||
|
||||
| Name | Description |
|
||||
|---- | -----|
|
||||
| Order | |
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum DuplicateOneOf {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for DuplicateOneOf {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
shipped,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,8 @@ pub mod user;
|
||||
pub use self::user::User;
|
||||
pub mod vehicle;
|
||||
pub use self::vehicle::Vehicle;
|
||||
pub mod with_inner_one_of;
|
||||
pub use self::with_inner_one_of::WithInnerOneOf;
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
|
||||
use std::marker::PhantomData;
|
||||
|
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
|
||||
pub struct WithInnerOneOf {
|
||||
#[serde(rename = "foo", skip_serializing_if = "Option::is_none")]
|
||||
pub foo: Option<Box<models::Order>>,
|
||||
}
|
||||
|
||||
impl WithInnerOneOf {
|
||||
pub fn new() -> WithInnerOneOf {
|
||||
WithInnerOneOf {
|
||||
foo: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(untagged)]
|
||||
pub enum WithInnerOneOfFoo {
|
||||
Order(Box<models::Order>),
|
||||
}
|
||||
|
||||
impl Default for WithInnerOneOfFoo {
|
||||
fn default() -> Self {
|
||||
Self::Order(Default::default())
|
||||
}
|
||||
}
|
||||
/// Order Status
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||
pub enum Status {
|
||||
#[serde(rename = "placed")]
|
||||
Placed,
|
||||
#[serde(rename = "approved")]
|
||||
Approved,
|
||||
#[serde(rename = "delivered")]
|
||||
shipped,
|
||||
}
|
||||
|
||||
impl Default for Status {
|
||||
fn default() -> Status {
|
||||
Self::Placed
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user