/*
* 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};
/// MinimalRepository : Minimal Repository
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct MinimalRepository {
#[serde(rename = "id")]
pub id: i32,
#[serde(rename = "node_id")]
pub node_id: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "full_name")]
pub full_name: String,
#[serde(rename = "owner")]
pub owner: Box<models::SimpleUser>,
#[serde(rename = "private")]
pub private: bool,
#[serde(rename = "html_url")]
pub html_url: String,
#[serde(rename = "description", deserialize_with = "Option::deserialize")]
pub description: Option<String>,
#[serde(rename = "fork")]
pub fork: bool,
#[serde(rename = "url")]
pub url: String,
#[serde(rename = "archive_url")]
pub archive_url: String,
#[serde(rename = "assignees_url")]
pub assignees_url: String,
#[serde(rename = "blobs_url")]
pub blobs_url: String,
#[serde(rename = "branches_url")]
pub branches_url: String,
#[serde(rename = "collaborators_url")]
pub collaborators_url: String,
#[serde(rename = "comments_url")]
pub comments_url: String,
#[serde(rename = "commits_url")]
pub commits_url: String,
#[serde(rename = "compare_url")]
pub compare_url: String,
#[serde(rename = "contents_url")]
pub contents_url: String,
#[serde(rename = "contributors_url")]
pub contributors_url: String,
#[serde(rename = "deployments_url")]
pub deployments_url: String,
#[serde(rename = "downloads_url")]
pub downloads_url: String,
#[serde(rename = "events_url")]
pub events_url: String,
#[serde(rename = "forks_url")]
pub forks_url: String,
#[serde(rename = "git_commits_url")]
pub git_commits_url: String,
#[serde(rename = "git_refs_url")]
pub git_refs_url: String,
#[serde(rename = "git_tags_url")]
pub git_tags_url: String,
#[serde(rename = "git_url", skip_serializing_if = "Option::is_none")]
pub git_url: Option<String>,
#[serde(rename = "issue_comment_url")]
pub issue_comment_url: String,
#[serde(rename = "issue_events_url")]
pub issue_events_url: String,
#[serde(rename = "issues_url")]
pub issues_url: String,
#[serde(rename = "keys_url")]
pub keys_url: String,
#[serde(rename = "labels_url")]
pub labels_url: String,
#[serde(rename = "languages_url")]
pub languages_url: String,
#[serde(rename = "merges_url")]
pub merges_url: String,
#[serde(rename = "milestones_url")]
pub milestones_url: String,
#[serde(rename = "notifications_url")]
pub notifications_url: String,
#[serde(rename = "pulls_url")]
pub pulls_url: String,
#[serde(rename = "releases_url")]
pub releases_url: String,
#[serde(rename = "ssh_url", skip_serializing_if = "Option::is_none")]
pub ssh_url: Option<String>,
#[serde(rename = "stargazers_url")]
pub stargazers_url: String,
#[serde(rename = "statuses_url")]
pub statuses_url: String,
#[serde(rename = "subscribers_url")]
pub subscribers_url: String,
#[serde(rename = "subscription_url")]
pub subscription_url: String,
#[serde(rename = "tags_url")]
pub tags_url: String,
#[serde(rename = "teams_url")]
pub teams_url: String,
#[serde(rename = "trees_url")]
pub trees_url: String,
#[serde(rename = "clone_url", skip_serializing_if = "Option::is_none")]
pub clone_url: Option<String>,
#[serde(rename = "mirror_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub mirror_url: Option<Option<String>>,
#[serde(rename = "hooks_url")]
pub hooks_url: String,
#[serde(rename = "svn_url", skip_serializing_if = "Option::is_none")]
pub svn_url: Option<String>,
#[serde(rename = "homepage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub homepage: Option<Option<String>>,
#[serde(rename = "language", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub language: Option<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>,
/// The size of the repository, in kilobytes. Size is calculated hourly. When a repository is initially created, the size is 0.
#[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 = "has_discussions", skip_serializing_if = "Option::is_none")]
pub has_discussions: 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", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub pushed_at: Option<Option<String>>,
#[serde(rename = "created_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub created_at: Option<Option<String>>,
#[serde(rename = "updated_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<Option<String>>,
#[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
pub permissions: Option<Box<models::MinimalRepositoryPermissions>>,
#[serde(rename = "role_name", skip_serializing_if = "Option::is_none")]
pub role_name: Option<String>,
#[serde(rename = "temp_clone_token", skip_serializing_if = "Option::is_none")]
pub temp_clone_token: Option<String>,
#[serde(rename = "delete_branch_on_merge", skip_serializing_if = "Option::is_none")]
pub delete_branch_on_merge: 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>,
#[serde(rename = "code_of_conduct", skip_serializing_if = "Option::is_none")]
pub code_of_conduct: Option<Box<models::CodeOfConduct>>,
#[serde(rename = "license", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub license: Option<Option<Box<models::MinimalRepositoryLicense>>>,
#[serde(rename = "forks", skip_serializing_if = "Option::is_none")]
pub forks: Option<i32>,
#[serde(rename = "open_issues", skip_serializing_if = "Option::is_none")]
pub open_issues: Option<i32>,
#[serde(rename = "watchers", skip_serializing_if = "Option::is_none")]
pub watchers: Option<i32>,
#[serde(rename = "allow_forking", skip_serializing_if = "Option::is_none")]
pub allow_forking: Option<bool>,
#[serde(rename = "web_commit_signoff_required", skip_serializing_if = "Option::is_none")]
pub web_commit_signoff_required: Option<bool>,
#[serde(rename = "security_and_analysis", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub security_and_analysis: Option<Option<Box<models::SecurityAndAnalysis>>>,
}
impl MinimalRepository {
/// Minimal Repository
pub fn new(id: i32, node_id: String, name: String, full_name: String, owner: models::SimpleUser, private: bool, html_url: String, description: Option<String>, fork: bool, url: String, archive_url: String, assignees_url: String, blobs_url: String, branches_url: String, collaborators_url: String, comments_url: String, commits_url: String, compare_url: String, contents_url: String, contributors_url: String, deployments_url: String, downloads_url: String, events_url: String, forks_url: String, git_commits_url: String, git_refs_url: String, git_tags_url: String, issue_comment_url: String, issue_events_url: String, issues_url: String, keys_url: String, labels_url: String, languages_url: String, merges_url: String, milestones_url: String, notifications_url: String, pulls_url: String, releases_url: String, stargazers_url: String, statuses_url: String, subscribers_url: String, subscription_url: String, tags_url: String, teams_url: String, trees_url: String, hooks_url: String) -> MinimalRepository {
MinimalRepository {
id,
node_id,
name,
full_name,
owner: Box::new(owner),
private,
html_url,
description,
fork,
url,
archive_url,
assignees_url,
blobs_url,
branches_url,
collaborators_url,
comments_url,
commits_url,
compare_url,
contents_url,
contributors_url,
deployments_url,
downloads_url,
events_url,
forks_url,
git_commits_url,
git_refs_url,
git_tags_url,
git_url: None,
issue_comment_url,
issue_events_url,
issues_url,
keys_url,
labels_url,
languages_url,
merges_url,
milestones_url,
notifications_url,
pulls_url,
releases_url,
ssh_url: None,
stargazers_url,
statuses_url,
subscribers_url,
subscription_url,
tags_url,
teams_url,
trees_url,
clone_url: None,
mirror_url: None,
hooks_url,
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,
has_discussions: None,
archived: None,
disabled: None,
visibility: None,
pushed_at: None,
created_at: None,
updated_at: None,
permissions: None,
role_name: None,
temp_clone_token: None,
delete_branch_on_merge: None,
subscribers_count: None,
network_count: None,
code_of_conduct: None,
license: None,
forks: None,
open_issues: None,
watchers: None,
allow_forking: None,
web_commit_signoff_required: None,
security_and_analysis: None,
}
}
}