openapi-github 0.1.0

OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
Documentation
/*
 * GitHub's official OpenAPI spec + Octokit extension
 *
 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
 *
 * The version of the OpenAPI document: 16.6.0
 * 
 * Generated by: https://openapi-generator.tech
 */

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>,
    /// The default value for a squash merge commit title:  - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
    #[serde(rename = "squash_merge_commit_title", skip_serializing_if = "Option::is_none")]
    pub squash_merge_commit_title: Option<SquashMergeCommitTitle>,
    /// The default value for a squash merge commit message:  - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
    #[serde(rename = "squash_merge_commit_message", skip_serializing_if = "Option::is_none")]
    pub squash_merge_commit_message: Option<SquashMergeCommitMessage>,
    /// The default value for a merge commit title.  - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
    #[serde(rename = "merge_commit_title", skip_serializing_if = "Option::is_none")]
    pub merge_commit_title: Option<MergeCommitTitle>,
    /// The default value for a merge commit message.  - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
    #[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,
        }
    }
}
/// The default value for a squash merge commit title:  - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).
#[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
    }
}
/// The default value for a squash merge commit message:  - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.
#[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
    }
}
/// The default value for a merge commit title.  - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).
#[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
    }
}
/// The default value for a merge commit message.  - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.
#[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
    }
}