This commit is contained in:
Thibault Duplessis 2020-02-11 16:03:23 -06:00
parent a1ad6eeebc
commit c95e40e979
2 changed files with 4 additions and 2 deletions

View file

@ -28,9 +28,9 @@ final class Reopen(
fuccess(Left("emailUsed" -> "This email address is already in use by an active account.")) fuccess(Left("emailUsed" -> "This email address is already in use by an active account."))
case _ => case _ =>
val userId = User normalize username val userId = User normalize username
userRepo.byId(userId) flatMap { userRepo.byIdNotErased(userId) flatMap {
case None => case None =>
fuccess(Left("noUser" -> "No account has ever been created with this username.")) fuccess(Left("noUser" -> "No account found with this username."))
case Some(user) if user.enabled => case Some(user) if user.enabled =>
fuccess(Left("alreadyActive" -> "This account is already active.")) fuccess(Left("alreadyActive" -> "This account is already active."))
case Some(user) => case Some(user) =>

View file

@ -604,6 +604,8 @@ final class UserRepo(val coll: Coll)(implicit ec: scala.concurrent.ExecutionCont
coll.exists($id(user.id) ++ $doc("erasedAt" $exists true)) coll.exists($id(user.id) ++ $doc("erasedAt" $exists true))
} map User.Erased.apply } map User.Erased.apply
def byIdNotErased(id: ID): Fu[Option[User]] = coll.one[User]($id(id) ++ $doc("erasedAt" $exists false))
def filterClosedOrInactiveIds(since: DateTime)(ids: Iterable[ID]): Fu[List[ID]] = def filterClosedOrInactiveIds(since: DateTime)(ids: Iterable[ID]): Fu[List[ID]] =
coll.distinctEasy[ID, List]( coll.distinctEasy[ID, List](
F.id, F.id,