/*
 * Gitea API.
 *
 * This documentation describes the Gitea API.
 *
 * The version of the OpenAPI document: 1.17.3
 * 
 * Generated by: https://openapi-generator.tech
 */

/// Repository : Repository represents a repository



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Repository {
    #[serde(rename = "allow_merge_commits", skip_serializing_if = "Option::is_none")]
    pub allow_merge_commits: Option<bool>,
    #[serde(rename = "allow_rebase", skip_serializing_if = "Option::is_none")]
    pub allow_rebase: Option<bool>,
    #[serde(rename = "allow_rebase_explicit", skip_serializing_if = "Option::is_none")]
    pub allow_rebase_explicit: Option<bool>,
    #[serde(rename = "allow_squash_merge", skip_serializing_if = "Option::is_none")]
    pub allow_squash_merge: Option<bool>,
    #[serde(rename = "archived", skip_serializing_if = "Option::is_none")]
    pub archived: Option<bool>,
    #[serde(rename = "avatar_url", skip_serializing_if = "Option::is_none")]
    pub avatar_url: Option<String>,
    #[serde(rename = "clone_url", skip_serializing_if = "Option::is_none")]
    pub clone_url: Option<String>,
    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    #[serde(rename = "default_branch", skip_serializing_if = "Option::is_none")]
    pub default_branch: Option<String>,
    #[serde(rename = "default_merge_style", skip_serializing_if = "Option::is_none")]
    pub default_merge_style: Option<String>,
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(rename = "empty", skip_serializing_if = "Option::is_none")]
    pub empty: Option<bool>,
    #[serde(rename = "external_tracker", skip_serializing_if = "Option::is_none")]
    pub external_tracker: Option<Box<crate::models::ExternalTracker>>,
    #[serde(rename = "external_wiki", skip_serializing_if = "Option::is_none")]
    pub external_wiki: Option<Box<crate::models::ExternalWiki>>,
    #[serde(rename = "fork", skip_serializing_if = "Option::is_none")]
    pub fork: Option<bool>,
    #[serde(rename = "forks_count", skip_serializing_if = "Option::is_none")]
    pub forks_count: Option<i64>,
    #[serde(rename = "full_name", skip_serializing_if = "Option::is_none")]
    pub full_name: Option<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_pull_requests", skip_serializing_if = "Option::is_none")]
    pub has_pull_requests: Option<bool>,
    #[serde(rename = "has_wiki", skip_serializing_if = "Option::is_none")]
    pub has_wiki: Option<bool>,
    #[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
    pub html_url: Option<String>,
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<i64>,
    #[serde(rename = "ignore_whitespace_conflicts", skip_serializing_if = "Option::is_none")]
    pub ignore_whitespace_conflicts: Option<bool>,
    #[serde(rename = "internal", skip_serializing_if = "Option::is_none")]
    pub internal: Option<bool>,
    #[serde(rename = "internal_tracker", skip_serializing_if = "Option::is_none")]
    pub internal_tracker: Option<Box<crate::models::InternalTracker>>,
    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
    pub language: Option<String>,
    #[serde(rename = "languages_url", skip_serializing_if = "Option::is_none")]
    pub languages_url: Option<String>,
    #[serde(rename = "mirror", skip_serializing_if = "Option::is_none")]
    pub mirror: Option<bool>,
    #[serde(rename = "mirror_interval", skip_serializing_if = "Option::is_none")]
    pub mirror_interval: Option<String>,
    #[serde(rename = "mirror_updated", skip_serializing_if = "Option::is_none")]
    pub mirror_updated: Option<String>,
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "open_issues_count", skip_serializing_if = "Option::is_none")]
    pub open_issues_count: Option<i64>,
    #[serde(rename = "open_pr_counter", skip_serializing_if = "Option::is_none")]
    pub open_pr_counter: Option<i64>,
    #[serde(rename = "original_url", skip_serializing_if = "Option::is_none")]
    pub original_url: Option<String>,
    #[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
    pub owner: Option<Box<crate::models::User>>,
    #[serde(rename = "parent", skip_serializing_if = "Option::is_none")]
    pub parent: Option<Box<crate::models::Repository>>,
    #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
    pub permissions: Option<Box<crate::models::Permission>>,
    #[serde(rename = "private", skip_serializing_if = "Option::is_none")]
    pub private: Option<bool>,
    #[serde(rename = "release_counter", skip_serializing_if = "Option::is_none")]
    pub release_counter: Option<i64>,
    #[serde(rename = "repo_transfer", skip_serializing_if = "Option::is_none")]
    pub repo_transfer: Option<Box<crate::models::RepoTransfer>>,
    #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
    pub size: Option<i64>,
    #[serde(rename = "ssh_url", skip_serializing_if = "Option::is_none")]
    pub ssh_url: Option<String>,
    #[serde(rename = "stars_count", skip_serializing_if = "Option::is_none")]
    pub stars_count: Option<i64>,
    #[serde(rename = "template", skip_serializing_if = "Option::is_none")]
    pub template: Option<bool>,
    #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<String>,
    #[serde(rename = "watchers_count", skip_serializing_if = "Option::is_none")]
    pub watchers_count: Option<i64>,
    #[serde(rename = "website", skip_serializing_if = "Option::is_none")]
    pub website: Option<String>,
}

impl Repository {
    /// Repository represents a repository
    pub fn new() -> Repository {
        Repository {
            allow_merge_commits: None,
            allow_rebase: None,
            allow_rebase_explicit: None,
            allow_squash_merge: None,
            archived: None,
            avatar_url: None,
            clone_url: None,
            created_at: None,
            default_branch: None,
            default_merge_style: None,
            description: None,
            empty: None,
            external_tracker: None,
            external_wiki: None,
            fork: None,
            forks_count: None,
            full_name: None,
            has_issues: None,
            has_projects: None,
            has_pull_requests: None,
            has_wiki: None,
            html_url: None,
            id: None,
            ignore_whitespace_conflicts: None,
            internal: None,
            internal_tracker: None,
            language: None,
            languages_url: None,
            mirror: None,
            mirror_interval: None,
            mirror_updated: None,
            name: None,
            open_issues_count: None,
            open_pr_counter: None,
            original_url: None,
            owner: None,
            parent: None,
            permissions: None,
            private: None,
            release_counter: None,
            repo_transfer: None,
            size: None,
            ssh_url: None,
            stars_count: None,
            template: None,
            updated_at: None,
            watchers_count: None,
            website: None,
        }
    }
}


