lavalink_rs/model/
http.rs1use crate::model::*;
2
3#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5#[cfg_attr(feature = "python", pyo3::pyclass(get_all, set_all))]
6pub struct UpdatePlayer {
10 #[serde(skip_serializing_if = "Option::is_none")]
12 pub track: Option<UpdatePlayerTrack>,
13 #[serde(skip_serializing_if = "Option::is_none")]
19 pub end_time: Option<u64>,
20 #[serde(skip_serializing_if = "Option::is_none")]
24 pub volume: Option<u16>,
25 #[serde(skip_serializing_if = "Option::is_none")]
29 pub position: Option<u64>,
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub paused: Option<bool>,
33 #[serde(skip_serializing_if = "Option::is_none")]
37 pub filters: Option<player::Filters>,
38 #[serde(skip_serializing_if = "Option::is_none")]
42 pub voice: Option<player::ConnectionInfo>,
43}
44
45#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
46#[serde(rename_all = "camelCase")]
47#[cfg_attr(feature = "python", pyo3::pyclass)]
48pub struct UpdatePlayerTrack {
49 #[serde(skip_serializing_if = "Option::is_none")]
53 pub encoded: Option<String>,
54 #[serde(skip_serializing_if = "Option::is_none")]
58 pub identifier: Option<String>,
59 #[serde(skip_serializing_if = "Option::is_none")]
61 pub user_data: Option<serde_json::Value>,
62}
63
64#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
65#[cfg_attr(feature = "python", pyo3::pyclass(get_all, set_all))]
66pub struct ResumingState {
71 #[serde(skip_serializing_if = "Option::is_none")]
73 pub resuming: Option<bool>,
74 #[serde(skip_serializing_if = "Option::is_none")]
78 pub timeout: Option<u32>,
79}
80
81#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
82#[serde(rename_all = "camelCase")]
83#[cfg_attr(feature = "python", pyo3::pyclass(get_all, set_all))]
84pub struct Info {
86 pub version: Version,
88 pub build_time: u64,
90 pub git: Git,
92 pub jvm: String,
94 pub lavaplayer: String,
96 pub source_managers: Vec<String>,
98 pub filters: Vec<String>,
100 pub plugins: Vec<Plugin>,
102}
103
104#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
105#[serde(rename_all = "camelCase")]
106#[cfg_attr(feature = "python", pyo3::pyclass(get_all, set_all))]
107pub struct Git {
108 pub branch: String,
110 pub commit: String,
112 pub commit_time: u64,
114}
115
116#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
117#[cfg_attr(feature = "python", pyo3::pyclass(get_all, set_all))]
118pub struct Plugin {
119 pub name: String,
121 pub version: String,
123}
124
125#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
126#[serde(rename_all = "camelCase")]
127#[cfg_attr(feature = "python", pyo3::pyclass(get_all, set_all))]
128pub struct Version {
130 pub semver: String,
131 pub major: u8,
132 pub minor: u8,
133 pub patch: u8,
134 pub pre_release: Option<String>,
135 pub build: Option<String>,
136}