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