lichess_api/model/users/
note.rs

1use crate::model::{Body, Request};
2use serde::Serialize;
3
4#[derive(Default, Clone, Debug, Serialize)]
5pub struct GetQuery;
6
7pub type GetRequest = Request<GetQuery>;
8
9impl GetRequest {
10    pub fn new(username: &str) -> Self {
11        Self::get(format!("/api/user/{username}/note"), None, None)
12    }
13}
14
15impl<S: AsRef<str>> From<S> for GetRequest {
16    fn from(username: S) -> Self {
17        Self::new(username.as_ref())
18    }
19}
20
21#[derive(Default, Clone, Debug, Serialize)]
22pub struct PostQuery;
23
24#[derive(Default, Clone, Debug, Serialize)]
25pub struct Message {
26    text: String,
27}
28
29pub type PostRequest = Request<PostQuery, Message>;
30
31impl PostRequest {
32    pub fn new(username: &str, message: impl Into<String>) -> Self {
33        let path = format!("/api/user/{username}/note");
34        let message = Message {
35            text: message.into(),
36        };
37
38        Self::post(path, None, Body::Form(message), None)
39    }
40}