From 06beef617ee29b09888bc3ea6cbe93ccc936c653 Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Fri, 4 May 2018 02:30:43 +0200 Subject: [PATCH] GDPR erasure: denormalized activity --- modules/activity/src/main/ActivityWriteApi.scala | 2 ++ modules/activity/src/main/Env.scala | 1 + 2 files changed, 3 insertions(+) diff --git a/modules/activity/src/main/ActivityWriteApi.scala b/modules/activity/src/main/ActivityWriteApi.scala index f17faecbc2..5c3b967dba 100644 --- a/modules/activity/src/main/ActivityWriteApi.scala +++ b/modules/activity/src/main/ActivityWriteApi.scala @@ -110,6 +110,8 @@ final class ActivityWriteApi( def streamStart(userId: User.ID) = update(userId) { _.copy(stream = true).some } + def erase(user: User) = coll.remove(regexId(user.id)) + private def simulParticipant(simul: lila.simul.Simul, userId: String, host: Boolean) = update(userId) { a => a.copy(simuls = Some(~a.simuls + SimulId(simul.id))).some } diff --git a/modules/activity/src/main/Env.scala b/modules/activity/src/main/Env.scala index ace0d1763b..952c830cdf 100644 --- a/modules/activity/src/main/Env.scala +++ b/modules/activity/src/main/Env.scala @@ -59,6 +59,7 @@ final class Env( case lila.hub.actorApi.team.CreateTeam(id, _, userId) => write.team(id, userId) case lila.hub.actorApi.team.JoinTeam(id, userId) => write.team(id, userId) case lila.hub.actorApi.streamer.StreamStart(userId) => write.streamStart(userId) + case lila.user.User.GDPRErase(user) => write erase user } })), 'finishGame, 'forumPost, 'finishPuzzle, 'finishPractice, 'team,