allow simul hosts to timeout chat users - closes #8855
parent
3d010e47e1
commit
f64030f631
|
@ -35,7 +35,8 @@ object show {
|
|||
name = trans.chatRoom.txt(),
|
||||
timeout = c.timeout,
|
||||
public = true,
|
||||
resourceId = lila.chat.Chat.ResourceId(s"simul/${c.chat.id}")
|
||||
resourceId = lila.chat.Chat.ResourceId(s"simul/${c.chat.id}"),
|
||||
localMod = ctx.userId has sim.hostId
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -80,6 +80,9 @@ final private[simul] class SimulRepo(val coll: Coll)(implicit ec: scala.concurre
|
|||
.cursor[Simul]()
|
||||
.list()
|
||||
|
||||
def hostId(id: Simul.ID): Fu[Option[User.ID]] =
|
||||
coll.primitiveOne[User.ID]($id(id), "hostId")
|
||||
|
||||
private val featurableSelect = $doc("featurable" -> true)
|
||||
|
||||
def allCreatedFeaturable: Fu[List[Simul]] =
|
||||
|
|
|
@ -59,7 +59,16 @@ final private class SimulSocket(
|
|||
subscribeChat(rooms, _.Simul)
|
||||
|
||||
private lazy val handler: Handler =
|
||||
roomHandler(rooms, chat, logger, roomId => _.Simul(roomId.value).some, chatBusChan = _.Simul)
|
||||
roomHandler(
|
||||
rooms,
|
||||
chat,
|
||||
logger,
|
||||
roomId => _.Simul(roomId.value).some,
|
||||
chatBusChan = _.Simul,
|
||||
localTimeout = Some { (roomId, modId, _) =>
|
||||
repo.hostId(roomId.value).map(_ has modId)
|
||||
}
|
||||
)
|
||||
|
||||
private lazy val send: String => Unit = remoteSocketApi.makeSender("simul-out").apply _
|
||||
|
||||
|
|
Loading…
Reference in New Issue