forked from loafle/openapi-generator-original
[Rust] Derive more traits (#4142)
* Simple enums: add: Clone, Copy, Eq, Ord, PartialOrd, Hash * Structs and complex enums: add `Clone`
This commit is contained in:
parent
518c33a209
commit
6e2e542f83
@ -8,7 +8,7 @@
|
|||||||
{{!-- for enum schemas --}}
|
{{!-- for enum schemas --}}
|
||||||
{{#isEnum}}
|
{{#isEnum}}
|
||||||
/// {{{description}}}
|
/// {{{description}}}
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
pub enum {{classname}} {
|
pub enum {{classname}} {
|
||||||
{{#allowableValues}}
|
{{#allowableValues}}
|
||||||
{{#enumVars}}
|
{{#enumVars}}
|
||||||
@ -20,7 +20,7 @@ pub enum {{classname}} {
|
|||||||
|
|
||||||
{{!-- for schemas that have a discriminator --}}
|
{{!-- for schemas that have a discriminator --}}
|
||||||
{{#discriminator}}
|
{{#discriminator}}
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
#[serde(tag = "{{{vendorExtensions.tagName}}}")]
|
#[serde(tag = "{{{vendorExtensions.tagName}}}")]
|
||||||
pub enum {{classname}} {
|
pub enum {{classname}} {
|
||||||
{{#vendorExtensions}}
|
{{#vendorExtensions}}
|
||||||
@ -44,7 +44,7 @@ pub enum {{classname}} {
|
|||||||
{{!-- for non-enum schemas --}}
|
{{!-- for non-enum schemas --}}
|
||||||
{{^isEnum}}
|
{{^isEnum}}
|
||||||
{{^discriminator}}
|
{{^discriminator}}
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct {{{classname}}} {
|
pub struct {{{classname}}} {
|
||||||
{{#vars}}
|
{{#vars}}
|
||||||
{{#description}}
|
{{#description}}
|
||||||
@ -74,7 +74,7 @@ impl {{{classname}}} {
|
|||||||
{{#vars}}
|
{{#vars}}
|
||||||
{{#isEnum}}
|
{{#isEnum}}
|
||||||
/// {{{description}}}
|
/// {{{description}}}
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
pub enum {{enumName}} {
|
pub enum {{enumName}} {
|
||||||
{{#allowableValues}}
|
{{#allowableValues}}
|
||||||
{{#enumVars}}
|
{{#enumVars}}
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct ApiResponse {
|
pub struct ApiResponse {
|
||||||
#[serde(rename = "code", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "code", skip_serializing_if = "Option::is_none")]
|
||||||
pub code: Option<i32>,
|
pub code: Option<i32>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Category {
|
pub struct Category {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Order {
|
pub struct Order {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
@ -44,7 +44,7 @@ impl Order {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Order Status
|
/// Order Status
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
pub enum Status {
|
pub enum Status {
|
||||||
#[serde(rename = "placed")]
|
#[serde(rename = "placed")]
|
||||||
Placed,
|
Placed,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Pet {
|
pub struct Pet {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
@ -44,7 +44,7 @@ impl Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// pet status in the store
|
/// pet status in the store
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
pub enum Status {
|
pub enum Status {
|
||||||
#[serde(rename = "available")]
|
#[serde(rename = "available")]
|
||||||
Available,
|
Available,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Tag {
|
pub struct Tag {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct User {
|
pub struct User {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct TypeTesting {
|
pub struct TypeTesting {
|
||||||
#[serde(rename = "integer", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "integer", skip_serializing_if = "Option::is_none")]
|
||||||
pub integer: Option<i32>,
|
pub integer: Option<i32>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct ApiResponse {
|
pub struct ApiResponse {
|
||||||
#[serde(rename = "code", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "code", skip_serializing_if = "Option::is_none")]
|
||||||
pub code: Option<i32>,
|
pub code: Option<i32>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Category {
|
pub struct Category {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Order {
|
pub struct Order {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
@ -44,7 +44,7 @@ impl Order {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Order Status
|
/// Order Status
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
pub enum Status {
|
pub enum Status {
|
||||||
#[serde(rename = "placed")]
|
#[serde(rename = "placed")]
|
||||||
Placed,
|
Placed,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Pet {
|
pub struct Pet {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
@ -44,7 +44,7 @@ impl Pet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// pet status in the store
|
/// pet status in the store
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
|
||||||
pub enum Status {
|
pub enum Status {
|
||||||
#[serde(rename = "available")]
|
#[serde(rename = "available")]
|
||||||
Available,
|
Available,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct Tag {
|
pub struct Tag {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct User {
|
pub struct User {
|
||||||
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<i64>,
|
pub id: Option<i64>,
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct TypeTesting {
|
pub struct TypeTesting {
|
||||||
#[serde(rename = "integer", skip_serializing_if = "Option::is_none")]
|
#[serde(rename = "integer", skip_serializing_if = "Option::is_none")]
|
||||||
pub integer: Option<i32>,
|
pub integer: Option<i32>,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user