Skip to main content

lichess_api/model/arena_tournaments/
join.rs

1use crate::model::{Body, Request};
2use serde::Serialize;
3use serde_with::skip_serializing_none;
4
5#[skip_serializing_none]
6#[derive(Default, Clone, Debug, Serialize)]
7pub struct JoinArenaTournamentForm {
8    pub password: Option<String>,
9    pub team: Option<String>,
10    #[serde(rename = "pairMeAsap")]
11    pub pair_me_asap: Option<bool>,
12}
13
14#[derive(Default, Clone, Debug, Serialize)]
15pub struct PostQuery;
16
17pub type PostRequest = Request<PostQuery, JoinArenaTournamentForm>;
18
19impl PostRequest {
20    pub fn new(id: &str, form: JoinArenaTournamentForm) -> Self {
21        Self::post(
22            format!("/api/tournament/{id}/join"),
23            None,
24            Body::Form(form),
25            None,
26        )
27    }
28}