1use std::collections::HashMap;
4
5use serde::{Serialize, Deserialize, de::IgnoredAny};
6
7pub mod player;
8use player::Player;
9
10pub mod map;
11use map::Map;
12
13pub mod round;
14use round::Round;
15
16#[derive(Clone, Debug, Deserialize, Serialize)]
20pub enum Team {
21 CT,
23 T,
25}
26
27#[derive(Clone, Debug, Deserialize, Serialize)]
29#[serde(deny_unknown_fields)]
30pub struct Update {
31 pub map: Option<Map>,
33 pub player: Option<Player>,
35 pub provider: Option<Provider>,
37 pub auth: HashMap<String, String>,
39 pub round: Option<Round>,
41 #[serde(skip_serializing, default)]
42 added: IgnoredAny,
43 #[serde(skip_serializing, default)]
44 previously: IgnoredAny,
45}
46
47#[derive(Clone, Debug, Deserialize, Serialize)]
49#[serde(deny_unknown_fields)]
50pub struct Provider {
51 pub name: String,
53 #[serde(rename = "appid")]
55 pub app_id: u64,
56 pub version: u64,
58 #[serde(rename = "steamid")]
60 pub steam_id: String,
61 pub timestamp: u64,
63}