warframe/worldstate/models/
global_upgrades.rs

1use warframe_macros::model;
2
3/// Any current modifiers applied to all users, such as double drops, double XP, etc.
4#[model(endpoint = "/globalUpgrades", return_style = Array, timed)]
5pub struct GlobalUpgrade {
6    /// What kind of upgrade
7    pub upgrade: String,
8
9    /// Operation descriptor
10    pub operation: String,
11
12    /// Symbol corresponding to operation
13    pub operation_symbol: String,
14
15    /// Value corresponding to performing the operation
16    pub upgrade_operation_value: i32,
17
18    /// Whether the upgrade has expired
19    pub expired: bool,
20}
21
22#[cfg(test)]
23mod test_global_upgrade {
24    use rstest::rstest;
25    use serde_json::from_str;
26
27    use super::GlobalUpgrade;
28    use crate::worldstate::Queryable;
29
30    type R = <GlobalUpgrade as Queryable>::Return;
31
32    #[rstest]
33    fn test(
34        #[files("src/worldstate/models/fixtures/global_upgrade.json")]
35        #[mode = str]
36        global_upgrade_en: &str,
37    ) {
38        from_str::<R>(global_upgrade_en).unwrap();
39    }
40}