diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java index 910962fc7..dc89fd76f 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java @@ -1,13 +1,17 @@ package com.iqser.red.service.peristence.v1.server.service; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + import com.iqser.red.service.peristence.v1.server.client.RedactionClient; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.redaction.v1.model.RedactionLog; import com.iqser.red.service.redaction.v1.model.RedactionRequest; import com.iqser.red.service.redaction.v1.model.SectionGrid; + +import feign.FeignException; import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor @@ -24,7 +28,7 @@ public class RedactionLogService { var fileStatus = fileStatusService.getStatus(fileId); - if(fileStatus.isExcluded()){ + if (fileStatus.isExcluded()) { throw new NotFoundException("Excluded files have no redactionLog"); } @@ -32,14 +36,20 @@ public class RedactionLogService { var dossier = dossierPersistenceService.getAndValidateDossier(dossierId); var manualRedactions = manualRedactionService.getManualRedactions(fileId); - - return redactionClient.getRedactionLog(RedactionRequest.builder() - .dossierId(dossierId) - .fileId(fileId) - .manualRedactions(manualRedactions) - .dossierTemplateId(dossier.getDossierTemplateId()) - .excludedPages(fileStatus.getExcludedPages()) - .build()); + try { + return redactionClient.getRedactionLog(RedactionRequest.builder() + .dossierId(dossierId) + .fileId(fileId) + .manualRedactions(manualRedactions) + .dossierTemplateId(dossier.getDossierTemplateId()) + .excludedPages(fileStatus.getExcludedPages()) + .build()); + } catch (FeignException e) { + if (e.status() == HttpStatus.NOT_FOUND.value()) { + throw new NotFoundException(e.getMessage()); + } + throw e; + } } else { return fileManagementStorageService.getRedactionLog(dossierId, fileId); }