amazon-spapi 2.0.3

A Rust client library for Amazon Selling Partner API (SP-API)
Documentation
/*
 * Selling Partner API for Retail Procurement Orders
 *
 * The Selling Partner API for Retail Procurement Orders provides programmatic access to vendor orders data.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// Order : Represents an order placed by Amazon, including the purchase order number, current state, and order details.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Order {
    /// The purchase order number for this order. Formatting Notes: 8-character alpha-numeric code.
    #[serde(rename = "purchaseOrderNumber")]
    pub purchase_order_number: String,
    /// This field will contain the current state of the purchase order.
    #[serde(rename = "purchaseOrderState")]
    pub purchase_order_state: PurchaseOrderState,
    #[serde(rename = "orderDetails", skip_serializing_if = "Option::is_none")]
    pub order_details: Option<Box<models::vendor_orders::OrderDetails>>,
}

impl Order {
    /// Represents an order placed by Amazon, including the purchase order number, current state, and order details.
    pub fn new(purchase_order_number: String, purchase_order_state: PurchaseOrderState) -> Order {
        Order {
            purchase_order_number,
            purchase_order_state,
            order_details: None,
        }
    }
}
/// This field will contain the current state of the purchase order.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PurchaseOrderState {
    #[serde(rename = "New")]
    New,
    #[serde(rename = "Acknowledged")]
    Acknowledged,
    #[serde(rename = "Closed")]
    Closed,
}

impl Default for PurchaseOrderState {
    fn default() -> PurchaseOrderState {
        Self::New
    }
}