lichess_api/model/tv/
games.rs

1use crate::model::tv::ChannelName;
2use serde::Serialize;
3
4#[derive(Default, Clone, Debug, Serialize)]
5#[serde_with::skip_serializing_none]
6pub struct GetQuery {
7    #[serde(rename = "nb")]
8    pub number_of_games: Option<u8>,
9    pub moves: Option<bool>,
10    #[serde(rename = "pgnInJson")]
11    pub pgn_in_json: Option<bool>,
12    pub tags: Option<bool>,
13    pub clocks: Option<bool>,
14    pub opening: Option<bool>,
15}
16
17pub type GetRequest = crate::model::Request<GetQuery>;
18
19impl GetRequest {
20    pub fn new(channel: ChannelName, query: Option<GetQuery>) -> Self {
21        Self::get(format!("/api/tv/{channel}"), query, None)
22    }
23}
24
25impl From<ChannelName> for GetRequest {
26    fn from(channel: ChannelName) -> Self {
27        Self::new(channel, None)
28    }
29}