use serde::{Deserialize, Serialize};
use super::common::JsonObject;
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct Session {
#[serde(default)]
pub online: bool,
#[serde(rename = "gameType", default)]
pub game_type: Option<String>,
#[serde(default)]
pub mode: Option<String>,
#[serde(default)]
pub map: Option<String>,
#[serde(flatten)]
pub extra: JsonObject,
}
#[derive(Debug, Clone, Deserialize)]
pub(crate) struct StatusResponse {
pub session: Session,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct RecentGame {
#[serde(default)]
pub date: i64,
#[serde(rename = "gameType", default)]
pub game_type: Option<String>,
#[serde(default)]
pub mode: Option<String>,
#[serde(default)]
pub map: Option<String>,
#[serde(default)]
pub ended: Option<i64>,
#[serde(flatten)]
pub extra: JsonObject,
}
#[derive(Debug, Clone, Deserialize)]
pub(crate) struct RecentGamesResponse {
#[serde(default)]
pub games: Vec<RecentGame>,
}