openapi_github/models/
contributor.rs
1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Contributor {
17 #[serde(rename = "login", skip_serializing_if = "Option::is_none")]
18 pub login: Option<String>,
19 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
20 pub id: Option<i32>,
21 #[serde(rename = "node_id", skip_serializing_if = "Option::is_none")]
22 pub node_id: Option<String>,
23 #[serde(rename = "avatar_url", skip_serializing_if = "Option::is_none")]
24 pub avatar_url: Option<String>,
25 #[serde(rename = "gravatar_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub gravatar_id: Option<Option<String>>,
27 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
28 pub url: Option<String>,
29 #[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
30 pub html_url: Option<String>,
31 #[serde(rename = "followers_url", skip_serializing_if = "Option::is_none")]
32 pub followers_url: Option<String>,
33 #[serde(rename = "following_url", skip_serializing_if = "Option::is_none")]
34 pub following_url: Option<String>,
35 #[serde(rename = "gists_url", skip_serializing_if = "Option::is_none")]
36 pub gists_url: Option<String>,
37 #[serde(rename = "starred_url", skip_serializing_if = "Option::is_none")]
38 pub starred_url: Option<String>,
39 #[serde(rename = "subscriptions_url", skip_serializing_if = "Option::is_none")]
40 pub subscriptions_url: Option<String>,
41 #[serde(rename = "organizations_url", skip_serializing_if = "Option::is_none")]
42 pub organizations_url: Option<String>,
43 #[serde(rename = "repos_url", skip_serializing_if = "Option::is_none")]
44 pub repos_url: Option<String>,
45 #[serde(rename = "events_url", skip_serializing_if = "Option::is_none")]
46 pub events_url: Option<String>,
47 #[serde(rename = "received_events_url", skip_serializing_if = "Option::is_none")]
48 pub received_events_url: Option<String>,
49 #[serde(rename = "type")]
50 pub r#type: String,
51 #[serde(rename = "site_admin", skip_serializing_if = "Option::is_none")]
52 pub site_admin: Option<bool>,
53 #[serde(rename = "contributions")]
54 pub contributions: i32,
55 #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
56 pub email: Option<String>,
57 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
58 pub name: Option<String>,
59}
60
61impl Contributor {
62 pub fn new(r#type: String, contributions: i32) -> Contributor {
64 Contributor {
65 login: None,
66 id: None,
67 node_id: None,
68 avatar_url: None,
69 gravatar_id: None,
70 url: None,
71 html_url: None,
72 followers_url: None,
73 following_url: None,
74 gists_url: None,
75 starred_url: None,
76 subscriptions_url: None,
77 organizations_url: None,
78 repos_url: None,
79 events_url: None,
80 received_events_url: None,
81 r#type,
82 site_admin: None,
83 contributions,
84 email: None,
85 name: None,
86 }
87 }
88}
89