/*
 * LINE Messaging API(Insight)
 *
 * This document describes LINE Messaging API(Insight).
 *
 * The version of the OpenAPI document: 0.0.1
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// GetMessageEventResponse : Statistics about how users interact with narrowcast messages or broadcast messages sent from your LINE Official Account.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetMessageEventResponse {
    #[serde(rename = "overview", skip_serializing_if = "Option::is_none")]
    pub overview: Option<Box<models::GetMessageEventResponseOverview>>,
    /// Array of information about individual message bubbles.
    #[serde(rename = "messages", skip_serializing_if = "Option::is_none")]
    pub messages: Option<Vec<models::GetMessageEventResponseMessage>>,
    /// Array of information about opened URLs in the message.
    #[serde(rename = "clicks", skip_serializing_if = "Option::is_none")]
    pub clicks: Option<Vec<models::GetMessageEventResponseClick>>,
}

impl GetMessageEventResponse {
    /// Statistics about how users interact with narrowcast messages or broadcast messages sent from your LINE Official Account.
    pub fn new() -> GetMessageEventResponse {
        GetMessageEventResponse {
            overview: None,
            messages: None,
            clicks: None,
        }
    }
}

