lichess_api/model/arena_tournaments/
update.rs1use crate::model::{Body, Request, VariantKey};
2use serde::Serialize;
3use serde_with::skip_serializing_none;
4
5#[skip_serializing_none]
6#[derive(Default, Clone, Debug, Serialize)]
7pub struct UpdateArenaTournamentForm {
8 pub name: Option<String>,
9 #[serde(rename = "clockTime")]
10 pub clock_time: f64,
11 #[serde(rename = "clockIncrement")]
12 pub clock_increment: u32,
13 pub minutes: u32,
14 #[serde(rename = "waitMinutes")]
15 pub wait_minutes: Option<u32>,
16 #[serde(rename = "startDate")]
17 pub start_date: Option<i64>,
18 pub variant: Option<VariantKey>,
19 pub rated: Option<bool>,
20 pub position: Option<String>,
21 pub berserkable: Option<bool>,
22 pub streakable: Option<bool>,
23 #[serde(rename = "hasChat")]
24 pub has_chat: Option<bool>,
25 pub description: Option<String>,
26 pub password: Option<String>,
27 #[serde(rename = "conditions.minRating.rating")]
28 pub conditions_min_rating: Option<u32>,
29 #[serde(rename = "conditions.maxRating.rating")]
30 pub conditions_max_rating: Option<u32>,
31 #[serde(rename = "conditions.nbRatedGame.nb")]
32 pub conditions_nb_rated_game: Option<u32>,
33 #[serde(rename = "conditions.allowList")]
34 pub conditions_allow_list: Option<String>,
35 #[serde(rename = "conditions.bots")]
36 pub conditions_bots: Option<bool>,
37 #[serde(rename = "conditions.accountAge")]
38 pub conditions_account_age: Option<u32>,
39}
40
41#[derive(Default, Clone, Debug, Serialize)]
42pub struct PostQuery;
43
44pub type PostRequest = Request<PostQuery, UpdateArenaTournamentForm>;
45
46impl PostRequest {
47 pub fn new(id: &str, form: UpdateArenaTournamentForm) -> Self {
48 Self::post(
49 format!("/api/tournament/{id}"),
50 None,
51 Body::Form(form),
52 None,
53 )
54 }
55}