lichess_api/model/openings/
otb.rs

1use serde::{Deserialize, Serialize};
2
3use crate::model::{Domain, Request};
4
5#[derive(Default, Clone, Debug, Deserialize, Serialize)]
6#[serde_with::skip_serializing_none]
7pub struct GetQuery {
8    game_id: String,
9}
10
11pub type GetRequest = Request<GetQuery>;
12
13impl GetRequest {
14    pub fn new(game_id: impl Into<String>) -> Self {
15        let game_id = game_id.into();
16        Self::get(
17            format!("/masters/pgn/{game_id}"),
18            GetQuery { game_id },
19            Domain::Explorer,
20        )
21    }
22}
23
24impl<S: Into<String>> From<S> for GetRequest {
25    fn from(s: S) -> Self {
26        Self::new(s)
27    }
28}