diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java index cd9eb9202..161e62889 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java @@ -48,6 +48,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist import com.iqser.red.service.persistence.management.v1.processor.service.persistence.annotations.LegalBasisChangePersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.annotations.RemoveRedactionPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.annotations.ResizeRedactionPersistenceService; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ForceRedactionRepository; import com.iqser.red.service.persistence.service.v1.api.model.annotations.AddRedactionRequest; import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; import com.iqser.red.service.persistence.service.v1.api.model.annotations.CommentRequest; @@ -96,6 +97,7 @@ public class ManualRedactionService { private final RabbitTemplate rabbitTemplate; private final ObjectMapper objectMapper; private final RedactionLogService redactionLogService; + private final ForceRedactionRepository forceRedactionRepository; private final HashFunction hashFunction = Hashing.murmur3_128(); @@ -618,7 +620,11 @@ public class ManualRedactionService { for (var annotationId : annotationIds) { var forceRedaction = forceRedactionPersistenceService.findForceRedaction(fileId, annotationId); forceRedactionPersistenceService.updateStatus(fileId, annotationId, annotationStatus); - actionPerformed = actionPerformed || !(forceRedaction.getStatus() == AnnotationStatus.REQUESTED && annotationStatus == AnnotationStatus.DECLINED); + boolean isDeclined = forceRedaction.getStatus() == AnnotationStatus.REQUESTED && annotationStatus == AnnotationStatus.DECLINED; + actionPerformed = actionPerformed || !isDeclined; + if (isDeclined) { + forceRedactionRepository.markAsProcessed(new AnnotationEntityId(annotationId, fileId), OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)); + } } if (actionPerformed) {