lichess-api 1.0.0

A client library for the Lichess API
Documentation
use crate::model::{Body, Days, Request, VariantKey};
use serde::Serialize;
use serde_with::skip_serializing_none;

#[skip_serializing_none]
#[derive(Default, Clone, Debug, Serialize)]
pub struct CreateBulkPairingForm {
    pub players: String,
    #[serde(rename = "clock.limit")]
    pub clock_limit: Option<u32>,
    #[serde(rename = "clock.increment")]
    pub clock_increment: Option<u32>,
    pub days: Option<Days>,
    #[serde(rename = "pairAt")]
    pub pair_at: Option<i64>,
    #[serde(rename = "startClocksAt")]
    pub start_clocks_at: Option<i64>,
    pub rated: Option<bool>,
    pub variant: Option<VariantKey>,
    pub fen: Option<String>,
    pub message: Option<String>,
    pub rules: Option<String>,
}

#[derive(Default, Clone, Debug, Serialize)]
pub struct PostQuery;

pub type PostRequest = Request<PostQuery, CreateBulkPairingForm>;

impl PostRequest {
    pub fn new(form: CreateBulkPairingForm) -> Self {
        Self::post("/api/bulk-pairing", None, Body::Form(form), None)
    }
}