From dbc6063e8ccd3228f35397cd6e48747083e24688 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Fri, 8 Oct 2021 14:13:03 +0300 Subject: [PATCH] RED-2378 --- .../v1/server/service/ExcludeFromAnalysisService.java | 10 ++++++++++ .../v1/server/service/RedactionLogService.java | 10 +++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ExcludeFromAnalysisService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ExcludeFromAnalysisService.java index 9f71aa34b..4af458696 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ExcludeFromAnalysisService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ExcludeFromAnalysisService.java @@ -20,6 +20,8 @@ public class ExcludeFromAnalysisService { private final FileStatusService fileStatusService; private final FileManagementStorageService fileManagementStorageService; + private final LegalBasisChangePersistenceService legalBasisChangePersistenceService; + private final ImageRecategorizationPersistenceService imageRecategorizationPersistenceService; private final CommentPersistenceService commentPersistenceService; private final ForceRedactionPersistenceService forceRedactionPersistenceService; private final RemoveRedactionPersistenceService removeRedactionPersistenceService; @@ -65,6 +67,14 @@ public class ExcludeFromAnalysisService { var removeRedactions = removeRedactionPersistenceService.findRemoveRedactions(fileId, false); removeRedactions.forEach(f -> removeRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now)); + // wipe image recat + var imageRecategorizations = imageRecategorizationPersistenceService.findRecategorizations(fileId, false); + imageRecategorizations.forEach(f -> imageRecategorizationPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now)); + + // wipe legal basis changes + var legalBasisChanges = legalBasisChangePersistenceService.findLegalBasisChanges(fileId, false); + legalBasisChanges.forEach(f -> legalBasisChangePersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now)); + fileStatusPersistenceService.updateHasComments(fileId, false); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java index 28ca4371c..5b9344a82 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java @@ -1,6 +1,7 @@ package com.iqser.red.service.peristence.v1.server.service; import com.iqser.red.service.peristence.v1.server.client.RedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.redaction.v1.model.RedactionLog; import com.iqser.red.service.redaction.v1.model.RedactionRequest; @@ -21,10 +22,17 @@ public class RedactionLogService { public RedactionLog getRedactionLog(String dossierId, String fileId, boolean withManualRedactions) { + var fileStatus = fileStatusService.getStatus(fileId); + + if(fileStatus.isExcluded()){ + throw new NotFoundException("Excluded files have no redactionLog"); + } + if (withManualRedactions) { var dossier = dossierPersistenceService.getAndValidateDossier(dossierId); var manualRedactions = manualRedactionService.getManualRedactions(fileId); - var fileStatus = fileStatusService.getStatus(fileId); + + return redactionClient.getRedactionLog(RedactionRequest.builder() .dossierId(dossierId) .fileId(fileId)