openapi_github/models/
private_user.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/// PrivateUser : Private User
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct PrivateUser {
17    #[serde(rename = "login")]
18    pub login: String,
19    #[serde(rename = "id")]
20    pub id: i32,
21    #[serde(rename = "node_id")]
22    pub node_id: String,
23    #[serde(rename = "avatar_url")]
24    pub avatar_url: String,
25    #[serde(rename = "gravatar_id", deserialize_with = "Option::deserialize")]
26    pub gravatar_id: Option<String>,
27    #[serde(rename = "url")]
28    pub url: String,
29    #[serde(rename = "html_url")]
30    pub html_url: String,
31    #[serde(rename = "followers_url")]
32    pub followers_url: String,
33    #[serde(rename = "following_url")]
34    pub following_url: String,
35    #[serde(rename = "gists_url")]
36    pub gists_url: String,
37    #[serde(rename = "starred_url")]
38    pub starred_url: String,
39    #[serde(rename = "subscriptions_url")]
40    pub subscriptions_url: String,
41    #[serde(rename = "organizations_url")]
42    pub organizations_url: String,
43    #[serde(rename = "repos_url")]
44    pub repos_url: String,
45    #[serde(rename = "events_url")]
46    pub events_url: String,
47    #[serde(rename = "received_events_url")]
48    pub received_events_url: String,
49    #[serde(rename = "type")]
50    pub r#type: String,
51    #[serde(rename = "site_admin")]
52    pub site_admin: bool,
53    #[serde(rename = "name", deserialize_with = "Option::deserialize")]
54    pub name: Option<String>,
55    #[serde(rename = "company", deserialize_with = "Option::deserialize")]
56    pub company: Option<String>,
57    #[serde(rename = "blog", deserialize_with = "Option::deserialize")]
58    pub blog: Option<String>,
59    #[serde(rename = "location", deserialize_with = "Option::deserialize")]
60    pub location: Option<String>,
61    #[serde(rename = "email", deserialize_with = "Option::deserialize")]
62    pub email: Option<String>,
63    #[serde(rename = "hireable", deserialize_with = "Option::deserialize")]
64    pub hireable: Option<bool>,
65    #[serde(rename = "bio", deserialize_with = "Option::deserialize")]
66    pub bio: Option<String>,
67    #[serde(rename = "twitter_username", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
68    pub twitter_username: Option<Option<String>>,
69    #[serde(rename = "public_repos")]
70    pub public_repos: i32,
71    #[serde(rename = "public_gists")]
72    pub public_gists: i32,
73    #[serde(rename = "followers")]
74    pub followers: i32,
75    #[serde(rename = "following")]
76    pub following: i32,
77    #[serde(rename = "created_at")]
78    pub created_at: String,
79    #[serde(rename = "updated_at")]
80    pub updated_at: String,
81    #[serde(rename = "private_gists")]
82    pub private_gists: i32,
83    #[serde(rename = "total_private_repos")]
84    pub total_private_repos: i32,
85    #[serde(rename = "owned_private_repos")]
86    pub owned_private_repos: i32,
87    #[serde(rename = "disk_usage")]
88    pub disk_usage: i32,
89    #[serde(rename = "collaborators")]
90    pub collaborators: i32,
91    #[serde(rename = "two_factor_authentication")]
92    pub two_factor_authentication: bool,
93    #[serde(rename = "plan", skip_serializing_if = "Option::is_none")]
94    pub plan: Option<Box<models::PublicUserPlan>>,
95    #[serde(rename = "suspended_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
96    pub suspended_at: Option<Option<String>>,
97    #[serde(rename = "business_plus", skip_serializing_if = "Option::is_none")]
98    pub business_plus: Option<bool>,
99    #[serde(rename = "ldap_dn", skip_serializing_if = "Option::is_none")]
100    pub ldap_dn: Option<String>,
101}
102
103impl PrivateUser {
104    /// Private User
105    pub fn new(login: String, id: i32, node_id: String, avatar_url: String, gravatar_id: Option<String>, url: String, html_url: String, followers_url: String, following_url: String, gists_url: String, starred_url: String, subscriptions_url: String, organizations_url: String, repos_url: String, events_url: String, received_events_url: String, r#type: String, site_admin: bool, name: Option<String>, company: Option<String>, blog: Option<String>, location: Option<String>, email: Option<String>, hireable: Option<bool>, bio: Option<String>, public_repos: i32, public_gists: i32, followers: i32, following: i32, created_at: String, updated_at: String, private_gists: i32, total_private_repos: i32, owned_private_repos: i32, disk_usage: i32, collaborators: i32, two_factor_authentication: bool) -> PrivateUser {
106        PrivateUser {
107            login,
108            id,
109            node_id,
110            avatar_url,
111            gravatar_id,
112            url,
113            html_url,
114            followers_url,
115            following_url,
116            gists_url,
117            starred_url,
118            subscriptions_url,
119            organizations_url,
120            repos_url,
121            events_url,
122            received_events_url,
123            r#type,
124            site_admin,
125            name,
126            company,
127            blog,
128            location,
129            email,
130            hireable,
131            bio,
132            twitter_username: None,
133            public_repos,
134            public_gists,
135            followers,
136            following,
137            created_at,
138            updated_at,
139            private_gists,
140            total_private_repos,
141            owned_private_repos,
142            disk_usage,
143            collaborators,
144            two_factor_authentication,
145            plan: None,
146            suspended_at: None,
147            business_plus: None,
148            ldap_dn: None,
149        }
150    }
151}
152