From 78f61ccdf66572d7432b5b627994038479103653 Mon Sep 17 00:00:00 2001 From: rtkay123 Date: Sun, 1 Feb 2026 15:20:13 +0200 Subject: feat: oauth from config --- src/config/cli.rs | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src/config/cli.rs') diff --git a/src/config/cli.rs b/src/config/cli.rs index dab7216..5254135 100644 --- a/src/config/cli.rs +++ b/src/config/cli.rs @@ -1,6 +1,7 @@ use std::path::PathBuf; use clap::Parser; +use serde::Deserialize; use url::Url; use crate::config::{logging::LogLevel, port::port_in_range}; @@ -49,25 +50,33 @@ pub struct Cli { pub oauth: Option, } -#[derive(Debug, Clone, Parser)] +#[derive(Debug, Clone, Parser, Deserialize)] pub struct OAuth { #[cfg(feature = "oauth-discord")] #[command(flatten)] discord: DiscordOauth, - #[arg(long)] + #[arg(long, env = "OAUTH_REDIRECT_URL")] oauth_redirect_url: Option, } #[cfg(feature = "oauth-discord")] -#[derive(Debug, Clone, Parser)] +#[derive(Debug, Clone, Parser, Deserialize)] pub struct DiscordOauth { - #[arg(long)] + #[arg(long, env = "OAUTH_DISCORD_CLIENT_ID")] discord_client_id: Option, - #[arg(long)] + #[arg(long, env = "OAUTH_DISCORD_CLIENT_SECRET")] discord_client_secret: Option, - #[arg(long)] + #[arg( + long, + env = "OAUTH_DISCORD_TOKEN_URL", + default_value = "https://discord.com/api/oauth2/token" + )] discord_token_url: Option, - #[arg(long)] + #[arg( + long, + env = "OAUTH_DISCORD_AUTH_URL", + default_value = "https://discord.com/api/oauth2/authorize?response_type=code" + )] discord_auth_url: Option, } -- cgit v1.2.3