1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Repository {
17 #[serde(rename = "allow_fast_forward_only_merge", skip_serializing_if = "Option::is_none")]
18 pub allow_fast_forward_only_merge: Option<bool>,
19 #[serde(rename = "allow_manual_merge", skip_serializing_if = "Option::is_none")]
20 pub allow_manual_merge: Option<bool>,
21 #[serde(rename = "allow_merge_commits", skip_serializing_if = "Option::is_none")]
22 pub allow_merge_commits: Option<bool>,
23 #[serde(rename = "allow_rebase", skip_serializing_if = "Option::is_none")]
24 pub allow_rebase: Option<bool>,
25 #[serde(rename = "allow_rebase_explicit", skip_serializing_if = "Option::is_none")]
26 pub allow_rebase_explicit: Option<bool>,
27 #[serde(rename = "allow_rebase_update", skip_serializing_if = "Option::is_none")]
28 pub allow_rebase_update: Option<bool>,
29 #[serde(rename = "allow_squash_merge", skip_serializing_if = "Option::is_none")]
30 pub allow_squash_merge: Option<bool>,
31 #[serde(rename = "archived", skip_serializing_if = "Option::is_none")]
32 pub archived: Option<bool>,
33 #[serde(rename = "archived_at", skip_serializing_if = "Option::is_none")]
34 pub archived_at: Option<String>,
35 #[serde(rename = "autodetect_manual_merge", skip_serializing_if = "Option::is_none")]
36 pub autodetect_manual_merge: Option<bool>,
37 #[serde(rename = "avatar_url", skip_serializing_if = "Option::is_none")]
38 pub avatar_url: Option<String>,
39 #[serde(rename = "clone_url", skip_serializing_if = "Option::is_none")]
40 pub clone_url: Option<String>,
41 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
42 pub created_at: Option<String>,
43 #[serde(rename = "default_allow_maintainer_edit", skip_serializing_if = "Option::is_none")]
44 pub default_allow_maintainer_edit: Option<bool>,
45 #[serde(rename = "default_branch", skip_serializing_if = "Option::is_none")]
46 pub default_branch: Option<String>,
47 #[serde(rename = "default_delete_branch_after_merge", skip_serializing_if = "Option::is_none")]
48 pub default_delete_branch_after_merge: Option<bool>,
49 #[serde(rename = "default_merge_style", skip_serializing_if = "Option::is_none")]
50 pub default_merge_style: Option<String>,
51 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
52 pub description: Option<String>,
53 #[serde(rename = "empty", skip_serializing_if = "Option::is_none")]
54 pub empty: Option<bool>,
55 #[serde(rename = "external_tracker", skip_serializing_if = "Option::is_none")]
56 pub external_tracker: Option<Box<models::ExternalTracker>>,
57 #[serde(rename = "external_wiki", skip_serializing_if = "Option::is_none")]
58 pub external_wiki: Option<Box<models::ExternalWiki>>,
59 #[serde(rename = "fork", skip_serializing_if = "Option::is_none")]
60 pub fork: Option<bool>,
61 #[serde(rename = "forks_count", skip_serializing_if = "Option::is_none")]
62 pub forks_count: Option<i64>,
63 #[serde(rename = "full_name", skip_serializing_if = "Option::is_none")]
64 pub full_name: Option<String>,
65 #[serde(rename = "has_actions", skip_serializing_if = "Option::is_none")]
66 pub has_actions: Option<bool>,
67 #[serde(rename = "has_code", skip_serializing_if = "Option::is_none")]
68 pub has_code: Option<bool>,
69 #[serde(rename = "has_issues", skip_serializing_if = "Option::is_none")]
70 pub has_issues: Option<bool>,
71 #[serde(rename = "has_packages", skip_serializing_if = "Option::is_none")]
72 pub has_packages: Option<bool>,
73 #[serde(rename = "has_projects", skip_serializing_if = "Option::is_none")]
74 pub has_projects: Option<bool>,
75 #[serde(rename = "has_pull_requests", skip_serializing_if = "Option::is_none")]
76 pub has_pull_requests: Option<bool>,
77 #[serde(rename = "has_releases", skip_serializing_if = "Option::is_none")]
78 pub has_releases: Option<bool>,
79 #[serde(rename = "has_wiki", skip_serializing_if = "Option::is_none")]
80 pub has_wiki: Option<bool>,
81 #[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
82 pub html_url: Option<String>,
83 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
84 pub id: Option<i64>,
85 #[serde(rename = "ignore_whitespace_conflicts", skip_serializing_if = "Option::is_none")]
86 pub ignore_whitespace_conflicts: Option<bool>,
87 #[serde(rename = "internal", skip_serializing_if = "Option::is_none")]
88 pub internal: Option<bool>,
89 #[serde(rename = "internal_tracker", skip_serializing_if = "Option::is_none")]
90 pub internal_tracker: Option<Box<models::InternalTracker>>,
91 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
92 pub language: Option<String>,
93 #[serde(rename = "languages_url", skip_serializing_if = "Option::is_none")]
94 pub languages_url: Option<String>,
95 #[serde(rename = "licenses", skip_serializing_if = "Option::is_none")]
96 pub licenses: Option<Vec<String>>,
97 #[serde(rename = "link", skip_serializing_if = "Option::is_none")]
98 pub link: Option<String>,
99 #[serde(rename = "mirror", skip_serializing_if = "Option::is_none")]
100 pub mirror: Option<bool>,
101 #[serde(rename = "mirror_interval", skip_serializing_if = "Option::is_none")]
102 pub mirror_interval: Option<String>,
103 #[serde(rename = "mirror_updated", skip_serializing_if = "Option::is_none")]
104 pub mirror_updated: Option<String>,
105 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
106 pub name: Option<String>,
107 #[serde(rename = "object_format_name", skip_serializing_if = "Option::is_none")]
109 pub object_format_name: Option<ObjectFormatName>,
110 #[serde(rename = "open_issues_count", skip_serializing_if = "Option::is_none")]
111 pub open_issues_count: Option<i64>,
112 #[serde(rename = "open_pr_counter", skip_serializing_if = "Option::is_none")]
113 pub open_pr_counter: Option<i64>,
114 #[serde(rename = "original_url", skip_serializing_if = "Option::is_none")]
115 pub original_url: Option<String>,
116 #[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
117 pub owner: Option<Box<models::User>>,
118 #[serde(rename = "parent", skip_serializing_if = "Option::is_none")]
119 pub parent: Option<Box<models::Repository>>,
120 #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
121 pub permissions: Option<Box<models::Permission>>,
122 #[serde(rename = "private", skip_serializing_if = "Option::is_none")]
123 pub private: Option<bool>,
124 #[serde(rename = "projects_mode", skip_serializing_if = "Option::is_none")]
125 pub projects_mode: Option<String>,
126 #[serde(rename = "release_counter", skip_serializing_if = "Option::is_none")]
127 pub release_counter: Option<i64>,
128 #[serde(rename = "repo_transfer", skip_serializing_if = "Option::is_none")]
129 pub repo_transfer: Option<Box<models::RepoTransfer>>,
130 #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
131 pub size: Option<i64>,
132 #[serde(rename = "ssh_url", skip_serializing_if = "Option::is_none")]
133 pub ssh_url: Option<String>,
134 #[serde(rename = "stars_count", skip_serializing_if = "Option::is_none")]
135 pub stars_count: Option<i64>,
136 #[serde(rename = "template", skip_serializing_if = "Option::is_none")]
137 pub template: Option<bool>,
138 #[serde(rename = "topics", skip_serializing_if = "Option::is_none")]
139 pub topics: Option<Vec<String>>,
140 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
141 pub updated_at: Option<String>,
142 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
143 pub url: Option<String>,
144 #[serde(rename = "watchers_count", skip_serializing_if = "Option::is_none")]
145 pub watchers_count: Option<i64>,
146 #[serde(rename = "website", skip_serializing_if = "Option::is_none")]
147 pub website: Option<String>,
148}
149
150impl Repository {
151 pub fn new() -> Repository {
153 Repository {
154 allow_fast_forward_only_merge: None,
155 allow_manual_merge: None,
156 allow_merge_commits: None,
157 allow_rebase: None,
158 allow_rebase_explicit: None,
159 allow_rebase_update: None,
160 allow_squash_merge: None,
161 archived: None,
162 archived_at: None,
163 autodetect_manual_merge: None,
164 avatar_url: None,
165 clone_url: None,
166 created_at: None,
167 default_allow_maintainer_edit: None,
168 default_branch: None,
169 default_delete_branch_after_merge: None,
170 default_merge_style: None,
171 description: None,
172 empty: None,
173 external_tracker: None,
174 external_wiki: None,
175 fork: None,
176 forks_count: None,
177 full_name: None,
178 has_actions: None,
179 has_code: None,
180 has_issues: None,
181 has_packages: None,
182 has_projects: None,
183 has_pull_requests: None,
184 has_releases: None,
185 has_wiki: None,
186 html_url: None,
187 id: None,
188 ignore_whitespace_conflicts: None,
189 internal: None,
190 internal_tracker: None,
191 language: None,
192 languages_url: None,
193 licenses: None,
194 link: None,
195 mirror: None,
196 mirror_interval: None,
197 mirror_updated: None,
198 name: None,
199 object_format_name: None,
200 open_issues_count: None,
201 open_pr_counter: None,
202 original_url: None,
203 owner: None,
204 parent: None,
205 permissions: None,
206 private: None,
207 projects_mode: None,
208 release_counter: None,
209 repo_transfer: None,
210 size: None,
211 ssh_url: None,
212 stars_count: None,
213 template: None,
214 topics: None,
215 updated_at: None,
216 url: None,
217 watchers_count: None,
218 website: None,
219 }
220 }
221}
222#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
224pub enum ObjectFormatName {
225 #[serde(rename = "sha1")]
226 Sha1,
227 #[serde(rename = "sha256")]
228 Sha256,
229}
230
231impl Default for ObjectFormatName {
232 fn default() -> ObjectFormatName {
233 Self::Sha1
234 }
235}
236