fix auto toggle engine/booster and remove unused code
parent
5f9d12bda9
commit
c4ee9b7a29
|
@ -20,11 +20,11 @@ object Mod extends LilaController {
|
|||
private def assessApi = Env.mod.assessApi
|
||||
|
||||
def engine(username: String) = Secure(_.MarkEngine) { _ =>
|
||||
me => modApi.adjust(me.id, username) inject redirect(username)
|
||||
me => modApi.toggleEngine(me.id, username) inject redirect(username)
|
||||
}
|
||||
|
||||
def booster(username: String) = Secure(_.MarkBooster) { _ =>
|
||||
me => modApi.adjustBooster(me.id, username) inject redirect(username)
|
||||
me => modApi.toggleBooster(me.id, username) inject redirect(username)
|
||||
}
|
||||
|
||||
def troll(username: String) = Secure(_.MarkTroll) { _ =>
|
||||
|
|
|
@ -45,7 +45,6 @@ case class Check(userId: String)
|
|||
|
||||
package mod {
|
||||
case class MarkCheater(userId: String)
|
||||
case class MarkBooster(userId: String)
|
||||
}
|
||||
|
||||
package setup {
|
||||
|
|
|
@ -12,28 +12,34 @@ final class ModApi(
|
|||
firewall: Firewall,
|
||||
lilaBus: lila.common.Bus) {
|
||||
|
||||
def adjust(mod: String, username: String): Funit = withUser(username) { user =>
|
||||
logApi.engine(mod, user.id, !user.engine) zip
|
||||
UserRepo.toggleEngine(user.id) >>- {
|
||||
if (!user.engine) lilaBus.publish(lila.hub.actorApi.mod.MarkCheater(user.id), 'adjustCheater)
|
||||
def toggleEngine(mod: String, username: String): Funit = withUser(username) { user =>
|
||||
setEngine(mod, username, !user.engine)
|
||||
}
|
||||
|
||||
def setEngine(mod: String, username: String, v: Boolean): Funit = withUser(username) { user =>
|
||||
logApi.engine(mod, user.id, v) zip
|
||||
UserRepo.setEngine(user.id, v) >>- {
|
||||
if (v) lilaBus.publish(lila.hub.actorApi.mod.MarkCheater(user.id), 'adjustCheater)
|
||||
} void
|
||||
}
|
||||
|
||||
def autoAdjust(username: String): Funit = logApi.wasUnengined(User.normalize(username)) flatMap {
|
||||
case true => funit
|
||||
case false => adjust("lichess", username)
|
||||
case false => setEngine("lichess", username, true)
|
||||
}
|
||||
|
||||
def adjustBooster(mod: String, username: String): Funit = withUser(username) { user =>
|
||||
logApi.booster(mod, user.id, !user.booster) zip
|
||||
UserRepo.toggleBooster(user.id) >>- {
|
||||
if (!user.booster) lilaBus.publish(lila.hub.actorApi.mod.MarkBooster(user.id), 'adjustBooster)
|
||||
} void
|
||||
def toggleBooster(mod: String, username: String): Funit = withUser(username) { user =>
|
||||
setBooster(mod, username, !user.booster)
|
||||
}
|
||||
|
||||
def setBooster(mod: String, username: String, v: Boolean): Funit = withUser(username) { user =>
|
||||
logApi.booster(mod, user.id, v) zip
|
||||
UserRepo.setBooster(user.id, v) void
|
||||
}
|
||||
|
||||
def autoBooster(username: String): Funit = logApi.wasUnbooster(User.normalize(username)) flatMap {
|
||||
case true => funit
|
||||
case false => adjustBooster("lichess", username)
|
||||
case true => funit
|
||||
case false => setBooster("lichess", username, true)
|
||||
}
|
||||
|
||||
def troll(mod: String, username: String): Fu[Boolean] = withUser(username) { u =>
|
||||
|
|
|
@ -222,9 +222,9 @@ trait UserRepo {
|
|||
$setBson("engine" -> BSONBoolean(!u.engine))
|
||||
}
|
||||
|
||||
def toggleBooster(id: ID): Funit = $update.docBson[ID, User](id) { u =>
|
||||
$setBson("booster" -> BSONBoolean(!u.booster))
|
||||
}
|
||||
def setEngine(id: ID, v: Boolean): Funit = $update.field(id, "engine", v)
|
||||
|
||||
def setBooster(id: ID, v: Boolean): Funit = $update.field(id, "booster", v)
|
||||
|
||||
def toggleIpBan(id: ID) = $update.doc[ID, User](id) { u => $set("ipBan" -> !u.ipBan) }
|
||||
|
||||
|
|
Loading…
Reference in New Issue