warframe_client/models/
ws.rs

1/*
2 * WarframeStat.us API
3 *
4 * Simple API for data from the game Warframe. [Parser Docs](https://wfcd.github.io/warframe-worldstate-parser/) [Items Types](https://github.com/WFCD/warframe-items/blob/master/index.d.ts) 
5 *
6 * The version of the OpenAPI document: 2.0.8
7 * Contact: tobiah@protonmail.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// Ws : Full World State Object
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Ws {
17    /// A timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) representing a specific point in time. This format is commonly used in APIs to ensure consistent date and time representation. The timestamp is in UTC (Coordinated Universal Time) and does not include any timezone offset. It is used to represent events, deadlines, or any time-related information in a standardized way. Example: \"2023-10-01T12:00:00Z\" represents October 1, 2023, at 12:00 PM UTC. 
18    #[serde(rename = "timestamp")]
19    pub timestamp: String,
20    #[serde(rename = "alerts")]
21    pub alerts: Vec<models::AlertsInner>,
22    #[serde(rename = "arbitration")]
23    pub arbitration: Box<models::Arbitration>,
24    #[serde(rename = "archonHunt")]
25    pub archon_hunt: Box<models::ArchonHunt>,
26    #[serde(rename = "cambionCycle")]
27    pub cambion_cycle: Box<models::CambionCycle>,
28    #[serde(rename = "cetusCycle")]
29    pub cetus_cycle: Box<models::CetusCycle>,
30    #[serde(rename = "conclaveChallenges")]
31    pub conclave_challenges: Vec<models::ConclaveChallengesInner>,
32    #[serde(rename = "constructionProgress")]
33    pub construction_progress: Box<models::Construction>,
34    #[serde(rename = "dailyDeals")]
35    pub daily_deals: Vec<models::DailyDealsInner>,
36    #[serde(rename = "darkSectors", skip_serializing_if = "Option::is_none")]
37    pub dark_sectors: Option<Vec<models::DarkSectorsInner>>,
38    #[serde(rename = "deepArchimedia", skip_serializing_if = "Option::is_none")]
39    pub deep_archimedia: Option<Box<models::DeepArchimedea>>,
40    #[serde(rename = "earthCycle")]
41    pub earth_cycle: Box<models::EarthCycle>,
42    #[serde(rename = "events")]
43    pub events: Vec<models::Event>,
44    #[serde(rename = "fissures", deserialize_with = "Option::deserialize")]
45    pub fissures: Option<serde_json::Value>,
46    #[serde(rename = "flashSales")]
47    pub flash_sales: Box<models::FlashSales>,
48    #[serde(rename = "globalUpgrades")]
49    pub global_upgrades: Vec<models::GlobalUpgradesInner>,
50    #[serde(rename = "invasions")]
51    pub invasions: Vec<models::Invasion>,
52    #[serde(rename = "kuva", skip_serializing_if = "Option::is_none")]
53    pub kuva: Option<Vec<models::Arbitration>>,
54    #[serde(rename = "news")]
55    pub news: Vec<models::NewsInner>,
56    #[serde(rename = "nightwave", skip_serializing_if = "Option::is_none")]
57    pub nightwave: Option<Box<models::Nightwave>>,
58    #[serde(rename = "persistentEnemies")]
59    pub persistent_enemies: Vec<models::PersistentEnemiesInner>,
60    #[serde(rename = "sentientOutposts")]
61    pub sentient_outposts: Box<models::SentientOutposts>,
62    #[serde(rename = "simaris", skip_serializing_if = "Option::is_none")]
63    pub simaris: Option<Box<models::Simaris>>,
64    #[serde(rename = "sortie")]
65    pub sortie: Box<models::Sortie>,
66    #[serde(rename = "steelPath")]
67    pub steel_path: Box<models::SteelPath>,
68    #[serde(rename = "syndicateMissions")]
69    pub syndicate_missions: Vec<models::SyndicateMission>,
70    #[serde(rename = "vallisCycle")]
71    pub vallis_cycle: Box<models::VallisCycle>,
72    #[serde(rename = "voidTrader")]
73    pub void_trader: Box<models::VoidTrader>,
74}
75
76impl Ws {
77    /// Full World State Object
78    pub fn new(timestamp: String, alerts: Vec<models::AlertsInner>, arbitration: models::Arbitration, archon_hunt: models::ArchonHunt, cambion_cycle: models::CambionCycle, cetus_cycle: models::CetusCycle, conclave_challenges: Vec<models::ConclaveChallengesInner>, construction_progress: models::Construction, daily_deals: Vec<models::DailyDealsInner>, earth_cycle: models::EarthCycle, events: Vec<models::Event>, fissures: Option<serde_json::Value>, flash_sales: models::FlashSales, global_upgrades: Vec<models::GlobalUpgradesInner>, invasions: Vec<models::Invasion>, news: Vec<models::NewsInner>, persistent_enemies: Vec<models::PersistentEnemiesInner>, sentient_outposts: models::SentientOutposts, sortie: models::Sortie, steel_path: models::SteelPath, syndicate_missions: Vec<models::SyndicateMission>, vallis_cycle: models::VallisCycle, void_trader: models::VoidTrader) -> Ws {
79        Ws {
80            timestamp,
81            alerts,
82            arbitration: Box::new(arbitration),
83            archon_hunt: Box::new(archon_hunt),
84            cambion_cycle: Box::new(cambion_cycle),
85            cetus_cycle: Box::new(cetus_cycle),
86            conclave_challenges,
87            construction_progress: Box::new(construction_progress),
88            daily_deals,
89            dark_sectors: None,
90            deep_archimedia: None,
91            earth_cycle: Box::new(earth_cycle),
92            events,
93            fissures,
94            flash_sales: Box::new(flash_sales),
95            global_upgrades,
96            invasions,
97            kuva: None,
98            news,
99            nightwave: None,
100            persistent_enemies,
101            sentient_outposts: Box::new(sentient_outposts),
102            simaris: None,
103            sortie: Box::new(sortie),
104            steel_path: Box::new(steel_path),
105            syndicate_missions,
106            vallis_cycle: Box::new(vallis_cycle),
107            void_trader: Box::new(void_trader),
108        }
109    }
110}
111