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 System {
    /// The symbol of the system.
    #[serde(rename = "symbol")]
    pub symbol: String,
    /// The symbol of the sector.
    #[serde(rename = "sectorSymbol")]
    pub sector_symbol: String,
    #[serde(rename = "type")]
    pub r#type: crate::models::SystemType,
    /// Position in the universe in the x axis.
    #[serde(rename = "x")]
    pub x: i32,
    /// Position in the universe in the y axis.
    #[serde(rename = "y")]
    pub y: i32,
    /// Waypoints in this system.
    #[serde(rename = "waypoints")]
    pub waypoints: Vec<crate::models::SystemWaypoint>,
    /// Factions that control this system.
    #[serde(rename = "factions")]
    pub factions: Vec<crate::models::SystemFaction>,
}

impl System {
    /// Create value with optional fields set to `None`.
    #[allow(clippy::too_many_arguments)]
    pub fn new(
        symbol: String,
        sector_symbol: String,
        r#type: crate::models::SystemType,
        x: i32,
        y: i32,
        waypoints: Vec<crate::models::SystemWaypoint>,
        factions: Vec<crate::models::SystemFaction>,
    ) -> System {
        System {
            symbol,
            sector_symbol,
            r#type,
            x,
            y,
            waypoints,
            factions,
        }
    }
}