From 58b54112324b38a5d67612b325c58ad5de510619 Mon Sep 17 00:00:00 2001 From: Martin Lowe <martin.lowe@eclipse-foundation.org> Date: Tue, 13 Aug 2024 12:52:40 -0400 Subject: [PATCH] Iss #157 - Add email obfuscation to the status json return Resolves #157 --- .../eca/config/EclipseQuteTemplateExtensions.java | 2 +- .../git/eca/resource/StatusResource.java | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/eclipsefoundation/git/eca/config/EclipseQuteTemplateExtensions.java b/src/main/java/org/eclipsefoundation/git/eca/config/EclipseQuteTemplateExtensions.java index af3e3c85..0413b424 100644 --- a/src/main/java/org/eclipsefoundation/git/eca/config/EclipseQuteTemplateExtensions.java +++ b/src/main/java/org/eclipsefoundation/git/eca/config/EclipseQuteTemplateExtensions.java @@ -80,7 +80,7 @@ public class EclipseQuteTemplateExtensions { * @param email the address to obfuscate * @return the obfuscated address, or empty string if (the string could not be parsed as an email address. */ - static String obfuscateEmail(String email) { + public static String obfuscateEmail(String email) { if (StringUtils.isBlank(email)) { return ""; } diff --git a/src/main/java/org/eclipsefoundation/git/eca/resource/StatusResource.java b/src/main/java/org/eclipsefoundation/git/eca/resource/StatusResource.java index 8fe1a05f..0a95623e 100644 --- a/src/main/java/org/eclipsefoundation/git/eca/resource/StatusResource.java +++ b/src/main/java/org/eclipsefoundation/git/eca/resource/StatusResource.java @@ -15,6 +15,7 @@ import java.util.List; import org.apache.commons.lang3.StringUtils; import org.eclipsefoundation.efservices.api.models.Project; +import org.eclipsefoundation.git.eca.config.EclipseQuteTemplateExtensions; import org.eclipsefoundation.git.eca.dto.CommitValidationStatus; import org.eclipsefoundation.git.eca.helper.GithubValidationHelper; import org.eclipsefoundation.git.eca.helper.ProjectHelper; @@ -86,7 +87,17 @@ public class StatusResource extends CommonResource { @GET @Path("{fingerprint}") public Response getCommitValidation(@PathParam("fingerprint") String fingerprint) { - return Response.ok(validationStatus.getHistoricValidationStatus(wrapper, fingerprint)).build(); + List<CommitValidationStatus> statuses = validationStatus.getHistoricValidationStatus(wrapper, fingerprint); + // for each of the statuses, obfuscate the emails before return + statuses.forEach(s -> { + s.setUserMail(EclipseQuteTemplateExtensions.obfuscateEmail(s.getUserMail())); + s.getErrors().stream().forEach(e -> { + e.setAuthorEmail(EclipseQuteTemplateExtensions.obfuscateEmail(e.getAuthorEmail())); + e.setCommitterEmail(EclipseQuteTemplateExtensions.obfuscateEmail(e.getCommitterEmail())); + }); + }); + + return Response.ok(statuses).build(); } /** -- GitLab