line_bot_messaging_api/entity/message/
flex.rs

1use crate::message::LineMessageObject;
2use serde_derive::{Deserialize, Serialize};
3use serde_json::{json, Value};
4
5#[derive(Debug, Default, Deserialize, Serialize, Clone)]
6pub struct LineMessageFlex {
7    #[serde(rename = "type")]
8    message_type: String,
9    #[serde(rename = "altText")]
10    alt_text: String,
11    contents: Value,
12}
13
14impl LineMessageFlex {
15    pub fn new<T: ToString>(alt_text: T, contents: Value) -> Self {
16        Self {
17            message_type: "flex".to_string(),
18            alt_text: alt_text.to_string(),
19            contents,
20        }
21    }
22}
23
24impl LineMessageObject for LineMessageFlex {
25    fn build(&self) -> Value {
26        json!(self)
27    }
28}