line_messaging_api/models/
postback_action.rs1#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
28pub struct PostbackAction {
29 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
31 pub r#type: Option<String>,
32 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
34 pub label: Option<String>,
35 #[serde(rename = "data", skip_serializing_if = "Option::is_none")]
36 pub data: Option<String>,
37 #[serde(rename = "displayText", skip_serializing_if = "Option::is_none")]
38 pub display_text: Option<String>,
39 #[serde(rename = "text", skip_serializing_if = "Option::is_none")]
40 pub text: Option<String>,
41 #[serde(rename = "inputOption", skip_serializing_if = "Option::is_none")]
42 pub input_option: Option<InputOption>,
43 #[serde(rename = "fillInText", skip_serializing_if = "Option::is_none")]
44 pub fill_in_text: Option<String>,
45}
46
47impl PostbackAction {
48 pub fn new() -> PostbackAction {
49 PostbackAction {
50 r#type: None,
51 label: None,
52 data: None,
53 display_text: None,
54 text: None,
55 input_option: None,
56 fill_in_text: None,
57 }
58 }
59}
60
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
63pub enum InputOption {
64 #[serde(rename = "closeRichMenu")]
65 CloseRichMenu,
66 #[serde(rename = "openRichMenu")]
67 OpenRichMenu,
68 #[serde(rename = "openKeyboard")]
69 OpenKeyboard,
70 #[serde(rename = "openVoice")]
71 OpenVoice,
72}
73
74impl Default for InputOption {
75 fn default() -> InputOption {
76 Self::CloseRichMenu
77 }
78}