use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AssociatedItem {
#[serde(rename = "asin", skip_serializing_if = "Option::is_none")]
pub asin: Option<String>,
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "quantity", skip_serializing_if = "Option::is_none")]
pub quantity: Option<i32>,
#[serde(rename = "orderId", skip_serializing_if = "Option::is_none")]
pub order_id: Option<String>,
#[serde(rename = "itemStatus", skip_serializing_if = "Option::is_none")]
pub item_status: Option<ItemStatus>,
#[serde(rename = "brandName", skip_serializing_if = "Option::is_none")]
pub brand_name: Option<String>,
#[serde(rename = "itemDelivery", skip_serializing_if = "Option::is_none")]
pub item_delivery: Option<Box<models::services::ItemDelivery>>,
}
impl AssociatedItem {
pub fn new() -> AssociatedItem {
AssociatedItem {
asin: None,
title: None,
quantity: None,
order_id: None,
item_status: None,
brand_name: None,
item_delivery: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ItemStatus {
#[serde(rename = "ACTIVE")]
Active,
#[serde(rename = "CANCELLED")]
Cancelled,
#[serde(rename = "SHIPPED")]
Shipped,
#[serde(rename = "DELIVERED")]
Delivered,
}
impl Default for ItemStatus {
fn default() -> ItemStatus {
Self::Active
}
}