lichess_api/model/users/
autocomplete.rs

1use crate::model::{LightUser, Request};
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, Deserialize, Serialize)]
5pub struct Autocompletions {
6    pub result: Vec<LightUser>,
7}
8
9#[serde_with::skip_serializing_none]
10#[derive(Default, Clone, Debug, Serialize)]
11pub struct GetQuery {
12    term: String,
13    object: bool,
14    friend: Option<bool>,
15}
16
17pub type GetRequest = Request<GetQuery>;
18
19impl GetRequest {
20    pub fn new(term: impl Into<String>, friend: Option<bool>) -> Self {
21        let query = GetQuery {
22            term: term.into(),
23            object: true,
24            friend,
25        };
26
27        Self::get("/api/player/autocomplete", query, None)
28    }
29}
30
31impl<S: Into<String>> From<S> for GetRequest {
32    fn from(s: S) -> Self {
33        Self::new(s, None)
34    }
35}