space-traders 0.1.1

Async SpaceTraders API client for Rust.
Documentation
//! Generated by: <https://openapi-generator.tech>
//!
//! Version of specification: `2.0.0`

use serde::{Deserialize, Serialize};

///
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ShipRefineRequest {
    /// The type of good to produce out of the refining process.
    #[serde(rename = "produce")]
    pub produce: Produce,
}

impl ShipRefineRequest {
    /// Create value with optional fields set to `None`.
    #[allow(clippy::too_many_arguments)]
    pub fn new(produce: Produce) -> ShipRefineRequest {
        ShipRefineRequest { produce }
    }
}

/// The type of good to produce out of the refining process.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Produce {
    #[serde(rename = "IRON")]
    Iron,
    #[serde(rename = "COPPER")]
    Copper,
    #[serde(rename = "SILVER")]
    Silver,
    #[serde(rename = "GOLD")]
    Gold,
    #[serde(rename = "ALUMINUM")]
    Aluminum,
    #[serde(rename = "PLATINUM")]
    Platinum,
    #[serde(rename = "URANITE")]
    Uranite,
    #[serde(rename = "MERITIUM")]
    Meritium,
    #[serde(rename = "FUEL")]
    Fuel,
}

impl Default for Produce {
    fn default() -> Produce {
        Self::Iron
    }
}