linkbreakers 1.101.6

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.101.6
 * 
 * Generated by: https://openapi-generator.tech
 */

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

/// Event : Records each scan or workflow action Linkbreakers processes, stitching together visitor, device, link, and routing details so analytics and automations stay in sync.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Event {
    #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
    pub action: Option<models::Action>,
    #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    #[serde(rename = "destination", skip_serializing_if = "Option::is_none")]
    pub destination: Option<String>,
    /// The workflow action that produced the destination URL. CLIENT_REDIRECT indicates a standard URL redirection, while other values represent form submissions, contact cards, etc.
    #[serde(rename = "destinationAction", skip_serializing_if = "Option::is_none")]
    pub destination_action: Option<models::EventAction>,
    #[serde(rename = "device", skip_serializing_if = "Option::is_none")]
    pub device: Option<Box<models::Device>>,
    #[serde(rename = "deviceId", skip_serializing_if = "Option::is_none")]
    pub device_id: Option<String>,
    #[serde(rename = "entrypoint", skip_serializing_if = "Option::is_none")]
    pub entrypoint: Option<String>,
    #[serde(rename = "httpMethod", skip_serializing_if = "Option::is_none")]
    pub http_method: Option<models::HttpMethod>,
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[serde(rename = "leadScore", skip_serializing_if = "Option::is_none")]
    pub lead_score: Option<Box<models::LeadScore>>,
    #[serde(rename = "leadScoreId", skip_serializing_if = "Option::is_none")]
    pub lead_score_id: Option<String>,
    #[serde(rename = "link", skip_serializing_if = "Option::is_none")]
    pub link: Option<Box<models::Link>>,
    #[serde(rename = "linkId", skip_serializing_if = "Option::is_none")]
    pub link_id: Option<String>,
    #[serde(rename = "scannedAt", skip_serializing_if = "Option::is_none")]
    pub scanned_at: Option<String>,
    #[serde(rename = "traces", skip_serializing_if = "Option::is_none")]
    pub traces: Option<Vec<models::EventTrace>>,
    #[serde(rename = "triggeredBy", skip_serializing_if = "Option::is_none")]
    pub triggered_by: Option<models::TriggeredBy>,
    #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<String>,
    #[serde(rename = "visitType", skip_serializing_if = "Option::is_none")]
    pub visit_type: Option<models::VisitType>,
    #[serde(rename = "visitor", skip_serializing_if = "Option::is_none")]
    pub visitor: Option<Box<models::Visitor>>,
    #[serde(rename = "visitorId", skip_serializing_if = "Option::is_none")]
    pub visitor_id: Option<String>,
    #[serde(rename = "workspace", skip_serializing_if = "Option::is_none")]
    pub workspace: Option<Box<models::Workspace>>,
    #[serde(rename = "workspaceId", skip_serializing_if = "Option::is_none")]
    pub workspace_id: Option<String>,
}

impl Event {
    /// Records each scan or workflow action Linkbreakers processes, stitching together visitor, device, link, and routing details so analytics and automations stay in sync.
    pub fn new() -> Event {
        Event {
            action: None,
            created_at: None,
            destination: None,
            destination_action: None,
            device: None,
            device_id: None,
            entrypoint: None,
            http_method: None,
            id: None,
            lead_score: None,
            lead_score_id: None,
            link: None,
            link_id: None,
            scanned_at: None,
            traces: None,
            triggered_by: None,
            updated_at: None,
            visit_type: None,
            visitor: None,
            visitor_id: None,
            workspace: None,
            workspace_id: None,
        }
    }
}