diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java index baa23dadc..96b354f28 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java @@ -121,7 +121,7 @@ public interface FileRepository extends JpaRepository { "f.hasHints = false, f.hasRedactions = false, f.hasSuggestions = false, f.hasUpdates = false, " + "f.deleted = null, f.hardDeletedTime = null " + "where f.id = :fileId") - int overwriteFile(String fileId, String uploader, String filename, ProcessingStatus processingStatus, + int overwriteFile(String fileId, String filename, String uploader, ProcessingStatus processingStatus, WorkflowStatus workflowStatus, OffsetDateTime lastUploaded, OffsetDateTime lastUpdated); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java index ae9dc88cb..796d00cc2 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java @@ -57,6 +57,31 @@ public class FileTest extends AbstractPersistenceServerServiceTest { } } + @Test + public void testFileSoftDeleteReupload() { + var filename = "test.pdf"; + var dossier = dossierTesterAndProvider.provideTestDossier(); + + var file = fileTesterAndProvider.testAndProvideFile(dossier, filename); + + assertThat(fileClient.getAllStatuses().size()).isEqualTo(1); + var loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + + assertThat(loadedFile.getFilename()).isEqualTo(filename); + + uploadClient.deleteFile(dossier.getId(), file.getId()); + + var nrOfFiles = fileClient.getSoftDeletedDossierStatus(dossier.getId()).size(); + assertThat(nrOfFiles).isEqualTo(1); + loadedFile = fileClient.getSoftDeletedDossierStatus(dossier.getId()).get(0); + assertThat(loadedFile.getFilename()).isEqualTo(filename); + + var fileUploaded = fileTesterAndProvider.testAndProvideFile(dossier); + loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + + assertThat(loadedFile.getFilename()).isEqualTo(filename); + } + @Test public void testFile() { var dossier = dossierTesterAndProvider.provideTestDossier();