log GDPR erasure scheduling

pull/8661/head
Thibault Duplessis 2021-04-14 14:47:06 +02:00
parent 4bbd82bf01
commit f6713854d5
2 changed files with 14 additions and 2 deletions

View File

@ -17,7 +17,8 @@ final private[api] class Cli(
coach: lila.coach.Env,
evalCache: lila.evalCache.Env,
plan: lila.plan.Env,
msg: lila.msg.Env
msg: lila.msg.Env,
slackApi: lila.irc.SlackApi
)(implicit ec: scala.concurrent.ExecutionContext)
extends lila.common.Cli {
@ -41,6 +42,7 @@ final private[api] class Cli(
case None => "No such user."
case Some(user) if user.enabled => "That user account is not closed. Can't erase."
case Some(user) =>
slackApi.gdprErase(user)
userRepo setEraseAt user
Bus.publish(lila.user.User.GDPRErase(user), "gdprErase")
s"Erasing all search data about ${user.username} now"

View File

@ -197,6 +197,16 @@ final class SlackApi(
)
)
def gdprErase(user: User): Funit =
client(
SlackMessage(
username = "lichess",
icon = "scream2",
text = "GDPR erasure scheduled",
channel = rooms.gdprLog
)
)
private def link(url: String, name: String) = s"<$url|$name>"
private def lichessLink(path: String, name: String) = s"<https://lichess.org$path|$name>"
private def userLink(name: String): String = lichessLink(s"/@/$name?mod", name)
@ -309,9 +319,9 @@ object SlackApi {
val tavernLog = "tavern-log"
val signups = "signups"
val broadcast = "broadcast"
val devNoise = "dev-noise"
def tavernMonitor(tpe: MonitorType) = s"tavern-monitor-${tpe.toString.toLowerCase}"
val tavernMonitorAll = "tavern-monitor-all"
val gdprLog = "gdpr-log"
}
private[irc] object stage {