use serde::{Deserialize, Serialize};
use crate::models::{code_scannings::CodeScanningAlert, orgs::Organization, Author, Repository};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CodeScanningAlertWebhookEventPayload {
pub action: CodeScanningAlertWebhookEventAction,
pub alert: CodeScanningAlert,
pub commit_oid: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub enterprise: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub organization: Option<Organization>,
pub r#ref: String,
pub repository: Repository,
pub sender: Author,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
#[non_exhaustive]
pub enum CodeScanningAlertWebhookEventAction {
AppearedInBranch,
ClosedByUser,
Created,
Fixed,
Reopened,
ReopenedByUser,
}