use crate::models;
use serde::{Deserialize, Serialize};
#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateUserRequest {
#[serde(rename = "acceptedTOSVersion", skip_serializing_if = "Option::is_none")]
pub accepted_tos_version: Option<i32>,
#[serde(rename = "allowAvatarCopying", skip_serializing_if = "Option::is_none")]
pub allow_avatar_copying: Option<bool>,
#[serde(
rename = "allowWorldsToCountFriendsInInstance",
skip_serializing_if = "Option::is_none"
)]
pub allow_worlds_to_count_friends_in_instance: Option<bool>,
#[serde(rename = "birthday", skip_serializing_if = "Option::is_none")]
pub birthday: Option<chrono::NaiveDate>,
#[serde(rename = "contentFilters", skip_serializing_if = "Option::is_none")]
pub content_filters: Option<Vec<models::ContentFilter>>,
#[serde(rename = "currentPassword", skip_serializing_if = "Option::is_none")]
pub current_password: Option<String>,
#[serde(rename = "displayName", skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(rename = "email", skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(
rename = "hasDiscordFriendsOptOut",
skip_serializing_if = "Option::is_none"
)]
pub has_discord_friends_opt_out: Option<bool>,
#[serde(
rename = "hasSharedConnectionsOptOut",
skip_serializing_if = "Option::is_none"
)]
pub has_shared_connections_opt_out: Option<bool>,
#[serde(rename = "homeLocation", skip_serializing_if = "Option::is_none")]
pub home_location: Option<String>,
#[serde(rename = "isBoopingEnabled", skip_serializing_if = "Option::is_none")]
pub is_booping_enabled: Option<bool>,
#[serde(rename = "password", skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(rename = "pronouns", skip_serializing_if = "Option::is_none")]
pub pronouns: Option<String>,
#[serde(rename = "revertDisplayName", skip_serializing_if = "Option::is_none")]
pub revert_display_name: Option<bool>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<models::UserStatus>,
#[serde(rename = "statusDescription", skip_serializing_if = "Option::is_none")]
pub status_description: Option<String>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "unsubscribe", skip_serializing_if = "Option::is_none")]
pub unsubscribe: Option<bool>,
}
impl UpdateUserRequest {
pub fn new() -> UpdateUserRequest {
UpdateUserRequest {
accepted_tos_version: None,
allow_avatar_copying: None,
allow_worlds_to_count_friends_in_instance: None,
birthday: None,
content_filters: None,
current_password: None,
display_name: None,
email: None,
has_discord_friends_opt_out: None,
has_shared_connections_opt_out: None,
home_location: None,
is_booping_enabled: None,
password: None,
pronouns: None,
revert_display_name: None,
status: None,
status_description: None,
tags: None,
unsubscribe: None,
}
}
}