messaging_api_line/models/
template.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14use super::{ButtonsTemplate, CarouselTemplate, ConfirmTemplate, ImageCarouselTemplate};
15
16#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
17#[serde(tag = "type")]
18pub enum Template {
19 #[serde(rename = "buttons")]
20 ButtonsTemplate(ButtonsTemplate),
21 #[serde(rename = "carousel")]
22 CarouselTemplate(CarouselTemplate),
23 #[serde(rename = "confirm")]
24 ConfirmTemplate(ConfirmTemplate),
25 #[serde(rename = "image_carousel")]
26 ImageCarouselTemplate(ImageCarouselTemplate),
27}
28
29impl Default for Template {
30 fn default() -> Self {
31 Self::ButtonsTemplate(ButtonsTemplate::default())
32 }
33}