artifacts/models/
fake_character_schema.rs1use 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 #[serde(rename = "level")]
9 pub level: u32,
10 #[serde(rename = "weapon_slot", skip_serializing_if = "Option::is_none")]
12 pub weapon_slot: Option<String>,
13 #[serde(rename = "rune_slot", skip_serializing_if = "Option::is_none")]
15 pub rune_slot: Option<String>,
16 #[serde(rename = "shield_slot", skip_serializing_if = "Option::is_none")]
18 pub shield_slot: Option<String>,
19 #[serde(rename = "helmet_slot", skip_serializing_if = "Option::is_none")]
21 pub helmet_slot: Option<String>,
22 #[serde(rename = "body_armor_slot", skip_serializing_if = "Option::is_none")]
24 pub body_armor_slot: Option<String>,
25 #[serde(rename = "leg_armor_slot", skip_serializing_if = "Option::is_none")]
27 pub leg_armor_slot: Option<String>,
28 #[serde(rename = "boots_slot", skip_serializing_if = "Option::is_none")]
30 pub boots_slot: Option<String>,
31 #[serde(rename = "ring1_slot", skip_serializing_if = "Option::is_none")]
33 pub ring1_slot: Option<String>,
34 #[serde(rename = "ring2_slot", skip_serializing_if = "Option::is_none")]
36 pub ring2_slot: Option<String>,
37 #[serde(rename = "amulet_slot", skip_serializing_if = "Option::is_none")]
39 pub amulet_slot: Option<String>,
40 #[serde(rename = "artifact1_slot", skip_serializing_if = "Option::is_none")]
42 pub artifact1_slot: Option<String>,
43 #[serde(rename = "artifact2_slot", skip_serializing_if = "Option::is_none")]
45 pub artifact2_slot: Option<String>,
46 #[serde(rename = "artifact3_slot", skip_serializing_if = "Option::is_none")]
48 pub artifact3_slot: Option<String>,
49 #[serde(rename = "utility1_slot", skip_serializing_if = "Option::is_none")]
51 pub utility1_slot: Option<String>,
52 #[serde(
54 rename = "utility1_slot_quantity",
55 skip_serializing_if = "Option::is_none"
56 )]
57 pub utility1_slot_quantity: Option<u32>,
58 #[serde(rename = "utility2_slot", skip_serializing_if = "Option::is_none")]
60 pub utility2_slot: Option<String>,
61 #[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}