line_bot_messaging_api/entity/message/
location.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 LineMessageLocation {
7    #[serde(rename = "type")]
8    message_type: String,
9    title: String,
10    address: String,
11    latitude: f32,
12    longitude: f32,
13}
14
15impl LineMessageLocation {
16    pub fn new(title: String, address: String, latitude: f32, longitude: f32) -> Self {
17        Self {
18            message_type: "location".to_string(),
19            title,
20            address,
21            latitude,
22            longitude,
23        }
24    }
25}
26
27impl LineMessageObject for LineMessageLocation {
28    fn build(&self) -> Value {
29        json!(self)
30    }
31}