hypixel/models/skyblock/
extras.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4use crate::models::common::JsonObject;
5
6#[derive(Debug, Clone, Deserialize, Serialize)]
8pub struct Museum {
9 #[serde(default)]
10 pub value: i64,
11 #[serde(default)]
12 pub appraisal: bool,
13 #[serde(default)]
14 pub items: Value,
15 #[serde(default)]
16 pub special: Vec<Value>,
17 #[serde(flatten)]
18 pub extra: JsonObject,
19}
20
21#[derive(Debug, Clone, Deserialize, Serialize)]
23pub struct Garden {
24 #[serde(default)]
25 pub uuid: String,
26 #[serde(rename = "garden_experience", default)]
27 pub garden_experience: i64,
28 #[serde(default)]
29 pub commission_data: Option<Value>,
30 #[serde(default)]
31 pub composter_data: Option<Value>,
32 #[serde(default)]
33 pub active_commissions: Option<Value>,
34 #[serde(default)]
35 pub resources_collected: Option<Value>,
36 #[serde(default)]
37 pub crop_upgrade_levels: Option<Value>,
38 #[serde(default)]
39 pub unlocked_plots_ids: Vec<String>,
40 #[serde(default)]
41 pub unlocked_barn_skins: Vec<String>,
42 #[serde(default)]
43 pub selected_barn_skin: Option<String>,
44 #[serde(flatten)]
45 pub extra: JsonObject,
46}
47
48#[derive(Debug, Clone, Deserialize, Serialize)]
50pub struct FireSale {
51 #[serde(default)]
52 pub item_id: String,
53 #[serde(default)]
54 pub start: i64,
55 #[serde(default)]
56 pub end: i64,
57 #[serde(default)]
58 pub amount: i64,
59 #[serde(default)]
60 pub price: i64,
61 #[serde(flatten)]
62 pub extra: JsonObject,
63}
64
65#[derive(Debug, Clone, Deserialize, Serialize)]
67pub struct NewsItem {
68 #[serde(default)]
69 pub item: Value,
70 #[serde(default)]
71 pub link: String,
72 #[serde(default)]
73 pub title: String,
74 #[serde(default)]
75 pub text: String,
76 #[serde(flatten)]
77 pub extra: JsonObject,
78}
79
80#[derive(Debug, Clone, Deserialize)]
81pub(crate) struct MuseumResponse {
82 pub profile: Option<Museum>,
83}
84
85#[derive(Debug, Clone, Deserialize)]
86pub(crate) struct GardenResponse {
87 pub garden: Option<Garden>,
88}
89
90#[derive(Debug, Clone, Deserialize)]
91pub(crate) struct FireSalesResponse {
92 #[serde(default)]
93 pub sales: Vec<FireSale>,
94}
95
96#[derive(Debug, Clone, Deserialize)]
97pub(crate) struct NewsResponse {
98 #[serde(default)]
99 pub items: Vec<NewsItem>,
100}
101
102#[derive(Debug, Clone, Deserialize)]
103pub(crate) struct BingoEventsResponse {
104 #[serde(default)]
105 pub events: Vec<Value>,
106}