diff --git a/app/controllers/Relation.scala b/app/controllers/Relation.scala index a94cde195a..b221a4f4e6 100644 --- a/app/controllers/Relation.scala +++ b/app/controllers/Relation.scala @@ -105,7 +105,7 @@ object Relation extends LilaController { ) private def followship(userIds: Seq[String])(implicit ctx: Context): Fu[List[Related]] = - UserRepo byOrderedIds userIds.map(UserModel.normalize) flatMap { users => + UserRepo usersFromSecondary userIds.map(UserModel.normalize) flatMap { users => (ctx.isAuth ?? { Env.pref.api.followableIds(users map (_.id)) }) flatMap { followables => users.map { u => ctx.userId ?? { env.api.fetchRelation(_, u.id) } map { rel => diff --git a/modules/mod/src/main/UserSearch.scala b/modules/mod/src/main/UserSearch.scala index 584c398ae3..017f9e06f1 100644 --- a/modules/mod/src/main/UserSearch.scala +++ b/modules/mod/src/main/UserSearch.scala @@ -25,7 +25,7 @@ final class UserSearch( else searchUsername(query) private def searchIp(ip: String) = - securityApi recentUserIdsByIp ip map (_.reverse) flatMap UserRepo.byOrderedIds + securityApi recentUserIdsByIp ip map (_.reverse) flatMap UserRepo.usersFromSecondary private def searchUsername(username: String) = UserRepo named username map (_.toList) diff --git a/modules/team/src/main/PaginatorBuilder.scala b/modules/team/src/main/PaginatorBuilder.scala index 77d7f87c45..d03c61dcce 100644 --- a/modules/team/src/main/PaginatorBuilder.scala +++ b/modules/team/src/main/PaginatorBuilder.scala @@ -37,7 +37,7 @@ private[team] final class PaginatorBuilder( def slice(offset: Int, length: Int): Fu[Seq[MemberWithUser]] = for { members ← coll.member.find(selector) .sort(sorting).skip(offset).cursor[Member]().gather[List](length) - users ← UserRepo byOrderedIds members.map(_.user) + users ← UserRepo usersFromSecondary members.map(_.user) } yield members zip users map { case (member, user) => MemberWithUser(member, user) } diff --git a/modules/team/src/main/TeamApi.scala b/modules/team/src/main/TeamApi.scala index deb8c6c8f7..721faacf7e 100644 --- a/modules/team/src/main/TeamApi.scala +++ b/modules/team/src/main/TeamApi.scala @@ -66,7 +66,7 @@ final class TeamApi( def requestsWithUsers(team: Team): Fu[List[RequestWithUser]] = for { requests ← RequestRepo findByTeam team.id - users ← UserRepo byOrderedIds requests.map(_.user) + users ← UserRepo usersFromSecondary requests.map(_.user) } yield requests zip users map { case (request, user) => RequestWithUser(request, user) } @@ -74,7 +74,7 @@ final class TeamApi( def requestsWithUsers(user: User): Fu[List[RequestWithUser]] = for { teamIds ← TeamRepo teamIdsByCreator user.id requests ← RequestRepo findByTeams teamIds - users ← UserRepo byOrderedIds requests.map(_.user) + users ← UserRepo usersFromSecondary requests.map(_.user) } yield requests zip users map { case (request, user) => RequestWithUser(request, user) } diff --git a/modules/user/src/main/UserRepo.scala b/modules/user/src/main/UserRepo.scala index 0da263cc84..839824915b 100644 --- a/modules/user/src/main/UserRepo.scala +++ b/modules/user/src/main/UserRepo.scala @@ -46,8 +46,8 @@ object UserRepo { y.??(yy => users.find(_.id == yy)) } - def byOrderedIds(ids: Seq[ID]): Fu[List[User]] = - coll.byOrderedIds[User, User.ID](ids)(_.id) + def byOrderedIds(ids: Seq[ID], readPreference: ReadPreference): Fu[List[User]] = + coll.byOrderedIds[User, User.ID](ids, readPreference)(_.id) def enabledByIds(ids: Iterable[ID]): Fu[List[User]] = coll.list[User](enabledSelect ++ $inIds(ids), ReadPreference.secondaryPreferred) @@ -79,7 +79,7 @@ object UserRepo { } def usersFromSecondary(userIds: Seq[ID]): Fu[List[User]] = - coll.byOrderedIds[User, User.ID](userIds, readPreference = ReadPreference.secondaryPreferred)(_.id) + byOrderedIds(userIds, ReadPreference.secondaryPreferred) private[user] def allSortToints(nb: Int) = coll.find($empty).sort($sort desc F.toints).cursor[User]().gather[List](nb)