diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/SaasMigrationService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/SaasMigrationService.java index c9a8c3b00..78b238fcd 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/SaasMigrationService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/SaasMigrationService.java @@ -25,13 +25,11 @@ import com.iqser.red.service.persistence.management.v1.processor.service.manualr import com.iqser.red.service.persistence.management.v1.processor.service.manualredactions.ManualRedactionService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.SaasMigrationStatusPersistenceService; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; import com.iqser.red.service.persistence.management.v1.processor.settings.FileManagementServiceSettings; import com.iqser.red.service.persistence.management.v1.processor.utils.StorageIdUtils; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.migration.MigratedIds; import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualRedactionEntry; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType; -import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.ProcessingStatus; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.SaasMigrationStatus; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus; import com.iqser.red.service.redaction.v1.model.MigrationRequest; @@ -72,7 +70,6 @@ public class SaasMigrationService implements TenantSyncService { CommentService commentService; RankDeDuplicationService rankDeDuplicationService; SaasMigrationManualChangesUpdateService saasMigrationManualChangesUpdateService; - FileRepository fileRepository; @Override @@ -107,7 +104,7 @@ public class SaasMigrationService implements TenantSyncService { saasMigrationStatusPersistenceService.updateStatus(file.getFileId(), SaasMigrationStatus.FINISHED); return; } else { - fileRepository.setHardDelete(file.getFileId(), ProcessingStatus.PROCESSED, dossier.getHardDeletedTime(), dossier.getHardDeletedTime(), dossier.getHardDeletedTime()); + fileStatusPersistenceService.hardDelete(file.getFileId(), dossier.getHardDeletedTime()); saasMigrationStatusPersistenceService.updateStatus(file.getFileId(), SaasMigrationStatus.FINISHED); return; } @@ -149,7 +146,7 @@ public class SaasMigrationService implements TenantSyncService { saasMigrationStatusPersistenceService.updateStatus(fileId, SaasMigrationStatus.FINISHED); return; } else { - fileRepository.setHardDelete(fileId, ProcessingStatus.PROCESSED, dossier.getHardDeletedTime(), dossier.getHardDeletedTime(), dossier.getHardDeletedTime()); + fileStatusPersistenceService.hardDelete(fileId, dossier.getHardDeletedTime()); saasMigrationStatusPersistenceService.updateStatus(fileId, SaasMigrationStatus.FINISHED); return; } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java index 633a8bfd2..388908c73 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java @@ -394,6 +394,17 @@ public class FileStatusPersistenceService { } + @Transactional + public void hardDelete(String fileId, OffsetDateTime date) { + + int countUpdate = fileRepository.setHardDelete(fileId, ProcessingStatus.PROCESSED, date, date, date); + if (countUpdate == 0) { + throw new NotFoundException(String.format("File with ID \"%s\" not found!", fileId)); + } + fileAttributesRepository.deleteByFileId(fileId); + } + + @Transactional public void softDelete(String fileId, OffsetDateTime softDeletedTime) {