vrchatapi/models/
info_push_data_clickable.rs

1/*
2 * VRChat API Documentation
3 *
4 *
5 * Contact: vrchatapi.lpv0t@aries.fyi
6 * Generated by: https://openapi-generator.tech
7 */
8
9use crate::models;
10use serde::{Deserialize, Serialize};
11
12#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
13pub struct InfoPushDataClickable {
14    /// In case of OpenURL, this would contain the link.
15    #[serde(rename = "parameters", skip_serializing_if = "Option::is_none")]
16    pub parameters: Option<Vec<String>>,
17    #[serde(rename = "command")]
18    pub command: Command,
19}
20
21impl InfoPushDataClickable {
22    pub fn new(command: Command) -> InfoPushDataClickable {
23        InfoPushDataClickable {
24            parameters: None,
25            command,
26        }
27    }
28}
29#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
30pub enum Command {
31    #[serde(rename = "CannedWorldSearch")]
32    CannedWorldSearch,
33    #[serde(rename = "OpenSafetyMenu")]
34    OpenSafetyMenu,
35    #[serde(rename = "OpenURL")]
36    OpenUrl,
37    #[serde(rename = "OpenVRCPlusMenu")]
38    OpenVrcPlusMenu,
39}
40
41impl Default for Command {
42    fn default() -> Command {
43        Self::CannedWorldSearch
44    }
45}