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 InfoPushDataClickable {
    /// In case of OpenURL, this would contain the link.
    #[serde(rename = "parameters", skip_serializing_if = "Option::is_none")]
    pub parameters: Option<Vec<String>>,
    #[serde(rename = "command")]
    pub command: Command,
}

impl InfoPushDataClickable {
    pub fn new(command: Command) -> InfoPushDataClickable {
        InfoPushDataClickable {
            parameters: None,
            command,
        }
    }
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Command {
    #[serde(rename = "CannedWorldSearch")]
    CannedWorldSearch,
    #[serde(rename = "OpenSafetyMenu")]
    OpenSafetyMenu,
    #[serde(rename = "OpenURL")]
    OpenUrl,
    #[serde(rename = "OpenVRCPlusMenu")]
    OpenVrcPlusMenu,
}

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