use super::{
put_users_id_request_notification_email::PutUsersIdRequestNotificationEmail,
tracking_code::TrackingCode,
};
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct PutUsersIdRequest {
#[serde(
rename = "enterprise",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub enterprise: Option<Option<String>>,
#[serde(rename = "notify", skip_serializing_if = "Option::is_none")]
pub notify: Option<bool>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "login", skip_serializing_if = "Option::is_none")]
pub login: Option<String>,
#[serde(rename = "role", skip_serializing_if = "Option::is_none")]
pub role: Option<Role>,
#[serde(rename = "language", skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(rename = "is_sync_enabled", skip_serializing_if = "Option::is_none")]
pub is_sync_enabled: Option<bool>,
#[serde(rename = "job_title", skip_serializing_if = "Option::is_none")]
pub job_title: Option<String>,
#[serde(rename = "phone", skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(rename = "address", skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
#[serde(rename = "tracking_codes", skip_serializing_if = "Option::is_none")]
pub tracking_codes: Option<Vec<TrackingCode>>,
#[serde(
rename = "can_see_managed_users",
skip_serializing_if = "Option::is_none"
)]
pub can_see_managed_users: Option<bool>,
#[serde(rename = "timezone", skip_serializing_if = "Option::is_none")]
pub timezone: Option<String>,
#[serde(
rename = "is_external_collab_restricted",
skip_serializing_if = "Option::is_none"
)]
pub is_external_collab_restricted: Option<bool>,
#[serde(
rename = "is_exempt_from_device_limits",
skip_serializing_if = "Option::is_none"
)]
pub is_exempt_from_device_limits: Option<bool>,
#[serde(
rename = "is_exempt_from_login_verification",
skip_serializing_if = "Option::is_none"
)]
pub is_exempt_from_login_verification: Option<bool>,
#[serde(
rename = "is_password_reset_required",
skip_serializing_if = "Option::is_none"
)]
pub is_password_reset_required: Option<bool>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(rename = "space_amount", skip_serializing_if = "Option::is_none")]
pub space_amount: Option<i64>,
#[serde(
rename = "notification_email",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub notification_email: Option<Option<Box<PutUsersIdRequestNotificationEmail>>>,
#[serde(
rename = "external_app_user_id",
skip_serializing_if = "Option::is_none"
)]
pub external_app_user_id: Option<String>,
}
impl PutUsersIdRequest {
pub fn new() -> PutUsersIdRequest {
PutUsersIdRequest {
enterprise: None,
notify: None,
name: None,
login: None,
role: None,
language: None,
is_sync_enabled: None,
job_title: None,
phone: None,
address: None,
tracking_codes: None,
can_see_managed_users: None,
timezone: None,
is_external_collab_restricted: None,
is_exempt_from_device_limits: None,
is_exempt_from_login_verification: None,
is_password_reset_required: None,
status: None,
space_amount: None,
notification_email: None,
external_app_user_id: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Role {
#[serde(rename = "coadmin")]
Coadmin,
#[serde(rename = "user")]
User,
}
impl Default for Role {
fn default() -> Role {
Self::Coadmin
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "active")]
Active,
#[serde(rename = "inactive")]
Inactive,
#[serde(rename = "cannot_delete_edit")]
CannotDeleteEdit,
#[serde(rename = "cannot_delete_edit_upload")]
CannotDeleteEditUpload,
}
impl Default for Status {
fn default() -> Status {
Self::Active
}
}