1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct NullableMinimalRepository {
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")]
26 pub owner: Box<models::SimpleUser>,
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 = "archive_url")]
38 pub archive_url: String,
39 #[serde(rename = "assignees_url")]
40 pub assignees_url: String,
41 #[serde(rename = "blobs_url")]
42 pub blobs_url: String,
43 #[serde(rename = "branches_url")]
44 pub branches_url: String,
45 #[serde(rename = "collaborators_url")]
46 pub collaborators_url: String,
47 #[serde(rename = "comments_url")]
48 pub comments_url: String,
49 #[serde(rename = "commits_url")]
50 pub commits_url: String,
51 #[serde(rename = "compare_url")]
52 pub compare_url: String,
53 #[serde(rename = "contents_url")]
54 pub contents_url: String,
55 #[serde(rename = "contributors_url")]
56 pub contributors_url: String,
57 #[serde(rename = "deployments_url")]
58 pub deployments_url: String,
59 #[serde(rename = "downloads_url")]
60 pub downloads_url: String,
61 #[serde(rename = "events_url")]
62 pub events_url: String,
63 #[serde(rename = "forks_url")]
64 pub forks_url: String,
65 #[serde(rename = "git_commits_url")]
66 pub git_commits_url: String,
67 #[serde(rename = "git_refs_url")]
68 pub git_refs_url: String,
69 #[serde(rename = "git_tags_url")]
70 pub git_tags_url: String,
71 #[serde(rename = "git_url", skip_serializing_if = "Option::is_none")]
72 pub git_url: Option<String>,
73 #[serde(rename = "issue_comment_url")]
74 pub issue_comment_url: String,
75 #[serde(rename = "issue_events_url")]
76 pub issue_events_url: String,
77 #[serde(rename = "issues_url")]
78 pub issues_url: String,
79 #[serde(rename = "keys_url")]
80 pub keys_url: String,
81 #[serde(rename = "labels_url")]
82 pub labels_url: String,
83 #[serde(rename = "languages_url")]
84 pub languages_url: String,
85 #[serde(rename = "merges_url")]
86 pub merges_url: String,
87 #[serde(rename = "milestones_url")]
88 pub milestones_url: String,
89 #[serde(rename = "notifications_url")]
90 pub notifications_url: String,
91 #[serde(rename = "pulls_url")]
92 pub pulls_url: String,
93 #[serde(rename = "releases_url")]
94 pub releases_url: String,
95 #[serde(rename = "ssh_url", skip_serializing_if = "Option::is_none")]
96 pub ssh_url: Option<String>,
97 #[serde(rename = "stargazers_url")]
98 pub stargazers_url: String,
99 #[serde(rename = "statuses_url")]
100 pub statuses_url: String,
101 #[serde(rename = "subscribers_url")]
102 pub subscribers_url: String,
103 #[serde(rename = "subscription_url")]
104 pub subscription_url: String,
105 #[serde(rename = "tags_url")]
106 pub tags_url: String,
107 #[serde(rename = "teams_url")]
108 pub teams_url: String,
109 #[serde(rename = "trees_url")]
110 pub trees_url: String,
111 #[serde(rename = "clone_url", skip_serializing_if = "Option::is_none")]
112 pub clone_url: Option<String>,
113 #[serde(rename = "mirror_url", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
114 pub mirror_url: Option<Option<String>>,
115 #[serde(rename = "hooks_url")]
116 pub hooks_url: String,
117 #[serde(rename = "svn_url", skip_serializing_if = "Option::is_none")]
118 pub svn_url: Option<String>,
119 #[serde(rename = "homepage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
120 pub homepage: Option<Option<String>>,
121 #[serde(rename = "language", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
122 pub language: Option<Option<String>>,
123 #[serde(rename = "forks_count", skip_serializing_if = "Option::is_none")]
124 pub forks_count: Option<i32>,
125 #[serde(rename = "stargazers_count", skip_serializing_if = "Option::is_none")]
126 pub stargazers_count: Option<i32>,
127 #[serde(rename = "watchers_count", skip_serializing_if = "Option::is_none")]
128 pub watchers_count: Option<i32>,
129 #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
131 pub size: Option<i32>,
132 #[serde(rename = "default_branch", skip_serializing_if = "Option::is_none")]
133 pub default_branch: Option<String>,
134 #[serde(rename = "open_issues_count", skip_serializing_if = "Option::is_none")]
135 pub open_issues_count: Option<i32>,
136 #[serde(rename = "is_template", skip_serializing_if = "Option::is_none")]
137 pub is_template: Option<bool>,
138 #[serde(rename = "topics", skip_serializing_if = "Option::is_none")]
139 pub topics: Option<Vec<String>>,
140 #[serde(rename = "has_issues", skip_serializing_if = "Option::is_none")]
141 pub has_issues: Option<bool>,
142 #[serde(rename = "has_projects", skip_serializing_if = "Option::is_none")]
143 pub has_projects: Option<bool>,
144 #[serde(rename = "has_wiki", skip_serializing_if = "Option::is_none")]
145 pub has_wiki: Option<bool>,
146 #[serde(rename = "has_pages", skip_serializing_if = "Option::is_none")]
147 pub has_pages: Option<bool>,
148 #[serde(rename = "has_downloads", skip_serializing_if = "Option::is_none")]
149 pub has_downloads: Option<bool>,
150 #[serde(rename = "has_discussions", skip_serializing_if = "Option::is_none")]
151 pub has_discussions: Option<bool>,
152 #[serde(rename = "archived", skip_serializing_if = "Option::is_none")]
153 pub archived: Option<bool>,
154 #[serde(rename = "disabled", skip_serializing_if = "Option::is_none")]
155 pub disabled: Option<bool>,
156 #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
157 pub visibility: Option<String>,
158 #[serde(rename = "pushed_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
159 pub pushed_at: Option<Option<String>>,
160 #[serde(rename = "created_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
161 pub created_at: Option<Option<String>>,
162 #[serde(rename = "updated_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
163 pub updated_at: Option<Option<String>>,
164 #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
165 pub permissions: Option<Box<models::MinimalRepositoryPermissions>>,
166 #[serde(rename = "role_name", skip_serializing_if = "Option::is_none")]
167 pub role_name: Option<String>,
168 #[serde(rename = "temp_clone_token", skip_serializing_if = "Option::is_none")]
169 pub temp_clone_token: Option<String>,
170 #[serde(rename = "delete_branch_on_merge", skip_serializing_if = "Option::is_none")]
171 pub delete_branch_on_merge: Option<bool>,
172 #[serde(rename = "subscribers_count", skip_serializing_if = "Option::is_none")]
173 pub subscribers_count: Option<i32>,
174 #[serde(rename = "network_count", skip_serializing_if = "Option::is_none")]
175 pub network_count: Option<i32>,
176 #[serde(rename = "code_of_conduct", skip_serializing_if = "Option::is_none")]
177 pub code_of_conduct: Option<Box<models::CodeOfConduct>>,
178 #[serde(rename = "license", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
179 pub license: Option<Option<Box<models::MinimalRepositoryLicense>>>,
180 #[serde(rename = "forks", skip_serializing_if = "Option::is_none")]
181 pub forks: Option<i32>,
182 #[serde(rename = "open_issues", skip_serializing_if = "Option::is_none")]
183 pub open_issues: Option<i32>,
184 #[serde(rename = "watchers", skip_serializing_if = "Option::is_none")]
185 pub watchers: Option<i32>,
186 #[serde(rename = "allow_forking", skip_serializing_if = "Option::is_none")]
187 pub allow_forking: Option<bool>,
188 #[serde(rename = "web_commit_signoff_required", skip_serializing_if = "Option::is_none")]
189 pub web_commit_signoff_required: Option<bool>,
190 #[serde(rename = "security_and_analysis", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
191 pub security_and_analysis: Option<Option<Box<models::SecurityAndAnalysis>>>,
192}
193
194impl NullableMinimalRepository {
195 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) -> NullableMinimalRepository {
197 NullableMinimalRepository {
198 id,
199 node_id,
200 name,
201 full_name,
202 owner: Box::new(owner),
203 private,
204 html_url,
205 description,
206 fork,
207 url,
208 archive_url,
209 assignees_url,
210 blobs_url,
211 branches_url,
212 collaborators_url,
213 comments_url,
214 commits_url,
215 compare_url,
216 contents_url,
217 contributors_url,
218 deployments_url,
219 downloads_url,
220 events_url,
221 forks_url,
222 git_commits_url,
223 git_refs_url,
224 git_tags_url,
225 git_url: None,
226 issue_comment_url,
227 issue_events_url,
228 issues_url,
229 keys_url,
230 labels_url,
231 languages_url,
232 merges_url,
233 milestones_url,
234 notifications_url,
235 pulls_url,
236 releases_url,
237 ssh_url: None,
238 stargazers_url,
239 statuses_url,
240 subscribers_url,
241 subscription_url,
242 tags_url,
243 teams_url,
244 trees_url,
245 clone_url: None,
246 mirror_url: None,
247 hooks_url,
248 svn_url: None,
249 homepage: None,
250 language: None,
251 forks_count: None,
252 stargazers_count: None,
253 watchers_count: None,
254 size: None,
255 default_branch: None,
256 open_issues_count: None,
257 is_template: None,
258 topics: None,
259 has_issues: None,
260 has_projects: None,
261 has_wiki: None,
262 has_pages: None,
263 has_downloads: None,
264 has_discussions: None,
265 archived: None,
266 disabled: None,
267 visibility: None,
268 pushed_at: None,
269 created_at: None,
270 updated_at: None,
271 permissions: None,
272 role_name: None,
273 temp_clone_token: None,
274 delete_branch_on_merge: None,
275 subscribers_count: None,
276 network_count: None,
277 code_of_conduct: None,
278 license: None,
279 forks: None,
280 open_issues: None,
281 watchers: None,
282 allow_forking: None,
283 web_commit_signoff_required: None,
284 security_and_analysis: None,
285 }
286 }
287}
288