Skip to main content

artifacts/models/
fake_character_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct FakeCharacterSchema {
7    /// Character level.
8    #[serde(rename = "level")]
9    pub level: u32,
10    /// Weapon slot item code.
11    #[serde(rename = "weapon_slot", skip_serializing_if = "Option::is_none")]
12    pub weapon_slot: Option<String>,
13    /// Rune slot item code.
14    #[serde(rename = "rune_slot", skip_serializing_if = "Option::is_none")]
15    pub rune_slot: Option<String>,
16    /// Shield slot item code.
17    #[serde(rename = "shield_slot", skip_serializing_if = "Option::is_none")]
18    pub shield_slot: Option<String>,
19    /// Helmet slot item code.
20    #[serde(rename = "helmet_slot", skip_serializing_if = "Option::is_none")]
21    pub helmet_slot: Option<String>,
22    /// Body armor slot item code.
23    #[serde(rename = "body_armor_slot", skip_serializing_if = "Option::is_none")]
24    pub body_armor_slot: Option<String>,
25    /// Leg armor slot item code.
26    #[serde(rename = "leg_armor_slot", skip_serializing_if = "Option::is_none")]
27    pub leg_armor_slot: Option<String>,
28    /// Boots slot item code.
29    #[serde(rename = "boots_slot", skip_serializing_if = "Option::is_none")]
30    pub boots_slot: Option<String>,
31    /// Ring 1 slot item code.
32    #[serde(rename = "ring1_slot", skip_serializing_if = "Option::is_none")]
33    pub ring1_slot: Option<String>,
34    /// Ring 2 slot item code.
35    #[serde(rename = "ring2_slot", skip_serializing_if = "Option::is_none")]
36    pub ring2_slot: Option<String>,
37    /// Amulet slot item code.
38    #[serde(rename = "amulet_slot", skip_serializing_if = "Option::is_none")]
39    pub amulet_slot: Option<String>,
40    /// Artifact 1 slot item code.
41    #[serde(rename = "artifact1_slot", skip_serializing_if = "Option::is_none")]
42    pub artifact1_slot: Option<String>,
43    /// Artifact 2 slot item code.
44    #[serde(rename = "artifact2_slot", skip_serializing_if = "Option::is_none")]
45    pub artifact2_slot: Option<String>,
46    /// Artifact 3 slot item code.
47    #[serde(rename = "artifact3_slot", skip_serializing_if = "Option::is_none")]
48    pub artifact3_slot: Option<String>,
49    /// Utility 1 slot item code.
50    #[serde(rename = "utility1_slot", skip_serializing_if = "Option::is_none")]
51    pub utility1_slot: Option<String>,
52    /// Utility 1 quantity.
53    #[serde(
54        rename = "utility1_slot_quantity",
55        skip_serializing_if = "Option::is_none"
56    )]
57    pub utility1_slot_quantity: Option<u32>,
58    /// Utility 2 slot item code.
59    #[serde(rename = "utility2_slot", skip_serializing_if = "Option::is_none")]
60    pub utility2_slot: Option<String>,
61    /// Utility 2 quantity.
62    #[serde(
63        rename = "utility2_slot_quantity",
64        skip_serializing_if = "Option::is_none"
65    )]
66    pub utility2_slot_quantity: Option<u32>,
67}
68
69impl FakeCharacterSchema {
70    pub fn new(level: u32) -> FakeCharacterSchema {
71        FakeCharacterSchema {
72            level,
73            weapon_slot: None,
74            rune_slot: None,
75            shield_slot: None,
76            helmet_slot: None,
77            body_armor_slot: None,
78            leg_armor_slot: None,
79            boots_slot: None,
80            ring1_slot: None,
81            ring2_slot: None,
82            amulet_slot: None,
83            artifact1_slot: None,
84            artifact2_slot: None,
85            artifact3_slot: None,
86            utility1_slot: None,
87            utility1_slot_quantity: None,
88            utility2_slot: None,
89            utility2_slot_quantity: None,
90        }
91    }
92}