artifacts/models/
character_leaderboard_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 CharacterLeaderboardSchema {
7 #[serde(rename = "position")]
9 pub position: i32,
10 #[serde(rename = "name")]
12 pub name: String,
13 #[serde(rename = "account")]
15 pub account: String,
16 #[serde(rename = "status")]
18 pub status: models::AccountStatus,
19 #[serde(rename = "skin")]
21 pub skin: String,
22 #[serde(rename = "level")]
24 pub level: i32,
25 #[serde(rename = "total_xp")]
27 pub total_xp: i32,
28 #[serde(rename = "mining_level")]
30 pub mining_level: i32,
31 #[serde(rename = "mining_total_xp")]
33 pub mining_total_xp: i32,
34 #[serde(rename = "woodcutting_level")]
36 pub woodcutting_level: i32,
37 #[serde(rename = "woodcutting_total_xp")]
39 pub woodcutting_total_xp: i32,
40 #[serde(rename = "fishing_level")]
42 pub fishing_level: i32,
43 #[serde(rename = "fishing_total_xp")]
45 pub fishing_total_xp: i32,
46 #[serde(rename = "weaponcrafting_level")]
48 pub weaponcrafting_level: i32,
49 #[serde(rename = "weaponcrafting_total_xp")]
51 pub weaponcrafting_total_xp: i32,
52 #[serde(rename = "gearcrafting_level")]
54 pub gearcrafting_level: i32,
55 #[serde(rename = "gearcrafting_total_xp")]
57 pub gearcrafting_total_xp: i32,
58 #[serde(rename = "jewelrycrafting_level")]
60 pub jewelrycrafting_level: i32,
61 #[serde(rename = "jewelrycrafting_total_xp")]
63 pub jewelrycrafting_total_xp: i32,
64 #[serde(rename = "cooking_level")]
66 pub cooking_level: i32,
67 #[serde(rename = "cooking_total_xp")]
69 pub cooking_total_xp: i32,
70 #[serde(rename = "alchemy_level")]
72 pub alchemy_level: i32,
73 #[serde(rename = "alchemy_total_xp")]
75 pub alchemy_total_xp: i32,
76 #[serde(rename = "gold")]
78 pub gold: i32,
79}
80
81impl CharacterLeaderboardSchema {
82 pub fn new(
83 position: i32,
84 name: String,
85 account: String,
86 status: models::AccountStatus,
87 skin: String,
88 level: i32,
89 total_xp: i32,
90 mining_level: i32,
91 mining_total_xp: i32,
92 woodcutting_level: i32,
93 woodcutting_total_xp: i32,
94 fishing_level: i32,
95 fishing_total_xp: i32,
96 weaponcrafting_level: i32,
97 weaponcrafting_total_xp: i32,
98 gearcrafting_level: i32,
99 gearcrafting_total_xp: i32,
100 jewelrycrafting_level: i32,
101 jewelrycrafting_total_xp: i32,
102 cooking_level: i32,
103 cooking_total_xp: i32,
104 alchemy_level: i32,
105 alchemy_total_xp: i32,
106 gold: i32,
107 ) -> CharacterLeaderboardSchema {
108 CharacterLeaderboardSchema {
109 position,
110 name,
111 account,
112 status,
113 skin,
114 level,
115 total_xp,
116 mining_level,
117 mining_total_xp,
118 woodcutting_level,
119 woodcutting_total_xp,
120 fishing_level,
121 fishing_total_xp,
122 weaponcrafting_level,
123 weaponcrafting_total_xp,
124 gearcrafting_level,
125 gearcrafting_total_xp,
126 jewelrycrafting_level,
127 jewelrycrafting_total_xp,
128 cooking_level,
129 cooking_total_xp,
130 alchemy_level,
131 alchemy_total_xp,
132 gold,
133 }
134 }
135}