lichess_api/model/tv/stream/
mod.rs1pub mod channel;
2pub mod current;
3
4use crate::model::{Color, LightUser};
5use serde::{Deserialize, Serialize};
6
7#[derive(Clone, Debug, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct StreamUser {
10 #[serde(skip_serializing_if = "Option::is_none")]
11 pub color: Option<Color>,
12 pub user: LightUser,
13 pub rating: u32,
14 pub seconds: u32,
15}
16
17#[derive(Clone, Debug, Deserialize, Serialize)]
18#[serde(tag = "t", content = "d", rename_all = "camelCase")]
19pub enum Event {
20 Featured {
21 id: String,
22 orientation: Color,
23 players: [StreamUser; 2],
24 fen: String,
25 },
26
27 Fen {
28 fen: String,
29 #[serde(rename = "lm")]
30 #[serde(skip_serializing_if = "Option::is_none")]
31 last_move: Option<String>,
32 #[serde(rename = "wc")]
33 #[serde(skip_serializing_if = "Option::is_none")]
34 white_centipawns: Option<u32>,
35 #[serde(rename = "bc")]
36 #[serde(skip_serializing_if = "Option::is_none")]
37 black_centipawns: Option<u32>,
38 },
39}