#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct OidcTraqUserInfo {
#[serde(rename = "bio")]
pub bio: String,
#[serde(rename = "groups")]
pub groups: Vec<uuid::Uuid>,
#[serde(rename = "tags")]
pub tags: Vec<crate::models::UserTag>,
#[serde(rename = "last_online", deserialize_with = "Option::deserialize")]
pub last_online: Option<String>,
#[serde(rename = "twitter_id")]
pub twitter_id: String,
#[serde(rename = "display_name")]
pub display_name: String,
#[serde(rename = "icon_file_id")]
pub icon_file_id: uuid::Uuid,
#[serde(rename = "bot")]
pub bot: bool,
#[serde(rename = "state")]
pub state: crate::models::UserAccountState,
#[serde(rename = "permissions")]
pub permissions: Vec<crate::models::UserPermission>,
#[serde(rename = "home_channel", deserialize_with = "Option::deserialize")]
pub home_channel: Option<uuid::Uuid>,
}
impl OidcTraqUserInfo {
pub fn new(
bio: String,
groups: Vec<uuid::Uuid>,
tags: Vec<crate::models::UserTag>,
last_online: Option<String>,
twitter_id: String,
display_name: String,
icon_file_id: uuid::Uuid,
bot: bool,
state: crate::models::UserAccountState,
permissions: Vec<crate::models::UserPermission>,
home_channel: Option<uuid::Uuid>,
) -> OidcTraqUserInfo {
OidcTraqUserInfo {
bio,
groups,
tags,
last_online,
twitter_id,
display_name,
icon_file_id,
bot,
state,
permissions,
home_channel,
}
}
}