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 562007b95..c9a8c3b00 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,11 +25,13 @@ 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; @@ -70,6 +72,7 @@ public class SaasMigrationService implements TenantSyncService { CommentService commentService; RankDeDuplicationService rankDeDuplicationService; SaasMigrationManualChangesUpdateService saasMigrationManualChangesUpdateService; + FileRepository fileRepository; @Override @@ -97,9 +100,21 @@ public class SaasMigrationService implements TenantSyncService { for (var file : files) { + var dossier = dossierService.getDossierById(file.getDossierId()); + + if (dossier.getHardDeletedTime() != null){ + if (fileStatusPersistenceService.getStatus(file.getFileId()).getHardDeletedTime() != null){ + saasMigrationStatusPersistenceService.updateStatus(file.getFileId(), SaasMigrationStatus.FINISHED); + return; + } else { + fileRepository.setHardDelete(file.getFileId(), ProcessingStatus.PROCESSED, dossier.getHardDeletedTime(), dossier.getHardDeletedTime(), dossier.getHardDeletedTime()); + saasMigrationStatusPersistenceService.updateStatus(file.getFileId(), SaasMigrationStatus.FINISHED); + return; + } + } if (fileStatusPersistenceService.getStatus(file.getFileId()).getHardDeletedTime() != null){ saasMigrationStatusPersistenceService.updateStatus(file.getFileId(), SaasMigrationStatus.FINISHED); - continue; + return; } if (!file.getStatus().equals(SaasMigrationStatus.MIGRATION_REQUIRED)) { @@ -127,6 +142,18 @@ public class SaasMigrationService implements TenantSyncService { public void startMigrationForFile(String dossierId, String fileId) { + var dossier = dossierService.getDossierById(dossierId); + + if (dossier.getHardDeletedTime() != null){ + if (fileStatusPersistenceService.getStatus(fileId).getHardDeletedTime() != null){ + saasMigrationStatusPersistenceService.updateStatus(fileId, SaasMigrationStatus.FINISHED); + return; + } else { + fileRepository.setHardDelete(fileId, ProcessingStatus.PROCESSED, dossier.getHardDeletedTime(), dossier.getHardDeletedTime(), dossier.getHardDeletedTime()); + saasMigrationStatusPersistenceService.updateStatus(fileId, SaasMigrationStatus.FINISHED); + return; + } + } if (fileStatusPersistenceService.getStatus(fileId).getHardDeletedTime() != null){ saasMigrationStatusPersistenceService.updateStatus(fileId, SaasMigrationStatus.FINISHED); return;