jellyfin_sdk_rust/api/models/
system.rs

1use serde::Deserialize;
2
3#[derive(Deserialize, Debug)]
4pub struct SystemEndpointStatus {
5    #[serde(rename = "IsLocal")]
6    pub is_local: bool,
7    #[serde(rename = "IsInNetwork")]
8    pub is_in_network: bool,
9}
10
11#[derive(Deserialize, Debug)]
12pub struct SystemInformations {
13    #[serde(rename = "LocalAddress")]
14    pub local_address: String,
15    #[serde(rename = "ServerName")]
16    pub server_name: String,
17    #[serde(rename = "Version")]
18    pub version: String,
19    #[serde(rename = "ProductName")]
20    pub product_name: Option<String>,
21    #[serde(rename = "Id")]
22    pub id: String,
23    #[serde(rename = "StartupWizardCompleted")]
24    pub startup_wizard_complete: Option<bool>,
25    #[serde(rename = "OperatingSystemDisplayName")]
26    pub operating_system: String,
27    #[serde(rename = "PackageName")]
28    pub package_name: Option<String>,
29    #[serde(rename = "HasPendingRestart")]
30    pub has_pending_restart: bool,
31    #[serde(rename = "IsShuttingDown")]
32    pub is_shutting_down: bool,
33    #[serde(rename = "SupportsLibraryMonitor")]
34    pub supports_library_monitor: bool,
35    #[serde(rename = "WebSocketPortNumber")]
36    pub websocket_port: u16,
37    #[serde(rename = "CompletedInstallations")]
38    pub completed_installations: Vec<CompletedInstallations>,
39    #[serde(rename = "CanSelfRestart")]
40    pub can_self_restart: bool,
41    #[serde(rename = "CanLaunchWebBrowser")]
42    pub can_launch_webbrowser: bool,
43    #[serde(rename = "ProgramDataPath")]
44    pub program_data_path: String,
45    #[serde(rename = "WebPath")]
46    pub web_path: String,
47    #[serde(rename = "ItemsByNamePath")]
48    pub items_by_name_path: String,
49    #[serde(rename = "CachePath")]
50    pub cache_path: String,
51    #[serde(rename = "LogPath")]
52    pub log_path: String,
53    #[serde(rename = "InternalMetadataPath")]
54    pub internal_metadata_path: String,
55    #[serde(rename = "TranscodingTempPath")]
56    pub transcoding_temp_path: String,
57    #[serde(rename = "HasUpdateAvailable")]
58    pub has_update_available: bool,
59    #[serde(rename = "EncoderLocation")]
60    pub encoder_location: String,
61    #[serde(rename = "SystemArchitecture")]
62    pub system_arch: String,
63}
64
65#[derive(Deserialize, Debug)]
66pub struct CompletedInstallations {
67    #[serde(rename = "Guid")]
68    pub guid: String,
69    #[serde(rename = "Name")]
70    pub name: String,
71    #[serde(rename = "Version")]
72    pub version: Version,
73    #[serde(rename = "Changelog")]
74    pub changelog: String,
75    #[serde(rename = "SourceUrl")]
76    pub source_url: String,
77    #[serde(rename = "Checksum")]
78    pub checksum: String,
79    #[serde(rename = "PackageInfo")]
80    pub package_info: PackageInfo,
81}
82
83#[derive(Deserialize, Debug)]
84pub struct Version {
85    #[serde(rename = "Major")]
86    pub major: u8,
87    #[serde(rename = "Minor")]
88    pub minor: u8,
89    #[serde(rename = "Build")]
90    pub build: u16,
91    #[serde(rename = "Revision")]
92    pub revision: u16,
93    #[serde(rename = "MajorRevision")]
94    pub major_revision: u16,
95    #[serde(rename = "MinorRevision")]
96    pub minor_revision: u16,
97}
98
99#[derive(Deserialize, Debug)]
100pub struct PackageInfo {
101    pub name: String,
102    pub description: String,
103    pub overview: String,
104    pub owner: String,
105    pub category: String,
106    pub guid: String,
107    pub versions: Vec<PackageVersion>,
108    pub image_url: String,
109}
110
111#[derive(Deserialize, Debug)]
112pub struct PackageVersion {
113    pub version: String,
114    pub version_number: Version,
115    pub changelog: String,
116    pub target_abi: String,
117    pub source_url: String,
118    pub checksum: String,
119    pub timestamp: String,
120    pub repository_name: String,
121    pub repository_url: String,
122}
123
124#[derive(Deserialize, Debug)]
125pub struct PublicSystemInformations {
126    #[serde(rename = "LocalAddress")]
127    pub local_address: String,
128    #[serde(rename = "ServerName")]
129    pub server_name: String,
130    #[serde(rename = "Version")]
131    pub version: String,
132    #[serde(rename = "ProductName")]
133    pub product_name: String,
134    #[serde(rename = "OperatingSystem")]
135    pub operating_system: String,
136    #[serde(rename = "Id")]
137    pub id: String,
138    #[serde(rename = "StartupWizardCompleted")]
139    pub startup_wizard_completed: bool,
140}
141
142pub type AvailableLogFiles = Vec<AvailableLogFile>;
143
144#[derive(Deserialize, Debug)]
145pub struct AvailableLogFile {
146    #[serde(rename = "DateCreated")]
147    date_created: String,
148    #[serde(rename = "DateModified")]
149    date_modified: String,
150    #[serde(rename = "Size")]
151    size: u64,
152    #[serde(rename = "Name")]
153    name: String,
154}
155
156pub type WakeOnLanInformations = Vec<WakeOnLanInformation>;
157
158#[derive(Deserialize, Debug)]
159pub struct WakeOnLanInformation {
160    #[serde(rename = "MacAddress")]
161    pub mac_address: String,
162    #[serde(rename = "Port")]
163    pub port: u32,
164}