messaging_api_line/models/
flex_component.rs

1/*
2 * LINE Messaging API
3 *
4 * This document describes LINE Messaging API.
5 *
6 * The version of the OpenAPI document: 0.0.1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14use super::{
15    FlexBox, FlexButton, FlexFiller, FlexIcon, FlexImage, FlexSeparator, FlexSpan, FlexText,
16    FlexVideo,
17};
18
19#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
20#[serde(tag = "type")]
21pub enum FlexComponent {
22    #[serde(rename = "box")]
23    FlexBox(FlexBox),
24    #[serde(rename = "button")]
25    FlexButton(FlexButton),
26    #[serde(rename = "filler")]
27    FlexFiller(FlexFiller),
28    #[serde(rename = "icon")]
29    FlexIcon(FlexIcon),
30    #[serde(rename = "image")]
31    FlexImage(FlexImage),
32    #[serde(rename = "separator")]
33    FlexSeparator(FlexSeparator),
34    #[serde(rename = "span")]
35    FlexSpan(FlexSpan),
36    #[serde(rename = "text")]
37    FlexText(FlexText),
38    #[serde(rename = "video")]
39    FlexVideo(FlexVideo),
40}
41
42impl Default for FlexComponent {
43    fn default() -> Self {
44        Self::FlexBox(FlexBox::default())
45    }
46}