amazon_spapi/models/shipping/
container.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Container {
17 #[serde(rename = "containerType", skip_serializing_if = "Option::is_none")]
19 pub container_type: Option<ContainerType>,
20 #[serde(rename = "containerReferenceId")]
22 pub container_reference_id: String,
23 #[serde(rename = "value")]
24 pub value: Box<models::shipping::Currency>,
25 #[serde(rename = "dimensions")]
26 pub dimensions: Box<models::shipping::Dimensions>,
27 #[serde(rename = "items")]
29 pub items: Vec<models::shipping::ContainerItem>,
30 #[serde(rename = "weight")]
31 pub weight: Box<models::shipping::Weight>,
32}
33
34impl Container {
35 pub fn new(container_reference_id: String, value: models::shipping::Currency, dimensions: models::shipping::Dimensions, items: Vec<models::shipping::ContainerItem>, weight: models::shipping::Weight) -> Container {
37 Container {
38 container_type: None,
39 container_reference_id,
40 value: Box::new(value),
41 dimensions: Box::new(dimensions),
42 items,
43 weight: Box::new(weight),
44 }
45 }
46}
47#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
49pub enum ContainerType {
50 #[serde(rename = "PACKAGE")]
51 Package,
52}
53
54impl Default for ContainerType {
55 fn default() -> ContainerType {
56 Self::Package
57 }
58}
59