/*
* 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};
/// RepoSearchResultItem : Repo Search Result Item
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RepoSearchResultItem {
#[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", deserialize_with = "Option::deserialize")]
pub owner: Option<Box<models::NullableSimpleUser>>,
#[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 = "created_at")]
pub created_at: String,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "pushed_at")]
pub pushed_at: String,
#[serde(rename = "homepage", deserialize_with = "Option::deserialize")]
pub homepage: Option<String>,
#[serde(rename = "size")]
pub size: i32,
#[serde(rename = "stargazers_count")]
pub stargazers_count: i32,
#[serde(rename = "watchers_count")]
pub watchers_count: i32,
#[serde(rename = "language", deserialize_with = "Option::deserialize")]
pub language: Option<String>,
#[serde(rename = "forks_count")]
pub forks_count: i32,
#[serde(rename = "open_issues_count")]
pub open_issues_count: i32,
#[serde(rename = "master_branch", skip_serializing_if = "Option::is_none")]
pub master_branch: Option<String>,
#[serde(rename = "default_branch")]
pub default_branch: String,
#[serde(rename = "score")]
pub score: f64,
#[serde(rename = "forks_url")]
pub forks_url: String,
#[serde(rename = "keys_url")]
pub keys_url: String,
#[serde(rename = "collaborators_url")]
pub collaborators_url: String,
#[serde(rename = "teams_url")]
pub teams_url: String,
#[serde(rename = "hooks_url")]
pub hooks_url: String,
#[serde(rename = "issue_events_url")]
pub issue_events_url: String,
#[serde(rename = "events_url")]
pub events_url: String,
#[serde(rename = "assignees_url")]
pub assignees_url: String,
#[serde(rename = "branches_url")]
pub branches_url: String,
#[serde(rename = "tags_url")]
pub tags_url: String,
#[serde(rename = "blobs_url")]
pub blobs_url: String,
#[serde(rename = "git_tags_url")]
pub git_tags_url: String,
#[serde(rename = "git_refs_url")]
pub git_refs_url: String,
#[serde(rename = "trees_url")]
pub trees_url: String,
#[serde(rename = "statuses_url")]
pub statuses_url: String,
#[serde(rename = "languages_url")]
pub languages_url: String,
#[serde(rename = "stargazers_url")]
pub stargazers_url: String,
#[serde(rename = "contributors_url")]
pub contributors_url: String,
#[serde(rename = "subscribers_url")]
pub subscribers_url: String,
#[serde(rename = "subscription_url")]
pub subscription_url: String,
#[serde(rename = "commits_url")]
pub commits_url: String,
#[serde(rename = "git_commits_url")]
pub git_commits_url: String,
#[serde(rename = "comments_url")]
pub comments_url: String,
#[serde(rename = "issue_comment_url")]
pub issue_comment_url: String,
#[serde(rename = "contents_url")]
pub contents_url: String,
#[serde(rename = "compare_url")]
pub compare_url: String,
#[serde(rename = "merges_url")]
pub merges_url: String,
#[serde(rename = "archive_url")]
pub archive_url: String,
#[serde(rename = "downloads_url")]
pub downloads_url: String,
#[serde(rename = "issues_url")]
pub issues_url: String,
#[serde(rename = "pulls_url")]
pub pulls_url: String,
#[serde(rename = "milestones_url")]
pub milestones_url: String,
#[serde(rename = "notifications_url")]
pub notifications_url: String,
#[serde(rename = "labels_url")]
pub labels_url: String,
#[serde(rename = "releases_url")]
pub releases_url: String,
#[serde(rename = "deployments_url")]
pub deployments_url: String,
#[serde(rename = "git_url")]
pub git_url: String,
#[serde(rename = "ssh_url")]
pub ssh_url: String,
#[serde(rename = "clone_url")]
pub clone_url: String,
#[serde(rename = "svn_url")]
pub svn_url: String,
#[serde(rename = "forks")]
pub forks: i32,
#[serde(rename = "open_issues")]
pub open_issues: i32,
#[serde(rename = "watchers")]
pub watchers: i32,
#[serde(rename = "topics", skip_serializing_if = "Option::is_none")]
pub topics: Option<Vec<String>>,
#[serde(rename = "mirror_url", deserialize_with = "Option::deserialize")]
pub mirror_url: Option<String>,
#[serde(rename = "has_issues")]
pub has_issues: bool,
#[serde(rename = "has_projects")]
pub has_projects: bool,
#[serde(rename = "has_pages")]
pub has_pages: bool,
#[serde(rename = "has_wiki")]
pub has_wiki: bool,
#[serde(rename = "has_downloads")]
pub has_downloads: bool,
#[serde(rename = "has_discussions", skip_serializing_if = "Option::is_none")]
pub has_discussions: Option<bool>,
#[serde(rename = "archived")]
pub archived: bool,
/// Returns whether or not this repository disabled.
#[serde(rename = "disabled")]
pub disabled: bool,
/// The repository visibility: public, private, or internal.
#[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
pub visibility: Option<String>,
#[serde(rename = "license", deserialize_with = "Option::deserialize")]
pub license: Option<Box<models::NullableLicenseSimple>>,
#[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
pub permissions: Option<Box<models::FullRepositoryPermissions>>,
#[serde(rename = "text_matches", skip_serializing_if = "Option::is_none")]
pub text_matches: Option<Vec<models::SearchResultTextMatchesInner>>,
#[serde(rename = "temp_clone_token", skip_serializing_if = "Option::is_none")]
pub temp_clone_token: Option<String>,
#[serde(rename = "allow_merge_commit", skip_serializing_if = "Option::is_none")]
pub allow_merge_commit: Option<bool>,
#[serde(rename = "allow_squash_merge", skip_serializing_if = "Option::is_none")]
pub allow_squash_merge: Option<bool>,
#[serde(rename = "allow_rebase_merge", skip_serializing_if = "Option::is_none")]
pub allow_rebase_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_forking", skip_serializing_if = "Option::is_none")]
pub allow_forking: Option<bool>,
#[serde(rename = "is_template", skip_serializing_if = "Option::is_none")]
pub is_template: Option<bool>,
#[serde(rename = "web_commit_signoff_required", skip_serializing_if = "Option::is_none")]
pub web_commit_signoff_required: Option<bool>,
}
impl RepoSearchResultItem {
/// Repo Search Result Item
pub fn new(id: i32, node_id: String, name: String, full_name: String, owner: Option<models::NullableSimpleUser>, private: bool, html_url: String, description: Option<String>, fork: bool, url: String, created_at: String, updated_at: String, pushed_at: String, homepage: Option<String>, size: i32, stargazers_count: i32, watchers_count: i32, language: Option<String>, forks_count: i32, open_issues_count: i32, default_branch: String, score: f64, forks_url: String, keys_url: String, collaborators_url: String, teams_url: String, hooks_url: String, issue_events_url: String, events_url: String, assignees_url: String, branches_url: String, tags_url: String, blobs_url: String, git_tags_url: String, git_refs_url: String, trees_url: String, statuses_url: String, languages_url: String, stargazers_url: String, contributors_url: String, subscribers_url: String, subscription_url: String, commits_url: String, git_commits_url: String, comments_url: String, issue_comment_url: String, contents_url: String, compare_url: String, merges_url: String, archive_url: String, downloads_url: String, issues_url: String, pulls_url: String, milestones_url: String, notifications_url: String, labels_url: String, releases_url: String, deployments_url: String, git_url: String, ssh_url: String, clone_url: String, svn_url: String, forks: i32, open_issues: i32, watchers: i32, mirror_url: Option<String>, has_issues: bool, has_projects: bool, has_pages: bool, has_wiki: bool, has_downloads: bool, archived: bool, disabled: bool, license: Option<models::NullableLicenseSimple>) -> RepoSearchResultItem {
RepoSearchResultItem {
id,
node_id,
name,
full_name,
owner: owner.map(Box::new),
private,
html_url,
description,
fork,
url,
created_at,
updated_at,
pushed_at,
homepage,
size,
stargazers_count,
watchers_count,
language,
forks_count,
open_issues_count,
master_branch: None,
default_branch,
score,
forks_url,
keys_url,
collaborators_url,
teams_url,
hooks_url,
issue_events_url,
events_url,
assignees_url,
branches_url,
tags_url,
blobs_url,
git_tags_url,
git_refs_url,
trees_url,
statuses_url,
languages_url,
stargazers_url,
contributors_url,
subscribers_url,
subscription_url,
commits_url,
git_commits_url,
comments_url,
issue_comment_url,
contents_url,
compare_url,
merges_url,
archive_url,
downloads_url,
issues_url,
pulls_url,
milestones_url,
notifications_url,
labels_url,
releases_url,
deployments_url,
git_url,
ssh_url,
clone_url,
svn_url,
forks,
open_issues,
watchers,
topics: None,
mirror_url,
has_issues,
has_projects,
has_pages,
has_wiki,
has_downloads,
has_discussions: None,
archived,
disabled,
visibility: None,
license: license.map(Box::new),
permissions: None,
text_matches: None,
temp_clone_token: None,
allow_merge_commit: None,
allow_squash_merge: None,
allow_rebase_merge: None,
allow_auto_merge: None,
delete_branch_on_merge: None,
allow_forking: None,
is_template: None,
web_commit_signoff_required: None,
}
}
}