vrchatapi 1.20.7

VRChat API Client for Rust
Documentation
/*
 * VRChat API Documentation
 *
 *
 * Contact: vrchatapi.lpv0t@aries.fyi
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[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 = "bio", skip_serializing_if = "Option::is_none")]
    pub bio: Option<String>,
    #[serde(rename = "bioLinks", skip_serializing_if = "Option::is_none")]
    pub bio_links: Option<Vec<String>>,
    #[serde(rename = "birthday", skip_serializing_if = "Option::is_none")]
    pub birthday: Option<String>,
    /// These tags begin with `content_` and control content gating
    #[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>,
    /// MUST specify currentPassword as well to change display name
    #[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>,
    /// Opt out of the Mutuals feature
    #[serde(
        rename = "hasSharedConnectionsOptOut",
        skip_serializing_if = "Option::is_none"
    )]
    pub has_shared_connections_opt_out: Option<bool>,
    #[serde(rename = "isBoopingEnabled", skip_serializing_if = "Option::is_none")]
    pub is_booping_enabled: Option<bool>,
    /// MUST specify currentPassword as well to change password
    #[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>,
    /// MUST specify currentPassword as well to revert display name
    #[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>,
    /// MUST be a valid VRChat /file/ url.
    #[serde(rename = "userIcon", skip_serializing_if = "Option::is_none")]
    pub user_icon: Option<String>,
}

impl UpdateUserRequest {
    pub fn new() -> UpdateUserRequest {
        UpdateUserRequest {
            accepted_tos_version: None,
            bio: None,
            bio_links: None,
            birthday: None,
            content_filters: None,
            current_password: None,
            display_name: None,
            email: None,
            has_shared_connections_opt_out: None,
            is_booping_enabled: None,
            password: None,
            pronouns: None,
            revert_display_name: None,
            status: None,
            status_description: None,
            tags: None,
            unsubscribe: None,
            user_icon: None,
        }
    }
}