/*
 * Zernio API
 *
 * API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
 *
 * The version of the OpenAPI document: 1.0.4
 * Contact: support@zernio.com
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetInstagramStoryInsights200ResponseDataMetrics {
    /// Total story plays. Replaces deprecated 'impressions' for media created after 2024-07-02.
    #[serde(rename = "views")]
    pub views: i32,
    /// Unique accounts that saw the story.
    #[serde(rename = "reach")]
    pub reach: i32,
    /// DMs sent in reply to the story.
    #[serde(rename = "replies")]
    pub replies: i32,
    #[serde(rename = "shares")]
    pub shares: i32,
    /// Total nav actions (tapsForward + tapsBack + exits + swipesForward).
    #[serde(rename = "navigation")]
    pub navigation: i32,
    /// Tapped right to next slide of SAME story.
    #[serde(rename = "tapsForward")]
    pub taps_forward: i32,
    /// Tapped left to previous slide.
    #[serde(rename = "tapsBack")]
    pub taps_back: i32,
    /// Closed Stories interface entirely.
    #[serde(rename = "exits")]
    pub exits: i32,
    /// Swiped left to next account's story.
    #[serde(rename = "swipesForward")]
    pub swipes_forward: i32,
    #[serde(rename = "profileVisits")]
    pub profile_visits: i32,
    #[serde(rename = "follows")]
    pub follows: i32,
    #[serde(rename = "reposts")]
    pub reposts: i32,
    #[serde(rename = "totalInteractions")]
    pub total_interactions: i32,
}

impl GetInstagramStoryInsights200ResponseDataMetrics {
    pub fn new(
        views: i32,
        reach: i32,
        replies: i32,
        shares: i32,
        navigation: i32,
        taps_forward: i32,
        taps_back: i32,
        exits: i32,
        swipes_forward: i32,
        profile_visits: i32,
        follows: i32,
        reposts: i32,
        total_interactions: i32,
    ) -> GetInstagramStoryInsights200ResponseDataMetrics {
        GetInstagramStoryInsights200ResponseDataMetrics {
            views,
            reach,
            replies,
            shares,
            navigation,
            taps_forward,
            taps_back,
            exits,
            swipes_forward,
            profile_visits,
            follows,
            reposts,
            total_interactions,
        }
    }
}
