lichess_api/model/users/
autocomplete.rs1use 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}