use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AuthConfig {
pub enabled: bool,
pub auth_type: Option<String>,
pub token: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct OAuthConfig {
pub client_id: Option<String>,
pub client_secret: Option<String>,
pub redirect_uri: Option<String>,
pub scopes: Vec<String>,
}
pub fn get_auth_headers(config: &AuthConfig) -> std::collections::HashMap<String, String> {
let mut headers = std::collections::HashMap::new();
if let Some(token) = &config.token {
headers.insert("Authorization".to_string(), format!("Bearer {}", token));
}
headers
}
pub fn is_auth_required(config: &AuthConfig) -> bool {
config.enabled && config.auth_type.is_some()
}