Skip to main content

lichess_api/model/challenges/
admin_challenge.rs

1use crate::model::{Body, Request};
2use serde::Serialize;
3
4#[derive(Default, Clone, Debug, Serialize)]
5pub struct PostQuery;
6
7pub type PostRequest = Request<PostQuery, AdminChallengeTokens>;
8
9impl PostRequest {
10    pub fn new(tokens: AdminChallengeTokens) -> Self {
11        let path = "/api/token/admin-challenge".to_string();
12        Self::post(path, None, Body::Form(tokens), None)
13    }
14}
15
16#[derive(Clone, Debug, Serialize)]
17pub struct AdminChallengeTokens {
18    /// Usernames separated with commas
19    pub users: String,
20    /// User visible description of the token
21    pub description: String,
22}
23
24impl From<AdminChallengeTokens> for PostRequest {
25    fn from(tokens: AdminChallengeTokens) -> Self {
26        Self::new(tokens)
27    }
28}