Ignore auto login variable if it is empty
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-07-30 19:47:34 +02:00
parent 154551aeaf
commit 85ee2b2549
3 changed files with 12 additions and 4 deletions

View File

@@ -29,7 +29,7 @@ pub struct AppConfig {
/// Unsecure : for development, bypass authentication, using the account with the given /// Unsecure : for development, bypass authentication, using the account with the given
/// email address by default /// email address by default
#[clap(long, env)] #[clap(long, env)]
pub unsecure_auto_login_email: Option<String>, unsecure_auto_login_email: Option<String>,
/// PostgreSQL database host /// PostgreSQL database host
#[clap(long, env, default_value = "localhost")] #[clap(long, env, default_value = "localhost")]
@@ -148,9 +148,17 @@ impl AppConfig {
&ARGS &ARGS
} }
/// Get auto login email (if not empty)
pub fn unsecure_auto_login_email(&self) -> Option<&str> {
match self.unsecure_auto_login_email.as_deref() {
None | Some("") => None,
s => s,
}
}
/// Check if auth is disabled /// Check if auth is disabled
pub fn is_auth_disabled(&self) -> bool { pub fn is_auth_disabled(&self) -> bool {
self.unsecure_auto_login_email.is_some() self.unsecure_auto_login_email().is_some()
} }
/// Get auth cookie domain /// Get auth cookie domain

View File

@@ -182,7 +182,7 @@ impl FromRequest for AuthExtractor {
} }
// Check if login is hard-coded as program argument // Check if login is hard-coded as program argument
if let Some(email) = &AppConfig::get().unsecure_auto_login_email { if let Some(email) = &AppConfig::get().unsecure_auto_login_email() {
let user = users_service::get_user_by_email(email).map_err(|e| { let user = users_service::get_user_by_email(email).map_err(|e| {
log::error!("Failed to retrieve dev user: {e}"); log::error!("Failed to retrieve dev user: {e}");
ErrorPreconditionFailed("Unable to retrieve dev user!") ErrorPreconditionFailed("Unable to retrieve dev user!")

View File

@@ -38,7 +38,7 @@ async fn main() -> std::io::Result<()> {
db_connection::initialize_conn().expect("Failed to connect to PostgresSQL database!"); db_connection::initialize_conn().expect("Failed to connect to PostgresSQL database!");
// Auto create default account, if requested // Auto create default account, if requested
if let Some(mail) = &AppConfig::get().unsecure_auto_login_email { if let Some(mail) = &AppConfig::get().unsecure_auto_login_email() {
users_service::create_or_update_user(mail, "Anonymous") users_service::create_or_update_user(mail, "Anonymous")
.await .await
.expect("Failed to create default account!"); .expect("Failed to create default account!");