only show coach profiles of enabled players

removeCoachApprovedField
Thibault Duplessis 2021-07-08 21:13:06 +02:00
parent 9c8ae82372
commit 161c19a19b
4 changed files with 3 additions and 5 deletions

View File

@ -160,7 +160,6 @@ final class Env(
_ <- security.store.closeAllSessionsOf(u.id)
_ <- push.webSubscriptionApi.unsubscribeByUser(u)
_ <- streamer.api.demote(u.id)
_ <- coach.api.remove(u.id)
reports <- report.api.processAndGetBySuspect(lila.report.Suspect(u))
_ <- selfClose ?? mod.logApi.selfCloseAccount(u.id, reports)
_ <- appeal.api.onAccountClose(u)

View File

@ -41,7 +41,7 @@ object Coach {
)
case class WithUser(coach: Coach, user: lila.user.User) {
def isListed = coach.listed.value && user.marks.clean
def isListed = coach.listed.value && user.enabled && user.marks.clean
}
case class Id(value: String) extends AnyVal with StringValue

View File

@ -41,7 +41,7 @@ final class CoachApi(
}
def isListedCoach(user: User): Fu[Boolean] =
Granter(_.Coach)(user) ?? coachColl.exists($id(user.id) ++ $doc("listed" -> true))
Granter(_.Coach)(user) ?? user.enabled ?? user.marks.clean ?? coachColl.exists($id(user.id))
def setSeenAt(user: User): Funit =
Granter(_.Coach)(user) ?? coachColl.update.one($id(user.id), $set("user.seenAt" -> DateTime.now)).void
@ -67,8 +67,6 @@ final class CoachApi(
def setNbReviews(id: Coach.Id, nb: Int): Funit =
coachColl.update.one($id(id), $set("nbReviews" -> nb)).void
def remove(userId: User.ID): Funit = coachColl.updateField($id(userId), "listed", false).void
def uploadPicture(c: Coach.WithUser, picture: Photographer.Uploaded, by: User): Funit =
photographer(c.coach.id.value, picture, createdBy = by.id).flatMap { pic =>
coachColl.update.one($id(c.coach.id), $set("picturePath" -> pic.path)).void

View File

@ -60,6 +60,7 @@ final class CoachPager(
UnwindField("_user"),
Match(
$doc(
s"_user.${User.BSONFields.enabled}" -> true,
s"_user.${User.BSONFields.marks}" $nin List(
UserMark.Engine.key,
UserMark.Boost.key,