vrchatapi 1.22.2-nightly.10

VRChat API Client for Rust
Documentation
use crate::models;
use serde::{Deserialize, Serialize};

#[serde_with::serde_as]
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateProfileRequest {
    /// Six hexadecimal digits, without a leading `#`. May be empty.
    #[serde(
        rename = "backgroundGradientBottom",
        skip_serializing_if = "Option::is_none"
    )]
    pub background_gradient_bottom: Option<String>,
    /// Six hexadecimal digits, without a leading `#`. May be empty.
    #[serde(
        rename = "backgroundGradientTop",
        skip_serializing_if = "Option::is_none"
    )]
    pub background_gradient_top: Option<String>,
    #[serde(
        rename = "backgroundTextureId",
        skip_serializing_if = "Option::is_none"
    )]
    pub background_texture_id: Option<String>,
    #[serde(rename = "backgroundType", skip_serializing_if = "Option::is_none")]
    pub background_type: Option<BackgroundType>,
    /// Six hexadecimal digits, without a leading `#`. May be empty.
    #[serde(rename = "bannerColor", skip_serializing_if = "Option::is_none")]
    pub banner_color: Option<String>,
    #[serde(rename = "bannerCustomUrl", skip_serializing_if = "Option::is_none")]
    pub banner_custom_url: Option<String>,
    #[serde(rename = "bannerType", skip_serializing_if = "Option::is_none")]
    pub banner_type: Option<models::BannerType>,
    #[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 = "iconFrame", skip_serializing_if = "Option::is_none")]
    pub icon_frame: Option<String>,
    #[serde(rename = "languages", skip_serializing_if = "Option::is_none")]
    pub languages: Option<Vec<String>>,
    #[serde(rename = "nameplateEffect", skip_serializing_if = "Option::is_none")]
    pub nameplate_effect: Option<String>,
    #[serde(rename = "profileEffect", skip_serializing_if = "Option::is_none")]
    pub profile_effect: Option<String>,
    #[serde(rename = "themeId", skip_serializing_if = "Option::is_none")]
    pub theme_id: Option<models::PublicProfileThemeId>,
    #[serde(rename = "userIcon", skip_serializing_if = "Option::is_none")]
    pub user_icon: Option<String>,
}

impl UpdateProfileRequest {
    pub fn new() -> UpdateProfileRequest {
        UpdateProfileRequest {
            background_gradient_bottom: None,
            background_gradient_top: None,
            background_texture_id: None,
            background_type: None,
            banner_color: None,
            banner_custom_url: None,
            banner_type: None,
            bio: None,
            bio_links: None,
            icon_frame: None,
            languages: None,
            nameplate_effect: None,
            profile_effect: None,
            theme_id: None,
            user_icon: None,
        }
    }
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BackgroundType {
    #[serde(rename = "default")]
    Default,
    #[serde(rename = "gradient")]
    Gradient,
    #[serde(rename = "inventory")]
    Inventory,
    #[serde(rename = "texture")]
    Texture,
}

impl Default for BackgroundType {
    fn default() -> BackgroundType {
        Self::Default
    }
}