aboutsummaryrefslogtreecommitdiffstats
path: root/src/config/cli/oauth
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2026-02-03 13:45:46 +0200
committerrtkay123 <dev@kanjala.com>2026-02-03 13:45:46 +0200
commiteb2e86997d47249aa31b703598de13ab2eb96caa (patch)
tree9a591adee7d027b305d07a04987b5559b99f4d37 /src/config/cli/oauth
parent0ea3cb1d4743b922fbc6e07037096e75caffba8f (diff)
downloadsellershut-master.tar.bz2
sellershut-master.zip
feat: add cacheHEADmaster
Diffstat (limited to 'src/config/cli/oauth')
-rw-r--r--src/config/cli/oauth/mod.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/config/cli/oauth/mod.rs b/src/config/cli/oauth/mod.rs
new file mode 100644
index 0000000..4bf1c34
--- /dev/null
+++ b/src/config/cli/oauth/mod.rs
@@ -0,0 +1,36 @@
+use clap::Parser;
+#[cfg(feature = "oauth-discord")]
+use secrecy::SecretString;
+use serde::Deserialize;
+#[cfg(feature = "oauth")]
+use url::Url;
+
+#[derive(Debug, Clone, Parser, Deserialize, Default)]
+pub struct OAuth {
+ #[cfg(feature = "oauth-discord")]
+ #[command(flatten)]
+ discord: DiscordOauth,
+ #[arg(long, env = "OAUTH_REDIRECT_URL")]
+ oauth_redirect_url: Option<Url>,
+}
+
+#[cfg(feature = "oauth-discord")]
+#[derive(Debug, Clone, Parser, Deserialize, Default)]
+pub struct DiscordOauth {
+ #[arg(long, env = "OAUTH_DISCORD_CLIENT_ID")]
+ discord_client_id: Option<String>,
+ #[arg(long, env = "OAUTH_DISCORD_CLIENT_SECRET")]
+ discord_client_secret: Option<SecretString>,
+ #[arg(
+ long,
+ env = "OAUTH_DISCORD_TOKEN_URL",
+ default_value = "https://discord.com/api/oauth2/token"
+ )]
+ discord_token_url: Option<Url>,
+ #[arg(
+ long,
+ env = "OAUTH_DISCORD_AUTH_URL",
+ default_value = "https://discord.com/api/oauth2/authorize?response_type=code"
+ )]
+ discord_auth_url: Option<Url>,
+}