openapi_github/models/
user.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct User {
16 #[serde(rename = "avatar_url", skip_serializing_if = "Option::is_none")]
17 pub avatar_url: Option<String>,
18 #[serde(rename = "deleted", skip_serializing_if = "Option::is_none")]
19 pub deleted: Option<bool>,
20 #[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub email: Option<Option<String>>,
22 #[serde(rename = "events_url", skip_serializing_if = "Option::is_none")]
23 pub events_url: Option<String>,
24 #[serde(rename = "followers_url", skip_serializing_if = "Option::is_none")]
25 pub followers_url: Option<String>,
26 #[serde(rename = "following_url", skip_serializing_if = "Option::is_none")]
27 pub following_url: Option<String>,
28 #[serde(rename = "gists_url", skip_serializing_if = "Option::is_none")]
29 pub gists_url: Option<String>,
30 #[serde(rename = "gravatar_id", skip_serializing_if = "Option::is_none")]
31 pub gravatar_id: Option<String>,
32 #[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
33 pub html_url: Option<String>,
34 #[serde(rename = "id")]
35 pub id: i32,
36 #[serde(rename = "login")]
37 pub login: String,
38 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
39 pub name: Option<String>,
40 #[serde(rename = "node_id", skip_serializing_if = "Option::is_none")]
41 pub node_id: Option<String>,
42 #[serde(rename = "organizations_url", skip_serializing_if = "Option::is_none")]
43 pub organizations_url: Option<String>,
44 #[serde(rename = "received_events_url", skip_serializing_if = "Option::is_none")]
45 pub received_events_url: Option<String>,
46 #[serde(rename = "repos_url", skip_serializing_if = "Option::is_none")]
47 pub repos_url: Option<String>,
48 #[serde(rename = "site_admin", skip_serializing_if = "Option::is_none")]
49 pub site_admin: Option<bool>,
50 #[serde(rename = "starred_url", skip_serializing_if = "Option::is_none")]
51 pub starred_url: Option<String>,
52 #[serde(rename = "subscriptions_url", skip_serializing_if = "Option::is_none")]
53 pub subscriptions_url: Option<String>,
54 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
55 pub r#type: Option<Type>,
56 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
57 pub url: Option<String>,
58}
59
60impl User {
61 pub fn new(id: i32, login: String) -> User {
62 User {
63 avatar_url: None,
64 deleted: None,
65 email: None,
66 events_url: None,
67 followers_url: None,
68 following_url: None,
69 gists_url: None,
70 gravatar_id: None,
71 html_url: None,
72 id,
73 login,
74 name: None,
75 node_id: None,
76 organizations_url: None,
77 received_events_url: None,
78 repos_url: None,
79 site_admin: None,
80 starred_url: None,
81 subscriptions_url: None,
82 r#type: None,
83 url: None,
84 }
85 }
86}
87#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
89pub enum Type {
90 #[serde(rename = "Bot")]
91 Bot,
92 #[serde(rename = "User")]
93 User,
94 #[serde(rename = "Organization")]
95 Organization,
96}
97
98impl Default for Type {
99 fn default() -> Type {
100 Self::Bot
101 }
102}
103