use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum Template {
ButtonsTemplate(Box<models::ButtonsTemplate>),
ConfirmTemplate(Box<models::ConfirmTemplate>),
CarouselTemplate(Box<models::CarouselTemplate>),
ImageCarouselTemplate(Box<models::ImageCarouselTemplate>),
}
impl Default for Template {
fn default() -> Self {
Self::ButtonsTemplate(Box::new(Default::default()))
}
}
impl From<models::ButtonsTemplate> for Template {
fn from(value: models::ButtonsTemplate) -> Self {
Template::ButtonsTemplate(Box::new(value))
}
}
impl From<models::ConfirmTemplate> for Template {
fn from(value: models::ConfirmTemplate) -> Self {
Template::ConfirmTemplate(Box::new(value))
}
}
impl From<models::CarouselTemplate> for Template {
fn from(value: models::CarouselTemplate) -> Self {
Template::CarouselTemplate(Box::new(value))
}
}
impl From<models::ImageCarouselTemplate> for Template {
fn from(value: models::ImageCarouselTemplate) -> Self {
Template::ImageCarouselTemplate(Box::new(value))
}
}