use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UserEntity {
#[serde(rename = "apiToken", skip_serializing_if = "Option::is_none")]
pub api_token: Option<bool>,
#[serde(rename = "preferences", skip_serializing_if = "Option::is_none")]
pub preferences: Option<Vec<models::UserPreference>>,
#[serde(rename = "locale", skip_serializing_if = "Option::is_none")]
pub locale: Option<String>,
#[serde(rename = "timezone", skip_serializing_if = "Option::is_none")]
pub timezone: Option<String>,
#[serde(rename = "language", skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(rename = "teams", skip_serializing_if = "Option::is_none")]
pub teams: Option<Vec<models::Team>>,
#[serde(rename = "initials", skip_serializing_if = "Option::is_none")]
pub initials: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "alias", skip_serializing_if = "Option::is_none")]
pub alias: Option<String>,
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "avatar", skip_serializing_if = "Option::is_none")]
pub avatar: Option<String>,
#[serde(rename = "memberships")]
pub memberships: Vec<models::TeamMembership>,
#[serde(rename = "username")]
pub username: String,
#[serde(rename = "accountNumber", skip_serializing_if = "Option::is_none")]
pub account_number: Option<String>,
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "roles", skip_serializing_if = "Option::is_none")]
pub roles: Option<Vec<String>>,
#[serde(rename = "supervisor", skip_serializing_if = "Option::is_none")]
pub supervisor: Option<Box<models::User>>,
#[serde(rename = "color", skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
}
impl UserEntity {
pub fn new(memberships: Vec<models::TeamMembership>, username: String) -> UserEntity {
UserEntity {
api_token: None,
preferences: None,
locale: None,
timezone: None,
language: None,
teams: None,
initials: None,
id: None,
alias: None,
title: None,
avatar: None,
memberships,
username,
account_number: None,
enabled: None,
roles: None,
supervisor: None,
color: None,
}
}
}