From b68304c976b72cd57bdc64667b9f0741446a597d Mon Sep 17 00:00:00 2001 From: Pierre Hubert Date: Sat, 26 Nov 2022 14:18:46 +0100 Subject: [PATCH] Refactor users management (#5) * Use asynchronous interface to clear 2FA history --- Cargo.lock | 11 ----------- src/controllers/admin_controller.rs | 14 +++++++++----- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4b2b510..95e7c8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -438,17 +438,6 @@ dependencies = [ "syn", ] -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" diff --git a/src/controllers/admin_controller.rs b/src/controllers/admin_controller.rs index 2d192de..5100cae 100644 --- a/src/controllers/admin_controller.rs +++ b/src/controllers/admin_controller.rs @@ -111,16 +111,20 @@ pub async fn users_route( _ => Some(Vec::new()), }; - if update.0.clear_2fa_history.is_some() { - logger.log(Action::AdminClear2FAHistory(&user)); - user.last_successful_2fa = Default::default(); - } - let res = users .send(users_actor::UpdateUserRequest(user.clone())) .await .unwrap(); + // Clear user 2FA history if requested + if update.0.clear_2fa_history.is_some() { + logger.log(Action::AdminClear2FAHistory(&user)); + users + .send(users_actor::Clear2FALoginHistory(user.uid.clone())) + .await + .unwrap(); + } + // If the admin requested it, reset user password let new_password = match update.0.gen_new_password.is_some() { false => None,