line_bot_messaging_api/entity/webhook/event/
mod.rs

1use crate::webhook::account_link::LineWebhookEventAccountLink;
2use crate::webhook::beacon::LineWebhookEventBeacon;
3use crate::webhook::member_joined::LineWebhookEventMemberJoined;
4use crate::webhook::member_left::LineWebhookEventMemberLeft;
5use crate::webhook::message::LineWebhookEventMessage;
6use crate::webhook::postback::LineWebhookEventPostback;
7use crate::webhook::things::LineWebhookEventThings;
8use crate::webhook::unsend::LineWebhookEventUnSend;
9use crate::webhook::video_play_complete::LineWebhookEventVideoPlayComplete;
10use serde_derive::{Deserialize, Serialize};
11
12pub mod account_link;
13pub mod beacon;
14pub mod member_joined;
15pub mod member_left;
16pub mod message;
17pub mod postback;
18pub mod things;
19pub mod unsend;
20pub mod video_play_complete;
21
22#[derive(Debug, Deserialize, Serialize, Clone, Default)]
23#[serde(untagged)]
24pub enum LineWebhookEventObject {
25    Message(LineWebhookEventMessage),
26    UnSend(LineWebhookEventUnSend),
27    Follow,
28    UnFollow,
29    Join,
30    Leave,
31    MemberJoined(LineWebhookEventMemberJoined),
32    MemberLeft(LineWebhookEventMemberLeft),
33    Postback(LineWebhookEventPostback),
34    VideoPlayComplete(LineWebhookEventVideoPlayComplete),
35    Beacon(LineWebhookEventBeacon),
36    AccountLink(LineWebhookEventAccountLink),
37    Things(LineWebhookEventThings),
38    #[default]
39    None,
40}