use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct WebhookMetaDeletedHook {
#[serde(rename = "active")]
pub active: bool,
#[serde(rename = "config")]
pub config: Box<models::WebhookMetaDeletedHookConfig>,
#[serde(rename = "created_at")]
pub created_at: String,
#[serde(rename = "events")]
pub events: Vec<Events>,
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "type")]
pub r#type: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
}
impl WebhookMetaDeletedHook {
pub fn new(active: bool, config: models::WebhookMetaDeletedHookConfig, created_at: String, events: Vec<Events>, id: i32, name: String, r#type: String, updated_at: String) -> WebhookMetaDeletedHook {
WebhookMetaDeletedHook {
active,
config: Box::new(config),
created_at,
events,
id,
name,
r#type,
updated_at,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Events {
#[serde(rename = "*")]
Star,
#[serde(rename = "branch_protection_rule")]
BranchProtectionRule,
#[serde(rename = "check_run")]
CheckRun,
#[serde(rename = "check_suite")]
CheckSuite,
#[serde(rename = "code_scanning_alert")]
CodeScanningAlert,
#[serde(rename = "commit_comment")]
CommitComment,
#[serde(rename = "create")]
Create,
#[serde(rename = "delete")]
Delete,
#[serde(rename = "deployment")]
Deployment,
#[serde(rename = "deployment_status")]
DeploymentStatus,
#[serde(rename = "deploy_key")]
DeployKey,
#[serde(rename = "discussion")]
Discussion,
#[serde(rename = "discussion_comment")]
DiscussionComment,
#[serde(rename = "fork")]
Fork,
#[serde(rename = "gollum")]
Gollum,
#[serde(rename = "issues")]
Issues,
#[serde(rename = "issue_comment")]
IssueComment,
#[serde(rename = "label")]
Label,
#[serde(rename = "member")]
Member,
#[serde(rename = "membership")]
Membership,
#[serde(rename = "meta")]
Meta,
#[serde(rename = "milestone")]
Milestone,
#[serde(rename = "organization")]
Organization,
#[serde(rename = "org_block")]
OrgBlock,
#[serde(rename = "package")]
Package,
#[serde(rename = "page_build")]
PageBuild,
#[serde(rename = "project")]
Project,
#[serde(rename = "project_card")]
ProjectCard,
#[serde(rename = "project_column")]
ProjectColumn,
#[serde(rename = "public")]
Public,
#[serde(rename = "pull_request")]
PullRequest,
#[serde(rename = "pull_request_review")]
PullRequestReview,
#[serde(rename = "pull_request_review_comment")]
PullRequestReviewComment,
#[serde(rename = "pull_request_review_thread")]
PullRequestReviewThread,
#[serde(rename = "push")]
Push,
#[serde(rename = "registry_package")]
RegistryPackage,
#[serde(rename = "release")]
Release,
#[serde(rename = "repository")]
Repository,
#[serde(rename = "repository_import")]
RepositoryImport,
#[serde(rename = "repository_vulnerability_alert")]
RepositoryVulnerabilityAlert,
#[serde(rename = "secret_scanning_alert")]
SecretScanningAlert,
#[serde(rename = "secret_scanning_alert_location")]
SecretScanningAlertLocation,
#[serde(rename = "security_and_analysis")]
SecurityAndAnalysis,
#[serde(rename = "star")]
Star2,
#[serde(rename = "status")]
Status,
#[serde(rename = "team")]
Team,
#[serde(rename = "team_add")]
TeamAdd,
#[serde(rename = "watch")]
Watch,
#[serde(rename = "workflow_job")]
WorkflowJob,
#[serde(rename = "workflow_run")]
WorkflowRun,
#[serde(rename = "repository_dispatch")]
RepositoryDispatch,
#[serde(rename = "projects_v2_item")]
ProjectsV2Item,
}
impl Default for Events {
fn default() -> Events {
Self::Star
}
}