oauth2_github/
lib.rs

1use oauth2_client::re_exports::{Deserialize_enum_str, Scope, Serialize_enum_str};
2
3pub const TOKEN_URL: &str = "https://github.com/login/oauth/access_token";
4pub const AUTHORIZATION_URL: &str = "https://github.com/login/oauth/authorize";
5pub const DEVICE_AUTHORIZATION_URL: &str = "https://github.com/login/device/code";
6
7pub mod authorization_code_grant;
8pub mod device_authorization_grant;
9
10pub use authorization_code_grant::GithubProviderWithWebApplication;
11pub use device_authorization_grant::GithubProviderWithDevice;
12
13pub mod extensions;
14pub use extensions::GithubExtensionsBuilder;
15
16#[derive(Deserialize_enum_str, Serialize_enum_str, Debug, Clone, PartialEq, Eq)]
17pub enum GithubScope {
18    //
19    #[serde(rename = "repo")]
20    Repo,
21    #[serde(rename = "repo:status")]
22    RepoStatus,
23    #[serde(rename = "repo_deployment")]
24    RepoDeployment,
25    #[serde(rename = "public_repo")]
26    PublicRepo,
27    #[serde(rename = "repo:invite")]
28    RepoInvite,
29    #[serde(rename = "security_events")]
30    SecurityEvents,
31    //
32    #[serde(rename = "admin:repo_hook")]
33    AdminRepoHook,
34    #[serde(rename = "write:repo_hook")]
35    WriteRepoHook,
36    #[serde(rename = "read:repo_hook")]
37    ReadRepoHook,
38    //
39    #[serde(rename = "admin:org")]
40    AdminOrg,
41    #[serde(rename = "write:org")]
42    WriteOrg,
43    #[serde(rename = "read:org")]
44    ReadOrg,
45    //
46    #[serde(rename = "admin:public_key")]
47    AdminPublicKey,
48    #[serde(rename = "write:public_key")]
49    WritePublicKey,
50    #[serde(rename = "read:public_key")]
51    ReadPublicKey,
52    //
53    #[serde(rename = "admin:org_hook")]
54    AdminOrgHook,
55    //
56    #[serde(rename = "gist")]
57    Gist,
58    //
59    #[serde(rename = "notifications")]
60    Notifications,
61    //
62    #[serde(rename = "user")]
63    User,
64    #[serde(rename = "read:user")]
65    ReadUser,
66    #[serde(rename = "user:email")]
67    UserEmail,
68    #[serde(rename = "user:follow")]
69    UserFollow,
70    //
71    #[serde(rename = "delete_repo")]
72    DeleteRepo,
73    //
74    #[serde(rename = "write:discussion")]
75    WriteDiscussion,
76    #[serde(rename = "read:discussion")]
77    ReadDiscussion,
78    //
79    #[serde(rename = "write:packages")]
80    WritePackages,
81    #[serde(rename = "read:packages")]
82    ReadPackages,
83    #[serde(rename = "delete:packages")]
84    DeletePackages,
85    //
86    #[serde(rename = "admin:gpg_key")]
87    AdminGpgKey,
88    #[serde(rename = "write:gpg_key")]
89    WriteGpgKey,
90    #[serde(rename = "read:gpg_key")]
91    ReadGpgKey,
92    //
93    #[serde(rename = "codespace")]
94    Codespace,
95    //
96    #[serde(rename = "workflow")]
97    Workflow,
98    //
99    //
100    //
101    #[serde(other)]
102    Other(String),
103}
104impl Scope for GithubScope {}