Update team module

pull/7020/head
Cédric Chantepie 2020-07-19 17:15:08 +02:00
parent 082ea981ce
commit 624c824569
4 changed files with 15 additions and 9 deletions

View File

@ -46,7 +46,8 @@ final private[team] class PaginatorBuilder(
.find(selector, $doc("user" -> true, "_id" -> false))
.sort(sorting)
.skip(offset)
.list[Bdoc](length)
.cursor[Bdoc]()
.list(length)
userIds = docs.flatMap(_ string "user")
users <- lightUserApi asyncMany userIds
} yield users.flatten

View File

@ -28,7 +28,7 @@ final class RequestRepo(val coll: Coll)(implicit ec: scala.concurrent.ExecutionC
def teamsQuery(teamIds: List[ID]) = $doc("team" $in teamIds)
def getByUserId(userId: lila.user.User.ID) =
coll.ext.find($doc("user" -> userId)).list[Request]()
coll.list[Request]($doc("user" -> userId))
def remove(id: ID) = coll.delete.one($id(id))
}

View File

@ -281,7 +281,8 @@ final class TeamApi(
)
)
.sort($sort desc "nbMembers")
.list[Team](max, ReadPreference.secondaryPreferred)
.cursor[Team](ReadPreference.secondaryPreferred)
.list(max)
def nbRequests(teamId: Team.ID) = cached.nbRequests get teamId

View File

@ -23,13 +23,15 @@ final class TeamRepo(val coll: Coll)(implicit ec: scala.concurrent.ExecutionCont
coll.ext
.find($inIds(ids))
.sort(sortPopular)
.list[Team](100, ReadPreference.secondaryPreferred)
.cursor[Team](ReadPreference.secondaryPreferred)
.list(100)
def enabledTeamsByLeader(userId: User.ID): Fu[List[Team]] =
coll.ext
.find($doc("leaders" -> userId) ++ enabledSelect)
.sort(sortPopular)
.list[Team](100, ReadPreference.secondaryPreferred)
.cursor[Team](ReadPreference.secondaryPreferred)
.list(100)
def enabledTeamIdsByLeader(userId: User.ID): Fu[List[Team.ID]] =
coll.ext
@ -42,8 +44,8 @@ final class TeamRepo(val coll: Coll)(implicit ec: scala.concurrent.ExecutionCont
def leadersOf(teamId: Team.ID): Fu[Set[User.ID]] =
coll.primitiveOne[Set[User.ID]]($id(teamId), "leaders").dmap(~_)
def setLeaders(teamId: String, leaders: Set[User.ID]) =
coll.updateField($id(teamId), "leaders", leaders)
def setLeaders(teamId: String, leaders: Set[User.ID]): Funit =
coll.updateField($id(teamId), "leaders", leaders).void
def leads(teamId: String, userId: User.ID) =
coll.exists($id(teamId) ++ $doc("leaders" -> userId))
@ -62,9 +64,11 @@ final class TeamRepo(val coll: Coll)(implicit ec: scala.concurrent.ExecutionCont
def incMembers(teamId: String, by: Int): Funit =
coll.update.one($id(teamId), $inc("nbMembers" -> by)).void
def enable(team: Team) = coll.updateField($id(team.id), "enabled", true)
def enable(team: Team): Funit =
coll.updateField($id(team.id), "enabled", true).void
def disable(team: Team) = coll.updateField($id(team.id), "enabled", false)
def disable(team: Team): Funit =
coll.updateField($id(team.id), "enabled", false).void
def addRequest(teamId: String, request: Request): Funit =
coll.update