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/ComponentControllerV2.java b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java index e2cac3548..39705d9ab 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController; import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierTemplateController; import com.iqser.red.persistence.service.v1.external.api.impl.controller.StatusController; import com.iqser.red.service.persistence.management.v1.processor.service.ComponentLogService; +import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntityReference; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntry; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntryValue; @@ -27,16 +28,20 @@ import com.iqser.red.service.persistence.service.v2.api.external.model.FileCompo import com.iqser.red.service.persistence.service.v2.api.external.resource.ComponentResource; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AccessLevel; import lombok.RequiredArgsConstructor; +import lombok.experimental.FieldDefaults; @RestController @RequiredArgsConstructor @Tag(name = "4. Component endpoints", description = "Provides operations related to components") +@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) public class ComponentControllerV2 implements ComponentResource { - private final DossierTemplateController dossierTemplateController; - private final ComponentLogService componentLogService; - private final StatusController statusController; + DossierTemplateController dossierTemplateController; + ComponentLogService componentLogService; + StatusController statusController; + FileStatusService fileStatusService; @Override @@ -46,7 +51,6 @@ public class ComponentControllerV2 implements ComponentResource { @RequestParam(name = INCLUDE_DETAILS_PARAM, defaultValue = "false", required = false) boolean includeDetails) { dossierTemplateController.getDossierTemplate(dossierTemplateId); - var componentLog = componentLogService.getComponentLog(dossierId, fileId, true); Map> basicComponent = componentLog.getComponentLogEntries() @@ -65,6 +69,7 @@ public class ComponentControllerV2 implements ComponentResource { return FileComponents.builder() .dossierTemplateId(dossierTemplateId) .dossierId(dossierId) + .filename(fileStatusService.getFileName(fileId)) .fileId(fileId) .components(basicComponent) .componentDetails(componentsDetails) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java index 24912b848..b6000cf79 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java @@ -741,4 +741,10 @@ public class FileStatusService { fileStatusPersistenceService.updateOCRStatus(response); } + + public String getFileName(String fileId) { + + return fileStatusPersistenceService.getFileNameById(fileId); + } + } 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 29eba3d47..57b171718 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 @@ -554,4 +554,10 @@ public class FileStatusPersistenceService { fileRepository.updateLayoutProcessedTime(fileId, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)); } + + public String getFileNameById(String fileId) { + + return fileRepository.getFileNameById(fileId).orElseThrow(); + } + } 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 f01701af4..eca7e099c 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 @@ -2,6 +2,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persis import java.time.OffsetDateTime; import java.util.List; +import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; @@ -225,6 +226,10 @@ public interface FileRepository extends JpaRepository { @Query(value = "update FileEntity f set f.lastLayoutProcessed = :offsetDateTime where f.id = :fileId") void updateLayoutProcessedTime(String fileId, OffsetDateTime offsetDateTime); + + @Query("select f.filename from FileEntity f where f.id = :fileId") + Optional getFileNameById(String fileId); + }