lichess_api/model/simuls/
mod.rs

1use serde::{Deserialize, Serialize};
2use serde_with::skip_serializing_none;
3
4use crate::model::LightUser;
5
6use super::{Title, Variant};
7
8pub mod current;
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11#[serde(rename_all = "camelCase")]
12pub struct Simul {
13    pub id: String,
14    pub name: String,
15    pub full_name: String,
16    pub host: Host,
17    pub is_created: bool,
18    pub is_finished: bool,
19    pub is_running: bool,
20    pub estimated_start_at: u64,
21    pub started_at: u64,
22    pub finished_at: Option<u64>,
23    #[serde(rename = "nbApplicants")]
24    pub applicants: u32,
25    #[serde(rename = "nbPairings")]
26    pub pairings: u32,
27    pub text: String,
28    pub variants: Vec<Variant>,
29}
30
31#[skip_serializing_none]
32#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(rename_all = "camelCase")]
34pub struct Host {
35    #[serde(flatten)]
36    pub user: LightUser,
37    pub rating: u32,
38    pub game_id: Option<String>,
39    pub provisional: Option<bool>,
40}