openapi_github/models/
organization_full.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/// OrganizationFull : Organization Full
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OrganizationFull {
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 = "url")]
24    pub url: String,
25    #[serde(rename = "repos_url")]
26    pub repos_url: String,
27    #[serde(rename = "events_url")]
28    pub events_url: String,
29    #[serde(rename = "hooks_url")]
30    pub hooks_url: String,
31    #[serde(rename = "issues_url")]
32    pub issues_url: String,
33    #[serde(rename = "members_url")]
34    pub members_url: String,
35    #[serde(rename = "public_members_url")]
36    pub public_members_url: String,
37    #[serde(rename = "avatar_url")]
38    pub avatar_url: String,
39    #[serde(rename = "description", deserialize_with = "Option::deserialize")]
40    pub description: Option<String>,
41    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
42    pub name: Option<String>,
43    #[serde(rename = "company", skip_serializing_if = "Option::is_none")]
44    pub company: Option<String>,
45    #[serde(rename = "blog", skip_serializing_if = "Option::is_none")]
46    pub blog: Option<String>,
47    #[serde(rename = "location", skip_serializing_if = "Option::is_none")]
48    pub location: Option<String>,
49    #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
50    pub email: Option<String>,
51    #[serde(rename = "twitter_username", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
52    pub twitter_username: Option<Option<String>>,
53    #[serde(rename = "is_verified", skip_serializing_if = "Option::is_none")]
54    pub is_verified: Option<bool>,
55    #[serde(rename = "has_organization_projects")]
56    pub has_organization_projects: bool,
57    #[serde(rename = "has_repository_projects")]
58    pub has_repository_projects: bool,
59    #[serde(rename = "public_repos")]
60    pub public_repos: i32,
61    #[serde(rename = "public_gists")]
62    pub public_gists: i32,
63    #[serde(rename = "followers")]
64    pub followers: i32,
65    #[serde(rename = "following")]
66    pub following: i32,
67    #[serde(rename = "html_url")]
68    pub html_url: String,
69    #[serde(rename = "type")]
70    pub r#type: String,
71    #[serde(rename = "total_private_repos", skip_serializing_if = "Option::is_none")]
72    pub total_private_repos: Option<i32>,
73    #[serde(rename = "owned_private_repos", skip_serializing_if = "Option::is_none")]
74    pub owned_private_repos: Option<i32>,
75    #[serde(rename = "private_gists", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
76    pub private_gists: Option<Option<i32>>,
77    #[serde(rename = "disk_usage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
78    pub disk_usage: Option<Option<i32>>,
79    #[serde(rename = "collaborators", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
80    pub collaborators: Option<Option<i32>>,
81    #[serde(rename = "billing_email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
82    pub billing_email: Option<Option<String>>,
83    #[serde(rename = "plan", skip_serializing_if = "Option::is_none")]
84    pub plan: Option<Box<models::OrganizationFullPlan>>,
85    #[serde(rename = "default_repository_permission", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
86    pub default_repository_permission: Option<Option<String>>,
87    #[serde(rename = "members_can_create_repositories", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
88    pub members_can_create_repositories: Option<Option<bool>>,
89    #[serde(rename = "two_factor_requirement_enabled", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
90    pub two_factor_requirement_enabled: Option<Option<bool>>,
91    #[serde(rename = "members_allowed_repository_creation_type", skip_serializing_if = "Option::is_none")]
92    pub members_allowed_repository_creation_type: Option<String>,
93    #[serde(rename = "members_can_create_public_repositories", skip_serializing_if = "Option::is_none")]
94    pub members_can_create_public_repositories: Option<bool>,
95    #[serde(rename = "members_can_create_private_repositories", skip_serializing_if = "Option::is_none")]
96    pub members_can_create_private_repositories: Option<bool>,
97    #[serde(rename = "members_can_create_internal_repositories", skip_serializing_if = "Option::is_none")]
98    pub members_can_create_internal_repositories: Option<bool>,
99    #[serde(rename = "members_can_create_pages", skip_serializing_if = "Option::is_none")]
100    pub members_can_create_pages: Option<bool>,
101    #[serde(rename = "members_can_create_public_pages", skip_serializing_if = "Option::is_none")]
102    pub members_can_create_public_pages: Option<bool>,
103    #[serde(rename = "members_can_create_private_pages", skip_serializing_if = "Option::is_none")]
104    pub members_can_create_private_pages: Option<bool>,
105    #[serde(rename = "members_can_fork_private_repositories", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
106    pub members_can_fork_private_repositories: Option<Option<bool>>,
107    #[serde(rename = "web_commit_signoff_required", skip_serializing_if = "Option::is_none")]
108    pub web_commit_signoff_required: Option<bool>,
109    /// Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization.  This field is only visible to organization owners or members of a team with the security manager role.
110    #[serde(rename = "advanced_security_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
111    pub advanced_security_enabled_for_new_repositories: Option<bool>,
112    /// Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to this organization.  This field is only visible to organization owners or members of a team with the security manager role.
113    #[serde(rename = "dependabot_alerts_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
114    pub dependabot_alerts_enabled_for_new_repositories: Option<bool>,
115    /// Whether dependabot security updates are automatically enabled for new repositories and repositories transferred to this organization.  This field is only visible to organization owners or members of a team with the security manager role.
116    #[serde(rename = "dependabot_security_updates_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
117    pub dependabot_security_updates_enabled_for_new_repositories: Option<bool>,
118    /// Whether dependency graph is automatically enabled for new repositories and repositories transferred to this organization.  This field is only visible to organization owners or members of a team with the security manager role.
119    #[serde(rename = "dependency_graph_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
120    pub dependency_graph_enabled_for_new_repositories: Option<bool>,
121    /// Whether secret scanning is automatically enabled for new repositories and repositories transferred to this organization.  This field is only visible to organization owners or members of a team with the security manager role.
122    #[serde(rename = "secret_scanning_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
123    pub secret_scanning_enabled_for_new_repositories: Option<bool>,
124    /// Whether secret scanning push protection is automatically enabled for new repositories and repositories transferred to this organization.  This field is only visible to organization owners or members of a team with the security manager role.
125    #[serde(rename = "secret_scanning_push_protection_enabled_for_new_repositories", skip_serializing_if = "Option::is_none")]
126    pub secret_scanning_push_protection_enabled_for_new_repositories: Option<bool>,
127    /// Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection.
128    #[serde(rename = "secret_scanning_push_protection_custom_link_enabled", skip_serializing_if = "Option::is_none")]
129    pub secret_scanning_push_protection_custom_link_enabled: Option<bool>,
130    /// An optional URL string to display to contributors who are blocked from pushing a secret.
131    #[serde(rename = "secret_scanning_push_protection_custom_link", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
132    pub secret_scanning_push_protection_custom_link: Option<Option<String>>,
133    #[serde(rename = "created_at")]
134    pub created_at: String,
135    #[serde(rename = "updated_at")]
136    pub updated_at: String,
137    #[serde(rename = "archived_at", deserialize_with = "Option::deserialize")]
138    pub archived_at: Option<String>,
139}
140
141impl OrganizationFull {
142    /// Organization Full
143    pub fn new(login: String, id: i32, node_id: String, url: String, repos_url: String, events_url: String, hooks_url: String, issues_url: String, members_url: String, public_members_url: String, avatar_url: String, description: Option<String>, has_organization_projects: bool, has_repository_projects: bool, public_repos: i32, public_gists: i32, followers: i32, following: i32, html_url: String, r#type: String, created_at: String, updated_at: String, archived_at: Option<String>) -> OrganizationFull {
144        OrganizationFull {
145            login,
146            id,
147            node_id,
148            url,
149            repos_url,
150            events_url,
151            hooks_url,
152            issues_url,
153            members_url,
154            public_members_url,
155            avatar_url,
156            description,
157            name: None,
158            company: None,
159            blog: None,
160            location: None,
161            email: None,
162            twitter_username: None,
163            is_verified: None,
164            has_organization_projects,
165            has_repository_projects,
166            public_repos,
167            public_gists,
168            followers,
169            following,
170            html_url,
171            r#type,
172            total_private_repos: None,
173            owned_private_repos: None,
174            private_gists: None,
175            disk_usage: None,
176            collaborators: None,
177            billing_email: None,
178            plan: None,
179            default_repository_permission: None,
180            members_can_create_repositories: None,
181            two_factor_requirement_enabled: None,
182            members_allowed_repository_creation_type: None,
183            members_can_create_public_repositories: None,
184            members_can_create_private_repositories: None,
185            members_can_create_internal_repositories: None,
186            members_can_create_pages: None,
187            members_can_create_public_pages: None,
188            members_can_create_private_pages: None,
189            members_can_fork_private_repositories: None,
190            web_commit_signoff_required: None,
191            advanced_security_enabled_for_new_repositories: None,
192            dependabot_alerts_enabled_for_new_repositories: None,
193            dependabot_security_updates_enabled_for_new_repositories: None,
194            dependency_graph_enabled_for_new_repositories: None,
195            secret_scanning_enabled_for_new_repositories: None,
196            secret_scanning_push_protection_enabled_for_new_repositories: None,
197            secret_scanning_push_protection_custom_link_enabled: None,
198            secret_scanning_push_protection_custom_link: None,
199            created_at,
200            updated_at,
201            archived_at,
202        }
203    }
204}
205