artifacts/models/
status_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 StatusSchema {
7 #[serde(rename = "version")]
9 pub version: String,
10 #[serde(rename = "server_time")]
12 pub server_time: String,
13 #[serde(rename = "max_level")]
15 pub max_level: i32,
16 #[serde(rename = "max_skill_level")]
18 pub max_skill_level: i32,
19 #[serde(rename = "characters_online")]
21 pub characters_online: i32,
22 #[serde(rename = "season", skip_serializing_if = "Option::is_none")]
24 pub season: Option<Box<models::SeasonSchema>>,
25 #[serde(rename = "announcements")]
27 pub announcements: Vec<models::AnnouncementSchema>,
28 #[serde(rename = "rate_limits")]
30 pub rate_limits: Vec<models::RateLimitSchema>,
31}
32
33impl StatusSchema {
34 pub fn new(
35 version: String,
36 server_time: String,
37 max_level: i32,
38 max_skill_level: i32,
39 characters_online: i32,
40 announcements: Vec<models::AnnouncementSchema>,
41 rate_limits: Vec<models::RateLimitSchema>,
42 ) -> StatusSchema {
43 StatusSchema {
44 version,
45 server_time,
46 max_level,
47 max_skill_level,
48 characters_online,
49 season: None,
50 announcements,
51 rate_limits,
52 }
53 }
54}