server: Add an option to force reset the admin password

This commit is contained in:
Valentin Tolmer
2023-12-21 13:54:46 +01:00
committed by nitnelave
parent 9ac96e8c6e
commit ff0ea51121
4 changed files with 28 additions and 0 deletions

View File

@@ -89,6 +89,10 @@ pub struct RunOpts {
#[clap(short, long, env = "LLDAP_DATABASE_URL")]
pub database_url: Option<String>,
/// Force admin password reset to the config value.
#[clap(short, long, env = "LLDAP_FORCE_LADP_USER_PASS_RESET")]
pub force_ldap_user_pass_reset: Option<bool>,
#[clap(flatten)]
pub smtp_opts: SmtpOpts,

View File

@@ -83,6 +83,8 @@ pub struct Configuration {
pub ldap_user_email: String,
#[builder(default = r#"SecUtf8::from("password")"#)]
pub ldap_user_pass: SecUtf8,
#[builder(default = "false")]
pub force_ldap_user_pass_reset: bool,
#[builder(default = r#"String::from("sqlite://users.db?mode=rwc")"#)]
pub database_url: String,
#[builder(default)]
@@ -244,6 +246,10 @@ impl ConfigOverrider for RunOpts {
if let Some(database_url) = self.database_url.as_ref() {
config.database_url = database_url.to_string();
}
if let Some(force_ldap_user_pass_reset) = self.force_ldap_user_pass_reset {
config.force_ldap_user_pass_reset = force_ldap_user_pass_reset;
}
self.smtp_opts.override_config(config);
self.ldaps_opts.override_config(config);
}