artifacts-rs 1.5.1

Rust client for Artifacts
Documentation
use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
pub struct FakeCharacterSchema {
    /// Character level.
    #[serde(rename = "level")]
    pub level: u32,
    /// Weapon slot item code.
    #[serde(rename = "weapon_slot", skip_serializing_if = "Option::is_none")]
    pub weapon_slot: Option<String>,
    /// Rune slot item code.
    #[serde(rename = "rune_slot", skip_serializing_if = "Option::is_none")]
    pub rune_slot: Option<String>,
    /// Shield slot item code.
    #[serde(rename = "shield_slot", skip_serializing_if = "Option::is_none")]
    pub shield_slot: Option<String>,
    /// Helmet slot item code.
    #[serde(rename = "helmet_slot", skip_serializing_if = "Option::is_none")]
    pub helmet_slot: Option<String>,
    /// Body armor slot item code.
    #[serde(rename = "body_armor_slot", skip_serializing_if = "Option::is_none")]
    pub body_armor_slot: Option<String>,
    /// Leg armor slot item code.
    #[serde(rename = "leg_armor_slot", skip_serializing_if = "Option::is_none")]
    pub leg_armor_slot: Option<String>,
    /// Boots slot item code.
    #[serde(rename = "boots_slot", skip_serializing_if = "Option::is_none")]
    pub boots_slot: Option<String>,
    /// Ring 1 slot item code.
    #[serde(rename = "ring1_slot", skip_serializing_if = "Option::is_none")]
    pub ring1_slot: Option<String>,
    /// Ring 2 slot item code.
    #[serde(rename = "ring2_slot", skip_serializing_if = "Option::is_none")]
    pub ring2_slot: Option<String>,
    /// Amulet slot item code.
    #[serde(rename = "amulet_slot", skip_serializing_if = "Option::is_none")]
    pub amulet_slot: Option<String>,
    /// Artifact 1 slot item code.
    #[serde(rename = "artifact1_slot", skip_serializing_if = "Option::is_none")]
    pub artifact1_slot: Option<String>,
    /// Artifact 2 slot item code.
    #[serde(rename = "artifact2_slot", skip_serializing_if = "Option::is_none")]
    pub artifact2_slot: Option<String>,
    /// Artifact 3 slot item code.
    #[serde(rename = "artifact3_slot", skip_serializing_if = "Option::is_none")]
    pub artifact3_slot: Option<String>,
    /// Utility 1 slot item code.
    #[serde(rename = "utility1_slot", skip_serializing_if = "Option::is_none")]
    pub utility1_slot: Option<String>,
    /// Utility 1 quantity.
    #[serde(
        rename = "utility1_slot_quantity",
        skip_serializing_if = "Option::is_none"
    )]
    pub utility1_slot_quantity: Option<u32>,
    /// Utility 2 slot item code.
    #[serde(rename = "utility2_slot", skip_serializing_if = "Option::is_none")]
    pub utility2_slot: Option<String>,
    /// Utility 2 quantity.
    #[serde(
        rename = "utility2_slot_quantity",
        skip_serializing_if = "Option::is_none"
    )]
    pub utility2_slot_quantity: Option<u32>,
}

impl FakeCharacterSchema {
    pub fn new(level: u32) -> FakeCharacterSchema {
        FakeCharacterSchema {
            level,
            weapon_slot: None,
            rune_slot: None,
            shield_slot: None,
            helmet_slot: None,
            body_armor_slot: None,
            leg_armor_slot: None,
            boots_slot: None,
            ring1_slot: None,
            ring2_slot: None,
            amulet_slot: None,
            artifact1_slot: None,
            artifact2_slot: None,
            artifact3_slot: None,
            utility1_slot: None,
            utility1_slot_quantity: None,
            utility2_slot: None,
            utility2_slot_quantity: None,
        }
    }
}