use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RepositoryWebhooksTemplateRepository {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "node_id", skip_serializing_if = "Option::is_none")]
pub node_id: Option<String>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "full_name", skip_serializing_if = "Option::is_none")]
pub full_name: Option<String>,
#[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
pub owner: Option<Box<models::BranchRestrictionPolicyUsersInner>>,
#[serde(rename = "private", skip_serializing_if = "Option::is_none")]
pub private: Option<bool>,
#[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "fork", skip_serializing_if = "Option::is_none")]
pub fork: Option<bool>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "archive_url", skip_serializing_if = "Option::is_none")]
pub archive_url: Option<String>,
#[serde(rename = "assignees_url", skip_serializing_if = "Option::is_none")]
pub assignees_url: Option<String>,
#[serde(rename = "blobs_url", skip_serializing_if = "Option::is_none")]
pub blobs_url: Option<String>,
#[serde(rename = "branches_url", skip_serializing_if = "Option::is_none")]
pub branches_url: Option<String>,
#[serde(rename = "collaborators_url", skip_serializing_if = "Option::is_none")]
pub collaborators_url: Option<String>,
#[serde(rename = "comments_url", skip_serializing_if = "Option::is_none")]
pub comments_url: Option<String>,
#[serde(rename = "commits_url", skip_serializing_if = "Option::is_none")]
pub commits_url: Option<String>,
#[serde(rename = "compare_url", skip_serializing_if = "Option::is_none")]
pub compare_url: Option<String>,
#[serde(rename = "contents_url", skip_serializing_if = "Option::is_none")]
pub contents_url: Option<String>,
#[serde(rename = "contributors_url", skip_serializing_if = "Option::is_none")]
pub contributors_url: Option<String>,
#[serde(rename = "deployments_url", skip_serializing_if = "Option::is_none")]
pub deployments_url: Option<String>,
#[serde(rename = "downloads_url", skip_serializing_if = "Option::is_none")]
pub downloads_url: Option<String>,
#[serde(rename = "events_url", skip_serializing_if = "Option::is_none")]
pub events_url: Option<String>,
#[serde(rename = "forks_url", skip_serializing_if = "Option::is_none")]
pub forks_url: Option<String>,
#[serde(rename = "git_commits_url", skip_serializing_if = "Option::is_none")]
pub git_commits_url: Option<String>,
#[serde(rename = "git_refs_url", skip_serializing_if = "Option::is_none")]
pub git_refs_url: Option<String>,
#[serde(rename = "git_tags_url", skip_serializing_if = "Option::is_none")]
pub git_tags_url: Option<String>,
#[serde(rename = "git_url", skip_serializing_if = "Option::is_none")]
pub git_url: Option<String>,
#[serde(rename = "issue_comment_url", skip_serializing_if = "Option::is_none")]
pub issue_comment_url: Option<String>,
#[serde(rename = "issue_events_url", skip_serializing_if = "Option::is_none")]
pub issue_events_url: Option<String>,
#[serde(rename = "issues_url", skip_serializing_if = "Option::is_none")]
pub issues_url: Option<String>,
#[serde(rename = "keys_url", skip_serializing_if = "Option::is_none")]
pub keys_url: Option<String>,
#[serde(rename = "labels_url", skip_serializing_if = "Option::is_none")]
pub labels_url: Option<String>,
#[serde(rename = "languages_url", skip_serializing_if = "Option::is_none")]
pub languages_url: Option<String>,
#[serde(rename = "merges_url", skip_serializing_if = "Option::is_none")]
pub merges_url: Option<String>,
#[serde(rename = "milestones_url", skip_serializing_if = "Option::is_none")]
pub milestones_url: Option<String>,
#[serde(rename = "notifications_url", skip_serializing_if = "Option::is_none")]
pub notifications_url: Option<String>,
#[serde(rename = "pulls_url", skip_serializing_if = "Option::is_none")]
pub pulls_url: Option<String>,
#[serde(rename = "releases_url", skip_serializing_if = "Option::is_none")]
pub releases_url: Option<String>,
#[serde(rename = "ssh_url", skip_serializing_if = "Option::is_none")]
pub ssh_url: Option<String>,
#[serde(rename = "stargazers_url", skip_serializing_if = "Option::is_none")]
pub stargazers_url: Option<String>,
#[serde(rename = "statuses_url", skip_serializing_if = "Option::is_none")]
pub statuses_url: Option<String>,
#[serde(rename = "subscribers_url", skip_serializing_if = "Option::is_none")]
pub subscribers_url: Option<String>,
#[serde(rename = "subscription_url", skip_serializing_if = "Option::is_none")]
pub subscription_url: Option<String>,
#[serde(rename = "tags_url", skip_serializing_if = "Option::is_none")]
pub tags_url: Option<String>,
#[serde(rename = "teams_url", skip_serializing_if = "Option::is_none")]
pub teams_url: Option<String>,
#[serde(rename = "trees_url", skip_serializing_if = "Option::is_none")]
pub trees_url: Option<String>,
#[serde(rename = "clone_url", skip_serializing_if = "Option::is_none")]
pub clone_url: Option<String>,
#[serde(rename = "mirror_url", skip_serializing_if = "Option::is_none")]
pub mirror_url: Option<String>,
#[serde(rename = "hooks_url", skip_serializing_if = "Option::is_none")]
pub hooks_url: Option<String>,
#[serde(rename = "svn_url", skip_serializing_if = "Option::is_none")]
pub svn_url: Option<String>,
#[serde(rename = "homepage", skip_serializing_if = "Option::is_none")]
pub homepage: Option<String>,
#[serde(rename = "language", skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(rename = "forks_count", skip_serializing_if = "Option::is_none")]
pub forks_count: Option<i32>,
#[serde(rename = "stargazers_count", skip_serializing_if = "Option::is_none")]
pub stargazers_count: Option<i32>,
#[serde(rename = "watchers_count", skip_serializing_if = "Option::is_none")]
pub watchers_count: Option<i32>,
#[serde(rename = "size", skip_serializing_if = "Option::is_none")]
pub size: Option<i32>,
#[serde(rename = "default_branch", skip_serializing_if = "Option::is_none")]
pub default_branch: Option<String>,
#[serde(rename = "open_issues_count", skip_serializing_if = "Option::is_none")]
pub open_issues_count: Option<i32>,
#[serde(rename = "is_template", skip_serializing_if = "Option::is_none")]
pub is_template: Option<bool>,
#[serde(rename = "topics", skip_serializing_if = "Option::is_none")]
pub topics: Option<Vec<String>>,
#[serde(rename = "has_issues", skip_serializing_if = "Option::is_none")]
pub has_issues: Option<bool>,
#[serde(rename = "has_projects", skip_serializing_if = "Option::is_none")]
pub has_projects: Option<bool>,
#[serde(rename = "has_wiki", skip_serializing_if = "Option::is_none")]
pub has_wiki: Option<bool>,
#[serde(rename = "has_pages", skip_serializing_if = "Option::is_none")]
pub has_pages: Option<bool>,
#[serde(rename = "has_downloads", skip_serializing_if = "Option::is_none")]
pub has_downloads: Option<bool>,
#[serde(rename = "archived", skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(rename = "disabled", skip_serializing_if = "Option::is_none")]
pub disabled: Option<bool>,
#[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
pub visibility: Option<String>,
#[serde(rename = "pushed_at", skip_serializing_if = "Option::is_none")]
pub pushed_at: Option<String>,
#[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
pub permissions: Option<Box<models::MinimalRepositoryPermissions>>,
#[serde(rename = "allow_rebase_merge", skip_serializing_if = "Option::is_none")]
pub allow_rebase_merge: Option<bool>,
#[serde(rename = "temp_clone_token", skip_serializing_if = "Option::is_none")]
pub temp_clone_token: Option<String>,
#[serde(rename = "allow_squash_merge", skip_serializing_if = "Option::is_none")]
pub allow_squash_merge: Option<bool>,
#[serde(rename = "allow_auto_merge", skip_serializing_if = "Option::is_none")]
pub allow_auto_merge: Option<bool>,
#[serde(rename = "delete_branch_on_merge", skip_serializing_if = "Option::is_none")]
pub delete_branch_on_merge: Option<bool>,
#[serde(rename = "allow_update_branch", skip_serializing_if = "Option::is_none")]
pub allow_update_branch: Option<bool>,
#[serde(rename = "use_squash_pr_title_as_default", skip_serializing_if = "Option::is_none")]
pub use_squash_pr_title_as_default: Option<bool>,
#[serde(rename = "squash_merge_commit_title", skip_serializing_if = "Option::is_none")]
pub squash_merge_commit_title: Option<SquashMergeCommitTitle>,
#[serde(rename = "squash_merge_commit_message", skip_serializing_if = "Option::is_none")]
pub squash_merge_commit_message: Option<SquashMergeCommitMessage>,
#[serde(rename = "merge_commit_title", skip_serializing_if = "Option::is_none")]
pub merge_commit_title: Option<MergeCommitTitle>,
#[serde(rename = "merge_commit_message", skip_serializing_if = "Option::is_none")]
pub merge_commit_message: Option<MergeCommitMessage>,
#[serde(rename = "allow_merge_commit", skip_serializing_if = "Option::is_none")]
pub allow_merge_commit: Option<bool>,
#[serde(rename = "subscribers_count", skip_serializing_if = "Option::is_none")]
pub subscribers_count: Option<i32>,
#[serde(rename = "network_count", skip_serializing_if = "Option::is_none")]
pub network_count: Option<i32>,
}
impl RepositoryWebhooksTemplateRepository {
pub fn new() -> RepositoryWebhooksTemplateRepository {
RepositoryWebhooksTemplateRepository {
id: None,
node_id: None,
name: None,
full_name: None,
owner: None,
private: None,
html_url: None,
description: None,
fork: None,
url: None,
archive_url: None,
assignees_url: None,
blobs_url: None,
branches_url: None,
collaborators_url: None,
comments_url: None,
commits_url: None,
compare_url: None,
contents_url: None,
contributors_url: None,
deployments_url: None,
downloads_url: None,
events_url: None,
forks_url: None,
git_commits_url: None,
git_refs_url: None,
git_tags_url: None,
git_url: None,
issue_comment_url: None,
issue_events_url: None,
issues_url: None,
keys_url: None,
labels_url: None,
languages_url: None,
merges_url: None,
milestones_url: None,
notifications_url: None,
pulls_url: None,
releases_url: None,
ssh_url: None,
stargazers_url: None,
statuses_url: None,
subscribers_url: None,
subscription_url: None,
tags_url: None,
teams_url: None,
trees_url: None,
clone_url: None,
mirror_url: None,
hooks_url: None,
svn_url: None,
homepage: None,
language: None,
forks_count: None,
stargazers_count: None,
watchers_count: None,
size: None,
default_branch: None,
open_issues_count: None,
is_template: None,
topics: None,
has_issues: None,
has_projects: None,
has_wiki: None,
has_pages: None,
has_downloads: None,
archived: None,
disabled: None,
visibility: None,
pushed_at: None,
created_at: None,
updated_at: None,
permissions: None,
allow_rebase_merge: None,
temp_clone_token: None,
allow_squash_merge: None,
allow_auto_merge: None,
delete_branch_on_merge: None,
allow_update_branch: None,
use_squash_pr_title_as_default: None,
squash_merge_commit_title: None,
squash_merge_commit_message: None,
merge_commit_title: None,
merge_commit_message: None,
allow_merge_commit: None,
subscribers_count: None,
network_count: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum SquashMergeCommitTitle {
#[serde(rename = "PR_TITLE")]
PrTitle,
#[serde(rename = "COMMIT_OR_PR_TITLE")]
CommitOrPrTitle,
}
impl Default for SquashMergeCommitTitle {
fn default() -> SquashMergeCommitTitle {
Self::PrTitle
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum SquashMergeCommitMessage {
#[serde(rename = "PR_BODY")]
PrBody,
#[serde(rename = "COMMIT_MESSAGES")]
CommitMessages,
#[serde(rename = "BLANK")]
Blank,
}
impl Default for SquashMergeCommitMessage {
fn default() -> SquashMergeCommitMessage {
Self::PrBody
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MergeCommitTitle {
#[serde(rename = "PR_TITLE")]
PrTitle,
#[serde(rename = "MERGE_MESSAGE")]
MergeMessage,
}
impl Default for MergeCommitTitle {
fn default() -> MergeCommitTitle {
Self::PrTitle
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MergeCommitMessage {
#[serde(rename = "PR_BODY")]
PrBody,
#[serde(rename = "PR_TITLE")]
PrTitle,
#[serde(rename = "BLANK")]
Blank,
}
impl Default for MergeCommitMessage {
fn default() -> MergeCommitMessage {
Self::PrBody
}
}