1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct RepositoryLite1 {
16 #[serde(rename = "archive_url")]
17 pub archive_url: String,
18 #[serde(rename = "assignees_url")]
19 pub assignees_url: String,
20 #[serde(rename = "blobs_url")]
21 pub blobs_url: String,
22 #[serde(rename = "branches_url")]
23 pub branches_url: String,
24 #[serde(rename = "collaborators_url")]
25 pub collaborators_url: String,
26 #[serde(rename = "comments_url")]
27 pub comments_url: String,
28 #[serde(rename = "commits_url")]
29 pub commits_url: String,
30 #[serde(rename = "compare_url")]
31 pub compare_url: String,
32 #[serde(rename = "contents_url")]
33 pub contents_url: String,
34 #[serde(rename = "contributors_url")]
35 pub contributors_url: String,
36 #[serde(rename = "deployments_url")]
37 pub deployments_url: String,
38 #[serde(rename = "description", deserialize_with = "Option::deserialize")]
39 pub description: Option<String>,
40 #[serde(rename = "downloads_url")]
41 pub downloads_url: String,
42 #[serde(rename = "events_url")]
43 pub events_url: String,
44 #[serde(rename = "fork")]
45 pub fork: bool,
46 #[serde(rename = "forks_url")]
47 pub forks_url: String,
48 #[serde(rename = "full_name")]
49 pub full_name: String,
50 #[serde(rename = "git_commits_url")]
51 pub git_commits_url: String,
52 #[serde(rename = "git_refs_url")]
53 pub git_refs_url: String,
54 #[serde(rename = "git_tags_url")]
55 pub git_tags_url: String,
56 #[serde(rename = "hooks_url")]
57 pub hooks_url: String,
58 #[serde(rename = "html_url")]
59 pub html_url: String,
60 #[serde(rename = "id")]
62 pub id: i32,
63 #[serde(rename = "issue_comment_url")]
64 pub issue_comment_url: String,
65 #[serde(rename = "issue_events_url")]
66 pub issue_events_url: String,
67 #[serde(rename = "issues_url")]
68 pub issues_url: String,
69 #[serde(rename = "keys_url")]
70 pub keys_url: String,
71 #[serde(rename = "labels_url")]
72 pub labels_url: String,
73 #[serde(rename = "languages_url")]
74 pub languages_url: String,
75 #[serde(rename = "merges_url")]
76 pub merges_url: String,
77 #[serde(rename = "milestones_url")]
78 pub milestones_url: String,
79 #[serde(rename = "name", deserialize_with = "Option::deserialize")]
81 pub name: Option<String>,
82 #[serde(rename = "node_id")]
83 pub node_id: String,
84 #[serde(rename = "notifications_url")]
85 pub notifications_url: String,
86 #[serde(rename = "owner", deserialize_with = "Option::deserialize")]
87 pub owner: Option<Box<models::User>>,
88 #[serde(rename = "private")]
90 pub private: bool,
91 #[serde(rename = "pulls_url")]
92 pub pulls_url: String,
93 #[serde(rename = "releases_url")]
94 pub releases_url: String,
95 #[serde(rename = "stargazers_url")]
96 pub stargazers_url: String,
97 #[serde(rename = "statuses_url")]
98 pub statuses_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 = "tags_url")]
104 pub tags_url: String,
105 #[serde(rename = "teams_url")]
106 pub teams_url: String,
107 #[serde(rename = "trees_url")]
108 pub trees_url: String,
109 #[serde(rename = "url")]
110 pub url: String,
111}
112
113impl RepositoryLite1 {
114 pub fn new(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, description: Option<String>, downloads_url: String, events_url: String, fork: bool, forks_url: String, full_name: String, git_commits_url: String, git_refs_url: String, git_tags_url: String, hooks_url: String, html_url: String, id: i32, 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, name: Option<String>, node_id: String, notifications_url: String, owner: Option<models::User>, private: bool, 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, url: String) -> RepositoryLite1 {
115 RepositoryLite1 {
116 archive_url,
117 assignees_url,
118 blobs_url,
119 branches_url,
120 collaborators_url,
121 comments_url,
122 commits_url,
123 compare_url,
124 contents_url,
125 contributors_url,
126 deployments_url,
127 description,
128 downloads_url,
129 events_url,
130 fork,
131 forks_url,
132 full_name,
133 git_commits_url,
134 git_refs_url,
135 git_tags_url,
136 hooks_url,
137 html_url,
138 id,
139 issue_comment_url,
140 issue_events_url,
141 issues_url,
142 keys_url,
143 labels_url,
144 languages_url,
145 merges_url,
146 milestones_url,
147 name,
148 node_id,
149 notifications_url,
150 owner: owner.map(Box::new),
151 private,
152 pulls_url,
153 releases_url,
154 stargazers_url,
155 statuses_url,
156 subscribers_url,
157 subscription_url,
158 tags_url,
159 teams_url,
160 trees_url,
161 url,
162 }
163 }
164}
165