use crate::Request;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct PddGoodsSizespecTemplateAdd {
#[serde(rename = "size_spec_dto")]
pub size_spec_dto: Option<SizeSpecDto>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct SizeSpecDto {
#[serde(rename = "class_id")]
pub class_id: Option<i32>,
#[serde(rename = "content")]
pub content: Option<Content>,
#[serde(rename = "name")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct Content {
#[serde(rename = "meta")]
pub meta: Option<Meta>,
#[serde(rename = "records")]
pub records: Option<Vec<Records>>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct Groups {
#[serde(rename = "id")]
pub id: Option<i32>,
#[serde(rename = "name")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct Values {
#[serde(rename = "$key")]
pub key: Option<i32>,
#[serde(rename = "$value")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct Elements {
#[serde(rename = "id")]
pub id: Option<i32>,
#[serde(rename = "name")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct Meta {
#[serde(rename = "elements")]
pub elements: Option<Vec<Elements>>,
#[serde(rename = "groups")]
pub groups: Option<Vec<Groups>>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct Records {
#[serde(rename = "values")]
pub values: Option<Values>,
}
impl Request for PddGoodsSizespecTemplateAdd {
fn get_type() -> String {
"pdd.goods.sizespec.template.add".to_string()
}
fn get_response_name() -> String {
"response".to_string()
}
}