diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java index 9df0b5245..76efa52fb 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java @@ -28,6 +28,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.AccessC import com.iqser.red.service.persistence.management.v1.processor.service.DossierManagementService; import com.iqser.red.service.persistence.management.v1.processor.service.DownloadService; import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService; +import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusManagementService; import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.AuditPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.utils.StringEncodingUtils; @@ -70,6 +71,7 @@ public class DownloadController implements DownloadResource { private final OneTimeTokenService oneTimeTokenDownloadService; private final AccessControlService accessControlService; private final FileManagementStorageService fileManagementStorageService; + private final FileStatusManagementService fileStatusManagementService; private final String REPORT_INFO = "/REPORT_INFO.json"; @@ -136,7 +138,7 @@ public class DownloadController implements DownloadResource { if (StringUtils.isBlank(dossierId)) { throw new BadRequestException("Empty dossier id"); } - dossierService.getDossierById(dossierId, true, true); + dossierService.getDossierById(dossierId, true, false); accessControlService.verifyUserIsDossierOwnerOrApprover(dossierId); } @@ -146,11 +148,14 @@ public class DownloadController implements DownloadResource { List validFiles = fileStatusService.getDossierStatus(request.getDossierId()); var fileIds = request.getFileIds(); if (fileIds != null && !fileIds.isEmpty()) { // validate the ids provided + if(fileIds.size() == 1) { + fileStatusManagementService.getFileStatus(fileIds.get(0), false); + } validFiles = validFiles.stream() .filter(f -> fileIds.contains(f.getId())) .collect(Collectors.toList()); if (validFiles.isEmpty()) { - throw new NotFoundException("No file id provided is found"); + throw new NotFoundException("No provided file id was found"); } } // otherwise consider the files from dossier diff --git a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/FileControllerV2.java b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/FileControllerV2.java index f8faf3446..b08dd69ee 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/FileControllerV2.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/FileControllerV2.java @@ -156,8 +156,6 @@ public class FileControllerV2 implements FileResource { @PathVariable(FILE_ID_PARAM) String fileId, @RequestBody DownloadRequest downloadRequest) { - fileStatusManagementService.getFileStatus(fileId, false); - return prepareBulkDownload(dossierTemplateId, dossierId, BulkDownloadRequest.builder()