lichess_api/model/tv/
games.rs1use 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}