amazon-spapi 2.0.3

A Rust client library for Amazon Selling Partner API (SP-API)
Documentation
/*
 * Selling Partner API for Retail Procurement Transaction Status
 *
 * The Selling Partner API for Retail Procurement Transaction Status provides programmatic access to status information on specific asynchronous POST transactions for vendors.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

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

/// Transaction : The transaction status.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Transaction {
    /// The unique identifier returned in the 'transactionId' field in response to the post request of a specific transaction.
    #[serde(rename = "transactionId")]
    pub transaction_id: String,
    /// Current processing status of the transaction.
    #[serde(rename = "status")]
    pub status: Status,
    /// A list of error responses returned when a request is unsuccessful.
    #[serde(rename = "errors", skip_serializing_if = "Option::is_none")]
    pub errors: Option<Vec<models::vendor_transaction_status::Error>>,
}

impl Transaction {
    /// The transaction status.
    pub fn new(transaction_id: String, status: Status) -> Transaction {
        Transaction {
            transaction_id,
            status,
            errors: None,
        }
    }
}
/// Current processing status of the transaction.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
    #[serde(rename = "Failure")]
    Failure,
    #[serde(rename = "Processing")]
    Processing,
    #[serde(rename = "Success")]
    Success,
}

impl Default for Status {
    fn default() -> Status {
        Self::Failure
    }
}