lichess-api 1.0.0

A client library for the Lichess API
Documentation
use serde::{Deserialize, Serialize};
use serde_with::skip_serializing_none;

use crate::model::LightUser;

use super::Variant;

pub mod current;

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Simul {
    pub id: String,
    pub name: String,
    pub full_name: String,
    pub host: Host,
    pub is_created: bool,
    pub is_finished: bool,
    pub is_running: bool,
    pub estimated_start_at: Option<u64>,
    pub started_at: Option<u64>,
    pub finished_at: Option<u64>,
    #[serde(rename = "nbApplicants")]
    pub applicants: u32,
    #[serde(rename = "nbPairings")]
    pub pairings: u32,
    pub text: String,
    pub variants: Vec<Variant>,
}

#[skip_serializing_none]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Host {
    #[serde(flatten)]
    pub user: LightUser,
    pub rating: u32,
    pub game_id: Option<String>,
    pub provisional: Option<bool>,
}