From 76c032a2c4545b3b15ee825d396e892de390d616 Mon Sep 17 00:00:00 2001 From: link2xt Date: Thu, 1 Aug 2024 08:36:36 +0000 Subject: [PATCH] fix: reset configured_provider on reconfiguration --- src/login_param.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/login_param.rs b/src/login_param.rs index 2c6b0a3ee..45166410d 100644 --- a/src/login_param.rs +++ b/src/login_param.rs @@ -259,10 +259,9 @@ impl LoginParam { }; sql.set_raw_config_int(key, server_flags).await?; - if let Some(provider) = self.provider { - let key = &format!("{prefix}provider"); - sql.set_raw_config(key, Some(provider.id)).await?; - } + let key = &format!("{prefix}provider"); + sql.set_raw_config(key, self.provider.map(|provider| provider.id)) + .await?; Ok(()) } @@ -365,7 +364,15 @@ mod tests { param.save_as_configured_params(&t).await?; let loaded = LoginParam::load_configured_params(&t).await?; + assert_eq!(param, loaded); + // Remove provider. + let param = LoginParam { + provider: None, + ..param + }; + param.save_as_configured_params(&t).await?; + let loaded = LoginParam::load_configured_params(&t).await?; assert_eq!(param, loaded); Ok(()) }