#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct UserDetail {
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "state")]
pub state: crate::models::UserAccountState,
#[serde(rename = "bot")]
pub bot: bool,
#[serde(rename = "iconFileId")]
pub icon_file_id: uuid::Uuid,
#[serde(rename = "displayName")]
pub display_name: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "twitterId")]
pub twitter_id: String,
#[serde(rename = "lastOnline", deserialize_with = "Option::deserialize")]
pub last_online: Option<String>,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "tags")]
pub tags: Vec<crate::models::UserTag>,
#[serde(rename = "groups")]
pub groups: Vec<uuid::Uuid>,
#[serde(rename = "bio")]
pub bio: String,
#[serde(rename = "homeChannel", deserialize_with = "Option::deserialize")]
pub home_channel: Option<uuid::Uuid>,
}
impl UserDetail {
pub fn new(
id: uuid::Uuid,
state: crate::models::UserAccountState,
bot: bool,
icon_file_id: uuid::Uuid,
display_name: String,
name: String,
twitter_id: String,
last_online: Option<String>,
updated_at: String,
tags: Vec<crate::models::UserTag>,
groups: Vec<uuid::Uuid>,
bio: String,
home_channel: Option<uuid::Uuid>,
) -> UserDetail {
UserDetail {
id,
state,
bot,
icon_file_id,
display_name,
name,
twitter_id,
last_online,
updated_at,
tags,
groups,
bio,
home_channel,
}
}
}