From ca1963707ddb746c76b36d1a3183200e38869a8a Mon Sep 17 00:00:00 2001 From: ssedoudbgouv Date: Mon, 3 Feb 2025 14:40:57 +0100 Subject: [PATCH] TRELLO-2894: pro connect fix --- app/orchestrators/UserOrchestrator.scala | 11 ++++++++++- app/repositories/user/UserRepository.scala | 7 ++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/orchestrators/UserOrchestrator.scala b/app/orchestrators/UserOrchestrator.scala index d6564944..c641915d 100644 --- a/app/orchestrators/UserOrchestrator.scala +++ b/app/orchestrators/UserOrchestrator.scala @@ -109,7 +109,16 @@ class UserOrchestrator(userRepository: UserRepositoryInterface, eventRepository: .flatMap { case Some(user) if user.deletionDate.isDefined => // Reactivating user - userRepository.restore(user) + userRepository.restore( + user.copy( + password = "", + email = emailAddress, + userRole = role, + authProvider = ProConnect, + authProviderId = None, + lastEmailValidation = Some(OffsetDateTime.now()) + ) + ) case Some(_) => Future.failed(UserAccountEmailAlreadyExist) case None => val user = User( diff --git a/app/repositories/user/UserRepository.scala b/app/repositories/user/UserRepository.scala index 2ffb30ca..1019eb36 100644 --- a/app/repositories/user/UserRepository.scala +++ b/app/repositories/user/UserRepository.scala @@ -149,7 +149,12 @@ class UserRepository( override def delete(id: UUID): Future[Int] = softDelete(id) override def softDelete(id: UUID): Future[Int] = db.run( - table.filter(_.id === id).map(_.deletionDate).update(Some(OffsetDateTime.now())) + table + .filter(_.id === id) + .map { c => + (c.deletionDate, c.password) + } + .update((Some(OffsetDateTime.now()), "")) ) override def hardDelete(id: UUID): Future[Int] = db.run(table.filter(_.id === id).delete)