1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Root {
16 #[serde(rename = "current_user_url")]
17 pub current_user_url: String,
18 #[serde(rename = "current_user_authorizations_html_url")]
19 pub current_user_authorizations_html_url: String,
20 #[serde(rename = "authorizations_url")]
21 pub authorizations_url: String,
22 #[serde(rename = "code_search_url")]
23 pub code_search_url: String,
24 #[serde(rename = "commit_search_url")]
25 pub commit_search_url: String,
26 #[serde(rename = "emails_url")]
27 pub emails_url: String,
28 #[serde(rename = "emojis_url")]
29 pub emojis_url: String,
30 #[serde(rename = "events_url")]
31 pub events_url: String,
32 #[serde(rename = "feeds_url")]
33 pub feeds_url: String,
34 #[serde(rename = "followers_url")]
35 pub followers_url: String,
36 #[serde(rename = "following_url")]
37 pub following_url: String,
38 #[serde(rename = "gists_url")]
39 pub gists_url: String,
40 #[serde(rename = "hub_url", skip_serializing_if = "Option::is_none")]
41 pub hub_url: Option<String>,
42 #[serde(rename = "issue_search_url")]
43 pub issue_search_url: String,
44 #[serde(rename = "issues_url")]
45 pub issues_url: String,
46 #[serde(rename = "keys_url")]
47 pub keys_url: String,
48 #[serde(rename = "label_search_url")]
49 pub label_search_url: String,
50 #[serde(rename = "notifications_url")]
51 pub notifications_url: String,
52 #[serde(rename = "organization_url")]
53 pub organization_url: String,
54 #[serde(rename = "organization_repositories_url")]
55 pub organization_repositories_url: String,
56 #[serde(rename = "organization_teams_url")]
57 pub organization_teams_url: String,
58 #[serde(rename = "public_gists_url")]
59 pub public_gists_url: String,
60 #[serde(rename = "rate_limit_url")]
61 pub rate_limit_url: String,
62 #[serde(rename = "repository_url")]
63 pub repository_url: String,
64 #[serde(rename = "repository_search_url")]
65 pub repository_search_url: String,
66 #[serde(rename = "current_user_repositories_url")]
67 pub current_user_repositories_url: String,
68 #[serde(rename = "starred_url")]
69 pub starred_url: String,
70 #[serde(rename = "starred_gists_url")]
71 pub starred_gists_url: String,
72 #[serde(rename = "topic_search_url", skip_serializing_if = "Option::is_none")]
73 pub topic_search_url: Option<String>,
74 #[serde(rename = "user_url")]
75 pub user_url: String,
76 #[serde(rename = "user_organizations_url")]
77 pub user_organizations_url: String,
78 #[serde(rename = "user_repositories_url")]
79 pub user_repositories_url: String,
80 #[serde(rename = "user_search_url")]
81 pub user_search_url: String,
82}
83
84impl Root {
85 pub fn new(current_user_url: String, current_user_authorizations_html_url: String, authorizations_url: String, code_search_url: String, commit_search_url: String, emails_url: String, emojis_url: String, events_url: String, feeds_url: String, followers_url: String, following_url: String, gists_url: String, issue_search_url: String, issues_url: String, keys_url: String, label_search_url: String, notifications_url: String, organization_url: String, organization_repositories_url: String, organization_teams_url: String, public_gists_url: String, rate_limit_url: String, repository_url: String, repository_search_url: String, current_user_repositories_url: String, starred_url: String, starred_gists_url: String, user_url: String, user_organizations_url: String, user_repositories_url: String, user_search_url: String) -> Root {
86 Root {
87 current_user_url,
88 current_user_authorizations_html_url,
89 authorizations_url,
90 code_search_url,
91 commit_search_url,
92 emails_url,
93 emojis_url,
94 events_url,
95 feeds_url,
96 followers_url,
97 following_url,
98 gists_url,
99 hub_url: None,
100 issue_search_url,
101 issues_url,
102 keys_url,
103 label_search_url,
104 notifications_url,
105 organization_url,
106 organization_repositories_url,
107 organization_teams_url,
108 public_gists_url,
109 rate_limit_url,
110 repository_url,
111 repository_search_url,
112 current_user_repositories_url,
113 starred_url,
114 starred_gists_url,
115 topic_search_url: None,
116 user_url,
117 user_organizations_url,
118 user_repositories_url,
119 user_search_url,
120 }
121 }
122}
123