twitch_types/
user.rs

1use crate::{DisplayName, UserId, UserName};
2
3pub use crate::{BroadcasterType, UserType};
4
5/// A user according to many endpoints
6#[derive(Clone, Debug, PartialEq, Eq)]
7#[cfg_attr(
8    feature = "serde",
9    derive(serde_derive::Serialize, serde_derive::Deserialize)
10)]
11#[cfg_attr(feature = "deny_unknown_fields", serde(deny_unknown_fields))]
12pub struct User {
13    /// ID of the user
14    #[cfg_attr(feature = "serde", serde(alias = "user_id"))]
15    pub id: UserId,
16    /// Login name of the user, not capitalized
17    #[cfg_attr(feature = "serde", serde(alias = "user_login"))]
18    pub login: UserName,
19    /// Display name of user
20    #[cfg_attr(
21        feature = "serde",
22        serde(alias = "user_display_name", alias = "user_name")
23    )]
24    pub display_name: DisplayName,
25    #[cfg_attr(feature = "serde", serde(default))]
26    /// URL of the user's profile
27    pub profile_image_url: Option<String>,
28}