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}