diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionProviderService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionProviderService.java index b83f230a4..1da0466b5 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionProviderService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionProviderService.java @@ -9,10 +9,11 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import javax.transaction.Transactional; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.stereotype.Service; +import org.springframework.transaction.UnexpectedRollbackException; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualRedactionEntryEntity; @@ -87,43 +88,16 @@ public class ManualRedactionProviderService { } - public void hardDeleteManualRedactions(String fileId, String annotationId) { - try { + @Transactional(noRollbackFor = {EmptyResultDataAccessException.class}) + public void hardDeleteManualRedactions(String fileId, String annotationId) { addRedactionPersistenceService.hardDelete(fileId, annotationId); - } catch (EmptyResultDataAccessException e) { - log.info("Ignored silently during deletion: {}", e.getMessage()); - } - try { removeRedactionPersistenceService.hardDelete(fileId, annotationId); - } catch (EmptyResultDataAccessException e) { - log.info("Ignored silently during deletion: {}", e.getMessage()); - } - try { forceRedactionPersistenceService.hardDelete(fileId, annotationId); - } catch (EmptyResultDataAccessException e) { - log.info("Ignored silently during deletion: {}", e.getMessage()); - } - try { recategorizationPersistenceService.hardDelete(fileId, annotationId); - } catch (EmptyResultDataAccessException e) { - log.info("Ignored silently during deletion: {}", e.getMessage()); - } - try { legalBasisChangePersistenceService.hardDelete(fileId, annotationId); - } catch (EmptyResultDataAccessException e) { - log.info("Ignored silently during deletion: {}", e.getMessage()); - } - try { resizeRedactionPersistenceService.hardDelete(fileId, annotationId); - } catch (EmptyResultDataAccessException e) { - log.info("Ignored silently during deletion: {}", e.getMessage()); - } - try { commentPersistenceService.hardDelete(fileId, annotationId); - } catch (EmptyResultDataAccessException e) { - log.info("Ignored silently during deletion: {}", e.getMessage()); - } } } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionService.java index ea3594e53..39097647a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ManualRedactionService.java @@ -14,6 +14,7 @@ import java.util.stream.Collectors; import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/AddRedactionPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/AddRedactionPersistenceService.java index d82202d53..36d54e4de 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/AddRedactionPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/AddRedactionPersistenceService.java @@ -6,10 +6,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; -import javax.transaction.Transactional; - import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualRedactionEntryEntity; @@ -92,7 +91,7 @@ public class AddRedactionPersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - manualRedactionRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); + manualRedactionRepository.hardDelete(new AnnotationEntityId(annotationId, fileId)); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/CommentPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/CommentPersistenceService.java index b26fde28d..350fb885b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/CommentPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/CommentPersistenceService.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import javax.transaction.Transactional; +import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.stereotype.Service; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity; @@ -15,7 +16,9 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.NotFo import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.CommentRepository; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service @RequiredArgsConstructor public class CommentPersistenceService { @@ -53,7 +56,11 @@ public class CommentPersistenceService { @Transactional public void hardDelete(long commentId) { - commentRepository.deleteById(commentId); + try { + commentRepository.deleteById(commentId); + } catch (EmptyResultDataAccessException e) { + log.info("Ignored silently during deletion: {}", e.getMessage()); + } } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ForceRedactionPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ForceRedactionPersistenceService.java index 5d3ff12b3..e0304ea4e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ForceRedactionPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ForceRedactionPersistenceService.java @@ -5,10 +5,9 @@ import java.time.temporal.ChronoUnit; import java.util.HashSet; import java.util.Set; -import javax.transaction.Transactional; - import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualForceRedactionEntity; @@ -18,7 +17,9 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ForceRedactionRequest; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service @RequiredArgsConstructor public class ForceRedactionPersistenceService { @@ -46,7 +47,7 @@ public class ForceRedactionPersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - forceRedactionRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); + forceRedactionRepository.hardDelete(new AnnotationEntityId(annotationId, fileId)); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ImageRecategorizationPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ImageRecategorizationPersistenceService.java index 044756cd5..763449661 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ImageRecategorizationPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ImageRecategorizationPersistenceService.java @@ -4,10 +4,9 @@ import java.time.OffsetDateTime; import java.time.temporal.ChronoUnit; import java.util.List; -import javax.transaction.Transactional; - import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualImageRecategorizationEntity; @@ -17,7 +16,9 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ImageRecategorizationRequest; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service @RequiredArgsConstructor public class ImageRecategorizationPersistenceService { @@ -46,7 +47,7 @@ public class ImageRecategorizationPersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - imageRecategorizationRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); + imageRecategorizationRepository.hardDelete(new AnnotationEntityId(annotationId, fileId)); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/LegalBasisChangePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/LegalBasisChangePersistenceService.java index c821905d1..676642fee 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/LegalBasisChangePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/LegalBasisChangePersistenceService.java @@ -5,10 +5,9 @@ import java.time.temporal.ChronoUnit; import java.util.Set; import java.util.stream.Collectors; -import javax.transaction.Transactional; - import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualLegalBasisChangeEntity; @@ -18,7 +17,9 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.LegalBasisChangeRequest; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service @RequiredArgsConstructor public class LegalBasisChangePersistenceService { @@ -45,7 +46,7 @@ public class LegalBasisChangePersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - legalBasisChangeRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); + legalBasisChangeRepository.hardDelete(new AnnotationEntityId(annotationId, fileId)); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/RemoveRedactionPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/RemoveRedactionPersistenceService.java index 84ac2a931..7db40573e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/RemoveRedactionPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/RemoveRedactionPersistenceService.java @@ -6,10 +6,9 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import javax.transaction.Transactional; - import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.IdRemovalEntity; @@ -20,7 +19,9 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.IdRemoval; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service @RequiredArgsConstructor public class RemoveRedactionPersistenceService { @@ -61,7 +62,7 @@ public class RemoveRedactionPersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - removeRedactionRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); + removeRedactionRepository.hardDelete(new AnnotationEntityId(annotationId, fileId)); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ResizeRedactionPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ResizeRedactionPersistenceService.java index 198183408..cf3ca5bf7 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ResizeRedactionPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/annotations/ResizeRedactionPersistenceService.java @@ -4,10 +4,9 @@ import java.time.OffsetDateTime; import java.time.temporal.ChronoUnit; import java.util.List; -import javax.transaction.Transactional; - import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualResizeRedactionEntity; @@ -19,7 +18,9 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ResizeRedactionRequest; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Service @RequiredArgsConstructor public class ResizeRedactionPersistenceService { @@ -62,7 +63,7 @@ public class ResizeRedactionPersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - resizeRedactionRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); + resizeRedactionRepository.hardDelete(new AnnotationEntityId(annotationId, fileId)); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ForceRedactionRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ForceRedactionRepository.java index daf5f0c43..3eeb9613a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ForceRedactionRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ForceRedactionRepository.java @@ -7,6 +7,7 @@ import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualForceRedactionEntity; @@ -14,7 +15,10 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations public interface ForceRedactionRepository extends JpaRepository { - List findByIdFileId(String fileId); + @Transactional + @Modifying(flushAutomatically = true, clearAutomatically = true) + @Query("delete from ManualForceRedactionEntity e where e.id = :id") + void hardDelete(AnnotationEntityId id); @Modifying(clearAutomatically = true) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ImageRecategorizationRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ImageRecategorizationRepository.java index af5c554fb..f6c111220 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ImageRecategorizationRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ImageRecategorizationRepository.java @@ -7,6 +7,7 @@ import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualImageRecategorizationEntity; @@ -14,7 +15,10 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations public interface ImageRecategorizationRepository extends JpaRepository { - List findByIdFileId(String fileId); + @Transactional + @Modifying(flushAutomatically = true, clearAutomatically = true) + @Query("delete from ManualImageRecategorizationEntity e where e.id = :id") + void hardDelete(AnnotationEntityId id); @Modifying(clearAutomatically = true) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisChangeRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisChangeRepository.java index db4a2bca2..4bf9ebecc 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisChangeRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisChangeRepository.java @@ -7,6 +7,7 @@ import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualLegalBasisChangeEntity; @@ -14,6 +15,12 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations public interface LegalBasisChangeRepository extends JpaRepository { + @Transactional + @Modifying(flushAutomatically = true, clearAutomatically = true) + @Query("delete from ManualLegalBasisChangeEntity e where e.id = :id") + void hardDelete(AnnotationEntityId id); + + @Modifying(clearAutomatically = true) @Query("update ManualLegalBasisChangeEntity mlbc set mlbc.status = :annotationStatus, mlbc.processedDate = :processedDate " + "where mlbc.id = :annotationEntityId") void updateStatus(AnnotationEntityId annotationEntityId, AnnotationStatus annotationStatus, OffsetDateTime processedDate); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ManualRedactionRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ManualRedactionRepository.java index 7647db454..be0cc7bf0 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ManualRedactionRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ManualRedactionRepository.java @@ -8,6 +8,7 @@ import java.util.Set; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualRedactionEntryEntity; @@ -15,7 +16,10 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations public interface ManualRedactionRepository extends JpaRepository { - List findByIdFileId(String fileId); + @Transactional + @Modifying(flushAutomatically = true, clearAutomatically = true) + @Query("delete from ManualForceRedactionEntity e where e.id = :id") + void hardDelete(AnnotationEntityId id); @Modifying diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RemoveRedactionRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RemoveRedactionRepository.java index 17444e82f..120b32f70 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RemoveRedactionRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RemoveRedactionRepository.java @@ -7,6 +7,7 @@ import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.IdRemovalEntity; @@ -14,6 +15,12 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations public interface RemoveRedactionRepository extends JpaRepository { + @Transactional + @Modifying(flushAutomatically = true, clearAutomatically = true) + @Query("delete from IdRemovalEntity e where e.id = :id") + void hardDelete(AnnotationEntityId id); + + @Modifying @Query("update IdRemovalEntity idr set idr.softDeletedTime = :softDeletedTime where idr.id = :annotationEntityId") void updateSoftDelete(AnnotationEntityId annotationEntityId, OffsetDateTime softDeletedTime); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ResizeRedactionRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ResizeRedactionRepository.java index 1fcf852ee..15c3c009b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ResizeRedactionRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ResizeRedactionRepository.java @@ -7,6 +7,7 @@ import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualResizeRedactionEntity; @@ -14,7 +15,10 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations public interface ResizeRedactionRepository extends JpaRepository { - List findByIdFileId(String fileId); + @Transactional + @Modifying(flushAutomatically = true, clearAutomatically = true) + @Query("delete from ManualResizeRedactionEntity e where e.id = :id") + void hardDelete(AnnotationEntityId id); @Modifying(clearAutomatically = true)