use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct WebhookInstallationRepositoriesRemoved {
#[serde(rename = "action")]
pub action: Action,
#[serde(rename = "enterprise", skip_serializing_if = "Option::is_none")]
pub enterprise: Option<Box<models::EnterpriseWebhooks>>,
#[serde(rename = "installation")]
pub installation: Box<models::Installation>,
#[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
pub organization: Option<Box<models::OrganizationSimpleWebhooks>>,
#[serde(rename = "repositories_added")]
pub repositories_added: Vec<models::WebhooksRepositoriesInner>,
#[serde(rename = "repositories_removed")]
pub repositories_removed: Vec<models::WebhooksRepositoriesInner>,
#[serde(rename = "repository", skip_serializing_if = "Option::is_none")]
pub repository: Option<Box<models::RepositoryWebhooks>>,
#[serde(rename = "repository_selection")]
pub repository_selection: models::WebhooksRepositorySelection,
#[serde(rename = "requester", deserialize_with = "Option::deserialize")]
pub requester: Option<Box<models::WebhooksUser>>,
#[serde(rename = "sender")]
pub sender: Box<models::SimpleUserWebhooks>,
}
impl WebhookInstallationRepositoriesRemoved {
pub fn new(action: Action, installation: models::Installation, repositories_added: Vec<models::WebhooksRepositoriesInner>, repositories_removed: Vec<models::WebhooksRepositoriesInner>, repository_selection: models::WebhooksRepositorySelection, requester: Option<models::WebhooksUser>, sender: models::SimpleUserWebhooks) -> WebhookInstallationRepositoriesRemoved {
WebhookInstallationRepositoriesRemoved {
action,
enterprise: None,
installation: Box::new(installation),
organization: None,
repositories_added,
repositories_removed,
repository: None,
repository_selection,
requester: requester.map(Box::new),
sender: Box::new(sender),
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Action {
#[serde(rename = "removed")]
Removed,
}
impl Default for Action {
fn default() -> Action {
Self::Removed
}
}