vrchatapi/models/
info_push_data_clickable.rs1use crate::models;
10use serde::{Deserialize, Serialize};
11
12#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
13pub struct InfoPushDataClickable {
14 #[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}