openapi_github/models/
repo_search_result_item.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// RepoSearchResultItem : Repo Search Result Item
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct RepoSearchResultItem {
17    #[serde(rename = "id")]
18    pub id: i32,
19    #[serde(rename = "node_id")]
20    pub node_id: String,
21    #[serde(rename = "name")]
22    pub name: String,
23    #[serde(rename = "full_name")]
24    pub full_name: String,
25    #[serde(rename = "owner", deserialize_with = "Option::deserialize")]
26    pub owner: Option<Box<models::NullableSimpleUser>>,
27    #[serde(rename = "private")]
28    pub private: bool,
29    #[serde(rename = "html_url")]
30    pub html_url: String,
31    #[serde(rename = "description", deserialize_with = "Option::deserialize")]
32    pub description: Option<String>,
33    #[serde(rename = "fork")]
34    pub fork: bool,
35    #[serde(rename = "url")]
36    pub url: String,
37    #[serde(rename = "created_at")]
38    pub created_at: String,
39    #[serde(rename = "updated_at")]
40    pub updated_at: String,
41    #[serde(rename = "pushed_at")]
42    pub pushed_at: String,
43    #[serde(rename = "homepage", deserialize_with = "Option::deserialize")]
44    pub homepage: Option<String>,
45    #[serde(rename = "size")]
46    pub size: i32,
47    #[serde(rename = "stargazers_count")]
48    pub stargazers_count: i32,
49    #[serde(rename = "watchers_count")]
50    pub watchers_count: i32,
51    #[serde(rename = "language", deserialize_with = "Option::deserialize")]
52    pub language: Option<String>,
53    #[serde(rename = "forks_count")]
54    pub forks_count: i32,
55    #[serde(rename = "open_issues_count")]
56    pub open_issues_count: i32,
57    #[serde(rename = "master_branch", skip_serializing_if = "Option::is_none")]
58    pub master_branch: Option<String>,
59    #[serde(rename = "default_branch")]
60    pub default_branch: String,
61    #[serde(rename = "score")]
62    pub score: f64,
63    #[serde(rename = "forks_url")]
64    pub forks_url: String,
65    #[serde(rename = "keys_url")]
66    pub keys_url: String,
67    #[serde(rename = "collaborators_url")]
68    pub collaborators_url: String,
69    #[serde(rename = "teams_url")]
70    pub teams_url: String,
71    #[serde(rename = "hooks_url")]
72    pub hooks_url: String,
73    #[serde(rename = "issue_events_url")]
74    pub issue_events_url: String,
75    #[serde(rename = "events_url")]
76    pub events_url: String,
77    #[serde(rename = "assignees_url")]
78    pub assignees_url: String,
79    #[serde(rename = "branches_url")]
80    pub branches_url: String,
81    #[serde(rename = "tags_url")]
82    pub tags_url: String,
83    #[serde(rename = "blobs_url")]
84    pub blobs_url: String,
85    #[serde(rename = "git_tags_url")]
86    pub git_tags_url: String,
87    #[serde(rename = "git_refs_url")]
88    pub git_refs_url: String,
89    #[serde(rename = "trees_url")]
90    pub trees_url: String,
91    #[serde(rename = "statuses_url")]
92    pub statuses_url: String,
93    #[serde(rename = "languages_url")]
94    pub languages_url: String,
95    #[serde(rename = "stargazers_url")]
96    pub stargazers_url: String,
97    #[serde(rename = "contributors_url")]
98    pub contributors_url: String,
99    #[serde(rename = "subscribers_url")]
100    pub subscribers_url: String,
101    #[serde(rename = "subscription_url")]
102    pub subscription_url: String,
103    #[serde(rename = "commits_url")]
104    pub commits_url: String,
105    #[serde(rename = "git_commits_url")]
106    pub git_commits_url: String,
107    #[serde(rename = "comments_url")]
108    pub comments_url: String,
109    #[serde(rename = "issue_comment_url")]
110    pub issue_comment_url: String,
111    #[serde(rename = "contents_url")]
112    pub contents_url: String,
113    #[serde(rename = "compare_url")]
114    pub compare_url: String,
115    #[serde(rename = "merges_url")]
116    pub merges_url: String,
117    #[serde(rename = "archive_url")]
118    pub archive_url: String,
119    #[serde(rename = "downloads_url")]
120    pub downloads_url: String,
121    #[serde(rename = "issues_url")]
122    pub issues_url: String,
123    #[serde(rename = "pulls_url")]
124    pub pulls_url: String,
125    #[serde(rename = "milestones_url")]
126    pub milestones_url: String,
127    #[serde(rename = "notifications_url")]
128    pub notifications_url: String,
129    #[serde(rename = "labels_url")]
130    pub labels_url: String,
131    #[serde(rename = "releases_url")]
132    pub releases_url: String,
133    #[serde(rename = "deployments_url")]
134    pub deployments_url: String,
135    #[serde(rename = "git_url")]
136    pub git_url: String,
137    #[serde(rename = "ssh_url")]
138    pub ssh_url: String,
139    #[serde(rename = "clone_url")]
140    pub clone_url: String,
141    #[serde(rename = "svn_url")]
142    pub svn_url: String,
143    #[serde(rename = "forks")]
144    pub forks: i32,
145    #[serde(rename = "open_issues")]
146    pub open_issues: i32,
147    #[serde(rename = "watchers")]
148    pub watchers: i32,
149    #[serde(rename = "topics", skip_serializing_if = "Option::is_none")]
150    pub topics: Option<Vec<String>>,
151    #[serde(rename = "mirror_url", deserialize_with = "Option::deserialize")]
152    pub mirror_url: Option<String>,
153    #[serde(rename = "has_issues")]
154    pub has_issues: bool,
155    #[serde(rename = "has_projects")]
156    pub has_projects: bool,
157    #[serde(rename = "has_pages")]
158    pub has_pages: bool,
159    #[serde(rename = "has_wiki")]
160    pub has_wiki: bool,
161    #[serde(rename = "has_downloads")]
162    pub has_downloads: bool,
163    #[serde(rename = "has_discussions", skip_serializing_if = "Option::is_none")]
164    pub has_discussions: Option<bool>,
165    #[serde(rename = "archived")]
166    pub archived: bool,
167    /// Returns whether or not this repository disabled.
168    #[serde(rename = "disabled")]
169    pub disabled: bool,
170    /// The repository visibility: public, private, or internal.
171    #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
172    pub visibility: Option<String>,
173    #[serde(rename = "license", deserialize_with = "Option::deserialize")]
174    pub license: Option<Box<models::NullableLicenseSimple>>,
175    #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
176    pub permissions: Option<Box<models::FullRepositoryPermissions>>,
177    #[serde(rename = "text_matches", skip_serializing_if = "Option::is_none")]
178    pub text_matches: Option<Vec<models::SearchResultTextMatchesInner>>,
179    #[serde(rename = "temp_clone_token", skip_serializing_if = "Option::is_none")]
180    pub temp_clone_token: Option<String>,
181    #[serde(rename = "allow_merge_commit", skip_serializing_if = "Option::is_none")]
182    pub allow_merge_commit: Option<bool>,
183    #[serde(rename = "allow_squash_merge", skip_serializing_if = "Option::is_none")]
184    pub allow_squash_merge: Option<bool>,
185    #[serde(rename = "allow_rebase_merge", skip_serializing_if = "Option::is_none")]
186    pub allow_rebase_merge: Option<bool>,
187    #[serde(rename = "allow_auto_merge", skip_serializing_if = "Option::is_none")]
188    pub allow_auto_merge: Option<bool>,
189    #[serde(rename = "delete_branch_on_merge", skip_serializing_if = "Option::is_none")]
190    pub delete_branch_on_merge: Option<bool>,
191    #[serde(rename = "allow_forking", skip_serializing_if = "Option::is_none")]
192    pub allow_forking: Option<bool>,
193    #[serde(rename = "is_template", skip_serializing_if = "Option::is_none")]
194    pub is_template: Option<bool>,
195    #[serde(rename = "web_commit_signoff_required", skip_serializing_if = "Option::is_none")]
196    pub web_commit_signoff_required: Option<bool>,
197}
198
199impl RepoSearchResultItem {
200    /// Repo Search Result Item
201    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 {
202        RepoSearchResultItem {
203            id,
204            node_id,
205            name,
206            full_name,
207            owner: owner.map(Box::new),
208            private,
209            html_url,
210            description,
211            fork,
212            url,
213            created_at,
214            updated_at,
215            pushed_at,
216            homepage,
217            size,
218            stargazers_count,
219            watchers_count,
220            language,
221            forks_count,
222            open_issues_count,
223            master_branch: None,
224            default_branch,
225            score,
226            forks_url,
227            keys_url,
228            collaborators_url,
229            teams_url,
230            hooks_url,
231            issue_events_url,
232            events_url,
233            assignees_url,
234            branches_url,
235            tags_url,
236            blobs_url,
237            git_tags_url,
238            git_refs_url,
239            trees_url,
240            statuses_url,
241            languages_url,
242            stargazers_url,
243            contributors_url,
244            subscribers_url,
245            subscription_url,
246            commits_url,
247            git_commits_url,
248            comments_url,
249            issue_comment_url,
250            contents_url,
251            compare_url,
252            merges_url,
253            archive_url,
254            downloads_url,
255            issues_url,
256            pulls_url,
257            milestones_url,
258            notifications_url,
259            labels_url,
260            releases_url,
261            deployments_url,
262            git_url,
263            ssh_url,
264            clone_url,
265            svn_url,
266            forks,
267            open_issues,
268            watchers,
269            topics: None,
270            mirror_url,
271            has_issues,
272            has_projects,
273            has_pages,
274            has_wiki,
275            has_downloads,
276            has_discussions: None,
277            archived,
278            disabled,
279            visibility: None,
280            license: license.map(Box::new),
281            permissions: None,
282            text_matches: None,
283            temp_clone_token: None,
284            allow_merge_commit: None,
285            allow_squash_merge: None,
286            allow_rebase_merge: None,
287            allow_auto_merge: None,
288            delete_branch_on_merge: None,
289            allow_forking: None,
290            is_template: None,
291            web_commit_signoff_required: None,
292        }
293    }
294}
295