Fix a counting bug with reported messages

This commit is contained in:
Jon Chambers
2021-11-23 17:28:39 -05:00
committed by GitHub
parent a42fe9bfb0
commit 6919354520
4 changed files with 58 additions and 11 deletions

View File

@@ -503,7 +503,7 @@ public class MessageController {
public Response reportMessage(@Auth AuthenticatedAccount auth, @PathParam("sourceNumber") String sourceNumber,
@PathParam("messageGuid") UUID messageGuid) {
reportMessageManager.report(sourceNumber, messageGuid);
reportMessageManager.report(sourceNumber, messageGuid, auth.getAccount().getUuid());
return Response.status(Status.ACCEPTED)
.build();

View File

@@ -54,7 +54,7 @@ public class ReportMessageManager {
}
}
public void report(String sourceNumber, UUID messageGuid) {
public void report(String sourceNumber, UUID messageGuid, UUID reporterUuid) {
final boolean found = reportMessageDynamoDb.remove(hash(messageGuid, sourceNumber));
@@ -62,7 +62,7 @@ public class ReportMessageManager {
rateLimitCluster.useCluster(connection -> {
final String reportedSenderKey = getReportedSenderKey(sourceNumber);
connection.sync().pfadd(reportedSenderKey, sourceNumber);
connection.sync().pfadd(reportedSenderKey, reporterUuid.toString());
connection.sync().expire(reportedSenderKey, counterTtl.toSeconds());
});