Skip to main content

lichess_api/model/external_engine/
mod.rs

1pub mod acquire_analysis;
2pub mod analyse;
3pub mod create;
4pub mod delete;
5pub mod id;
6pub mod list;
7pub mod submit_analysis;
8pub mod update;
9
10use serde::{Deserialize, Serialize};
11use serde_with::skip_serializing_none;
12
13#[derive(Clone, Debug, Deserialize, Serialize)]
14#[serde(rename_all = "camelCase")]
15pub struct ExternalEngine {
16    pub id: String,
17    pub name: String,
18    pub client_secret: String,
19    pub user_id: String,
20    pub max_threads: u32,
21    pub max_hash: u32,
22    pub default_depth: u8,
23    pub variants: Vec<String>,
24    pub provider_data: Option<String>,
25}
26
27#[derive(Clone, Debug, Serialize)]
28#[serde(rename_all = "camelCase")]
29#[skip_serializing_none]
30pub struct CreateExternalEngine {
31    pub name: String,
32    pub max_threads: u32,
33    pub max_hash: u32,
34    pub default_depth: u8,
35    pub variants: Option<Vec<String>>,
36    pub provider_secret: String,
37    pub provider_data: Option<String>,
38}
39
40#[derive(Clone, Debug, Serialize)]
41#[serde(rename_all = "camelCase")]
42#[skip_serializing_none]
43pub struct UpdateExternalEngine {
44    pub name: String,
45    pub max_threads: u32,
46    pub max_hash: u32,
47    pub default_depth: u8,
48    pub variants: Option<Vec<String>>,
49    pub provider_secret: String,
50    pub provider_data: Option<String>,
51}