plex_api/media_container/
home.rs

1use serde::Deserialize;
2
3use crate::RestrictionProfile;
4
5#[derive(Deserialize, Clone, Debug)]
6#[serde(rename_all = "camelCase")]
7#[cfg_attr(feature = "tests_deny_unknown_fields", serde(deny_unknown_fields))]
8pub struct User {
9    #[serde(rename = "@id")]
10    pub id: u64,
11    #[serde(rename = "@uuid")]
12    pub uuid: String,
13    #[serde(rename = "@admin")]
14    pub admin: bool,
15    #[serde(rename = "@guest")]
16    pub guest: bool,
17    #[serde(rename = "@restricted")]
18    pub restricted: bool,
19    #[serde(rename = "@restrictionProfile")]
20    pub restriction_profile: Option<RestrictionProfile>,
21    #[serde(rename = "@hasPassword")]
22    pub has_password: bool,
23    #[serde(rename = "@protected")]
24    pub protected: bool,
25    #[serde(rename = "@title")]
26    pub title: String,
27    #[serde(rename = "@username")]
28    pub username: Option<String>,
29    #[serde(rename = "@email")]
30    pub email: Option<String>,
31    #[serde(with = "http_serde::uri", rename = "@thumb")]
32    pub thumb: http::Uri,
33}
34
35#[derive(Deserialize)]
36#[cfg_attr(feature = "tests_deny_unknown_fields", serde(deny_unknown_fields))]
37pub struct UsersResponse {
38    #[serde(rename = "User")]
39    pub users: Vec<User>,
40
41    #[serde(rename = "@friendlyName")]
42    pub friendly_name: String,
43    #[serde(rename = "@identifier")]
44    pub identifier: String,
45    #[serde(rename = "@machineIdentifier")]
46    pub machine_identifier: String,
47    #[serde(rename = "@totalSize")]
48    pub total_size: u16,
49    #[serde(rename = "@size")]
50    pub size: u16,
51    #[serde(rename = "@guestUserID")]
52    pub guest_user_id: u64,
53}