Commit 6faf16ec authored by Nugine's avatar Nugine
Browse files

feat(codegen/dto): derive serde for Tagging

parent cdf9b158
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -386,6 +386,8 @@ pub fn codegen(rust_types: &RustTypes, ops: &Operations) {
        "use std::str::FromStr;",
        "",
        "use stdx::default::default;",
        "use serde::{Serialize, Deserialize};",
        "",
    ]);

    for rust_type in rust_types.values() {
@@ -614,6 +616,11 @@ fn struct_derives(ty: &rust::Struct, rust_types: &RustTypes) -> Vec<&'static str
    if can_derive_partial_eq(ty, rust_types) {
        derives.push("PartialEq");
    }
    // What to do with other types?
    if ty.name == "Tagging" || ty.name == "Tag" {
        derives.push("Serialize");
        derives.push("Deserialize");
    }
    derives
}

+4 −2
Original line number Diff line number Diff line
@@ -10,7 +10,9 @@ use std::convert::Infallible;
use std::fmt;
use std::str::FromStr;
use serde::{Deserialize, Serialize};
use stdx::default::default;
pub type AbortDate = Timestamp;
/// <p>Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will
@@ -19518,7 +19520,7 @@ impl FromStr for StorageClassAnalysisSchemaVersion {
pub type Suffix = String;
/// <p>A container of a key value name pair.</p>
#[derive(Clone, Default, PartialEq)]
#[derive(Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Tag {
    /// <p>Name of the object key.</p>
    pub key: Option<ObjectKey>,
@@ -19544,7 +19546,7 @@ pub type TagCount = i32;
pub type TagSet = List<Tag>;
/// <p>Container for <code>TagSet</code> elements.</p>
#[derive(Clone, Default, PartialEq)]
#[derive(Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Tagging {
    /// <p>A collection for a set of tags</p>
    pub tag_set: TagSet,