lichess_api/model/teams/
join.rs1use crate::model::{Body, Request};
2use serde::Serialize;
3use serde_with::skip_serializing_none;
4
5#[derive(Default, Clone, Debug, Serialize)]
6pub struct PostQuery;
7
8#[skip_serializing_none]
9#[derive(Default, Clone, Debug, Serialize)]
10pub struct JoinForm {
11 pub message: Option<String>,
12 pub password: Option<String>,
13}
14
15pub type PostRequest = Request<PostQuery, JoinForm>;
16
17impl PostRequest {
18 pub fn new(team_id: &str, form: JoinForm) -> Self {
19 Self::post(
20 format!("/team/{team_id}/join"),
21 None,
22 Body::Form(form),
23 None,
24 )
25 }
26}
27
28impl<S: AsRef<str>> From<S> for PostRequest {
29 fn from(team_id: S) -> Self {
30 Self::new(team_id.as_ref(), JoinForm::default())
31 }
32}