lichess_api/model/openings/
player.rs1use serde::{Deserialize, Serialize};
2
3use crate::model::{Color, Domain, VariantKey};
4
5#[derive(Default, Clone, Debug, Deserialize, Serialize)]
6#[serde_with::skip_serializing_none]
7pub struct GetQuery {
8 pub player: String,
9 pub fen: String,
10 pub color: Color,
11 pub play: String,
12 pub variant: VariantKey,
13 pub speeds: Option<String>,
14 pub modes: Option<String>,
15 pub since: Option<String>,
16 pub until: Option<String>,
17 pub moves: Option<u32>,
18 pub recent_games: Option<u32>,
19}
20
21pub type GetRequest = crate::model::Request<GetQuery>;
22
23impl GetRequest {
24 pub fn new(query: GetQuery) -> Self {
25 Self::get("/player", Some(query), Some(Domain::Explorer))
26 }
27}
28
29impl From<GetQuery> for GetRequest {
30 fn from(query: GetQuery) -> Self {
31 Self::new(query)
32 }
33}