linkbreakers 1.81.3

Official Rust SDK for the Linkbreakers API
Documentation
/*
 * Linkbreakers API
 *
 * This is a documentation of all the APIs of Linkbreakers
 *
 * The version of the OpenAPI document: 1.81.3
 * 
 * Generated by: https://openapi-generator.tech
 */

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

/// EventsMetric : Aggregated analytics calculated on demand for time windows, giving Linkbreakers UIs headline numbers without exposing raw events.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EventsMetric {
    #[serde(rename = "averageLeadScore", skip_serializing_if = "Option::is_none")]
    pub average_lead_score: Option<f64>,
    #[serde(rename = "firstAt", skip_serializing_if = "Option::is_none")]
    pub first_at: Option<String>,
    #[serde(rename = "lastAt", skip_serializing_if = "Option::is_none")]
    pub last_at: Option<String>,
    #[serde(rename = "topCity", skip_serializing_if = "Option::is_none")]
    pub top_city: Option<String>,
    #[serde(rename = "topCountry", skip_serializing_if = "Option::is_none")]
    pub top_country: Option<String>,
    /// DeviceType represents the physical form factor of the device. This describes the hardware category (phone, tablet, laptop, etc.), NOT who or what is operating it — see DeviceActor for that.   - DEVICE_TYPE_UNSPECIFIED: Device type not specified or not yet detected  - DEVICE_TYPE_NATIVE: Native QR scanner (no browser capabilities reported)  - DEVICE_TYPE_MOBILE: Mobile handset browser  - DEVICE_TYPE_TABLET: Tablet browser  - DEVICE_TYPE_DESKTOP: Desktop or laptop browser  - DEVICE_TYPE_UNKNOWN: Unable to classify the device
    #[serde(rename = "topDeviceType", skip_serializing_if = "Option::is_none")]
    pub top_device_type: Option<TopDeviceType>,
    #[serde(rename = "totalCities", skip_serializing_if = "Option::is_none")]
    pub total_cities: Option<i32>,
    #[serde(rename = "totalCountries", skip_serializing_if = "Option::is_none")]
    pub total_countries: Option<i32>,
    #[serde(rename = "totalDeviceTypes", skip_serializing_if = "Option::is_none")]
    pub total_device_types: Option<i32>,
    #[serde(rename = "totalEvents", skip_serializing_if = "Option::is_none")]
    pub total_events: Option<i32>,
}

impl EventsMetric {
    /// Aggregated analytics calculated on demand for time windows, giving Linkbreakers UIs headline numbers without exposing raw events.
    pub fn new() -> EventsMetric {
        EventsMetric {
            average_lead_score: None,
            first_at: None,
            last_at: None,
            top_city: None,
            top_country: None,
            top_device_type: None,
            total_cities: None,
            total_countries: None,
            total_device_types: None,
            total_events: None,
        }
    }
}
/// DeviceType represents the physical form factor of the device. This describes the hardware category (phone, tablet, laptop, etc.), NOT who or what is operating it — see DeviceActor for that.   - DEVICE_TYPE_UNSPECIFIED: Device type not specified or not yet detected  - DEVICE_TYPE_NATIVE: Native QR scanner (no browser capabilities reported)  - DEVICE_TYPE_MOBILE: Mobile handset browser  - DEVICE_TYPE_TABLET: Tablet browser  - DEVICE_TYPE_DESKTOP: Desktop or laptop browser  - DEVICE_TYPE_UNKNOWN: Unable to classify the device
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TopDeviceType {
    #[serde(rename = "DEVICE_TYPE_UNSPECIFIED")]
    DeviceTypeUnspecified,
    #[serde(rename = "DEVICE_TYPE_NATIVE")]
    DeviceTypeNative,
    #[serde(rename = "DEVICE_TYPE_MOBILE")]
    DeviceTypeMobile,
    #[serde(rename = "DEVICE_TYPE_TABLET")]
    DeviceTypeTablet,
    #[serde(rename = "DEVICE_TYPE_DESKTOP")]
    DeviceTypeDesktop,
    #[serde(rename = "DEVICE_TYPE_UNKNOWN")]
    DeviceTypeUnknown,
}

impl Default for TopDeviceType {
    fn default() -> TopDeviceType {
        Self::DeviceTypeUnspecified
    }
}