onesignal-rust-api 5.14.0

A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
Documentation
/*
 * OneSignal
 *
 * A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
 *
 * Contact: devrel@onesignal.com
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct AuditLogEvent {
    /// The action that was performed (e.g. notification.sent, segment.created, member.invited).
    #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
    pub action: Option<String>,
    #[serde(rename = "actor", skip_serializing_if = "Option::is_none")]
    pub actor: Option<Box<crate::models::AuditLogActor>>,
    /// UUID of the app the event is associated with. Absent for org-level events.
    #[serde(rename = "app_id", skip_serializing_if = "Option::is_none")]
    pub app_id: Option<String>,
    #[serde(rename = "context", skip_serializing_if = "Option::is_none")]
    pub context: Option<Box<crate::models::AuditLogContext>>,
    /// UUID of the audit log event.
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    /// Additional event-specific data that does not fit into the standard fields.
    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
    pub metadata: Option<serde_json::Value>,
    /// RFC 3339 timestamp of when the event occurred (e.g. 2026-02-18T12:34:56Z).
    #[serde(rename = "occurred_at", skip_serializing_if = "Option::is_none")]
    pub occurred_at: Option<String>,
    /// UUID of the organization the event belongs to.
    #[serde(rename = "organization_id", skip_serializing_if = "Option::is_none")]
    pub organization_id: Option<String>,
    /// The resources the action was performed on. May be empty for org-level events.
    #[serde(rename = "targets", skip_serializing_if = "Option::is_none")]
    pub targets: Option<Vec<crate::models::AuditLogTarget>>,
    /// Schema version of the event payload.
    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
    pub version: Option<i32>,
}

impl AuditLogEvent {
    pub fn new() -> AuditLogEvent {
        AuditLogEvent {
            action: None,
            actor: None,
            app_id: None,
            context: None,
            id: None,
            metadata: None,
            occurred_at: None,
            organization_id: None,
            targets: None,
            version: None,
        }
    }
}