line_bot_sdk_messaging_api/models/
action.rs1use crate::models;
13use serde::{Deserialize, Serialize};
14
15#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
18#[serde(untagged)]
19pub enum Action {
20 CameraAction(Box<models::CameraAction>),
21 CameraRollAction(Box<models::CameraRollAction>),
22 ClipboardAction(Box<models::ClipboardAction>),
23 DatetimePickerAction(Box<models::DatetimePickerAction>),
24 LocationAction(Box<models::LocationAction>),
25 MessageAction(Box<models::MessageAction>),
26 PostbackAction(Box<models::PostbackAction>),
27 RichMenuSwitchAction(Box<models::RichMenuSwitchAction>),
28 UriAction(Box<models::UriAction>),
29}
30
31impl Default for Action {
32 fn default() -> Self {
33 Self::CameraAction(Box::new(Default::default()))
34 }
35}
36
37impl From<models::CameraAction> for Action {
39 fn from(value: models::CameraAction) -> Self {
40 Action::CameraAction(Box::new(value))
41 }
42}
43
44impl From<models::CameraRollAction> for Action {
45 fn from(value: models::CameraRollAction) -> Self {
46 Action::CameraRollAction(Box::new(value))
47 }
48}
49
50impl From<models::ClipboardAction> for Action {
51 fn from(value: models::ClipboardAction) -> Self {
52 Action::ClipboardAction(Box::new(value))
53 }
54}
55
56impl From<models::DatetimePickerAction> for Action {
57 fn from(value: models::DatetimePickerAction) -> Self {
58 Action::DatetimePickerAction(Box::new(value))
59 }
60}
61
62impl From<models::LocationAction> for Action {
63 fn from(value: models::LocationAction) -> Self {
64 Action::LocationAction(Box::new(value))
65 }
66}
67
68impl From<models::MessageAction> for Action {
69 fn from(value: models::MessageAction) -> Self {
70 Action::MessageAction(Box::new(value))
71 }
72}
73
74impl From<models::PostbackAction> for Action {
75 fn from(value: models::PostbackAction) -> Self {
76 Action::PostbackAction(Box::new(value))
77 }
78}
79
80impl From<models::RichMenuSwitchAction> for Action {
81 fn from(value: models::RichMenuSwitchAction) -> Self {
82 Action::RichMenuSwitchAction(Box::new(value))
83 }
84}
85
86impl From<models::UriAction> for Action {
87 fn from(value: models::UriAction) -> Self {
88 Action::UriAction(Box::new(value))
89 }
90}