diff --git a/crates/syn2mas/src/synapse_reader/checks.rs b/crates/syn2mas/src/synapse_reader/checks.rs index 83f31bbcf..f19c07cb4 100644 --- a/crates/syn2mas/src/synapse_reader/checks.rs +++ b/crates/syn2mas/src/synapse_reader/checks.rs @@ -136,7 +136,7 @@ pub fn synapse_config_check(synapse_config: &Config) -> (Vec, Vec< if synapse_config.enable_registration { warnings.push(CheckWarning::DisableRegistrationAfterMigration); } - if synapse_config.user_consent { + if synapse_config.user_consent.is_some() { warnings.push(CheckWarning::DisableUserConsentAfterMigration); } @@ -232,7 +232,7 @@ pub async fn synapse_config_check_against_mas_config( } let mas_branding = BrandingConfig::extract_or_default(mas)?; - if synapse.user_consent && mas_branding.tos_uri.is_none() { + if synapse.user_consent.is_some() && mas_branding.tos_uri.is_none() { warnings.push(CheckWarning::ShouldPortUserConsentAsTerms); } diff --git a/crates/syn2mas/src/synapse_reader/config.rs b/crates/syn2mas/src/synapse_reader/config.rs index 8a542a561..2c413a1b9 100644 --- a/crates/syn2mas/src/synapse_reader/config.rs +++ b/crates/syn2mas/src/synapse_reader/config.rs @@ -19,6 +19,8 @@ use sqlx::postgres::PgConnectOptions; #[allow(clippy::struct_excessive_bools)] pub struct Config { pub database: DatabaseSection, + + #[serde(default)] pub password_config: PasswordSection, #[serde(default)] @@ -36,7 +38,7 @@ pub struct Config { pub enable_3pid_changes: bool, #[serde(default)] - pub user_consent: bool, + pub user_consent: Option, #[serde(default)] pub registrations_require_3pid: Vec, @@ -297,3 +299,8 @@ mod test { ); } } + +/// We don't care about any of the fields in this section, +/// just whether it's present. +#[derive(Deserialize)] +pub struct UserConsentSection {}