Skip to main content

octocrab/models/
orgs.rs

1use super::*;
2pub mod secrets;
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5#[non_exhaustive]
6pub struct Organization {
7    pub login: String,
8    pub id: OrgId,
9    pub node_id: String,
10    pub url: Url,
11    pub repos_url: Url,
12    pub events_url: Url,
13    pub hooks_url: Url,
14    pub issues_url: Url,
15    pub members_url: Url,
16    pub public_members_url: Url,
17    pub avatar_url: Url,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub description: Option<String>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub name: Option<String>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub company: Option<String>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub blog: Option<String>,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub location: Option<String>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub email: Option<String>,
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub is_verified: Option<bool>,
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub has_organization_projects: Option<bool>,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub has_repository_projects: Option<bool>,
36    #[serde(skip_serializing_if = "Option::is_none")]
37    pub public_repos: Option<u32>,
38    #[serde(skip_serializing_if = "Option::is_none")]
39    pub public_gists: Option<u32>,
40    #[serde(skip_serializing_if = "Option::is_none")]
41    pub followers: Option<u32>,
42    #[serde(skip_serializing_if = "Option::is_none")]
43    pub following: Option<u32>,
44    #[serde(skip_serializing_if = "Option::is_none")]
45    pub html_url: Option<Url>,
46    #[serde(skip_serializing_if = "Option::is_none")]
47    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
48    #[serde(skip_serializing_if = "Option::is_none")]
49    pub r#type: Option<String>,
50    #[serde(skip_serializing_if = "Option::is_none")]
51    pub total_private_repos: Option<i64>,
52    #[serde(skip_serializing_if = "Option::is_none")]
53    pub owned_private_repos: Option<i64>,
54    #[serde(skip_serializing_if = "Option::is_none")]
55    pub private_gists: Option<i64>,
56    #[serde(skip_serializing_if = "Option::is_none")]
57    pub disk_usage: Option<i64>,
58    #[serde(skip_serializing_if = "Option::is_none")]
59    pub collaborators: Option<i64>,
60    #[serde(skip_serializing_if = "Option::is_none")]
61    pub billing_email: Option<String>,
62    #[serde(skip_serializing_if = "Option::is_none")]
63    pub plan: Option<Plan>,
64    #[serde(skip_serializing_if = "Option::is_none")]
65    pub default_repository_settings: Option<String>,
66    #[serde(skip_serializing_if = "Option::is_none")]
67    pub members_can_create_repositories: Option<bool>,
68    #[serde(skip_serializing_if = "Option::is_none")]
69    pub two_factor_requirement_enabled: Option<bool>,
70    #[serde(skip_serializing_if = "Option::is_none")]
71    pub members_allowed_repository_creation_type: Option<String>,
72    #[serde(skip_serializing_if = "Option::is_none")]
73    pub members_can_create_public_repositories: Option<bool>,
74    #[serde(skip_serializing_if = "Option::is_none")]
75    pub members_can_create_private_repositories: Option<bool>,
76    #[serde(skip_serializing_if = "Option::is_none")]
77    pub members_can_create_internal_repositories: Option<bool>,
78}
79
80#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
81pub struct MembershipInvitation {
82    pub url: Url,
83    pub state: String,
84    pub role: String,
85    pub organization_url: Url,
86    pub organization: Organization,
87    pub user: Author,
88}
89
90#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
91#[non_exhaustive]
92pub struct Plan {
93    pub name: String,
94    pub space: i64,
95    pub private_repos: i64,
96}