DM-285: add filename to component result #176
@ -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.DossierTemplateController;
|
||||||
import com.iqser.red.persistence.service.v1.external.api.impl.controller.StatusController;
|
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.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.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.ComponentLogEntry;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntryValue;
|
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 com.iqser.red.service.persistence.service.v2.api.external.resource.ComponentResource;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import lombok.AccessLevel;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.experimental.FieldDefaults;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Tag(name = "4. Component endpoints", description = "Provides operations related to components")
|
@Tag(name = "4. Component endpoints", description = "Provides operations related to components")
|
||||||
|
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
|
||||||
public class ComponentControllerV2 implements ComponentResource {
|
public class ComponentControllerV2 implements ComponentResource {
|
||||||
|
|
||||||
private final DossierTemplateController dossierTemplateController;
|
DossierTemplateController dossierTemplateController;
|
||||||
private final ComponentLogService componentLogService;
|
ComponentLogService componentLogService;
|
||||||
private final StatusController statusController;
|
StatusController statusController;
|
||||||
|
FileStatusService fileStatusService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -46,7 +51,6 @@ public class ComponentControllerV2 implements ComponentResource {
|
|||||||
@RequestParam(name = INCLUDE_DETAILS_PARAM, defaultValue = "false", required = false) boolean includeDetails) {
|
@RequestParam(name = INCLUDE_DETAILS_PARAM, defaultValue = "false", required = false) boolean includeDetails) {
|
||||||
|
|
||||||
dossierTemplateController.getDossierTemplate(dossierTemplateId);
|
dossierTemplateController.getDossierTemplate(dossierTemplateId);
|
||||||
|
|
||||||
var componentLog = componentLogService.getComponentLog(dossierId, fileId, true);
|
var componentLog = componentLogService.getComponentLog(dossierId, fileId, true);
|
||||||
|
|
||||||
Map<String, List<String>> basicComponent = componentLog.getComponentLogEntries()
|
Map<String, List<String>> basicComponent = componentLog.getComponentLogEntries()
|
||||||
@ -65,6 +69,7 @@ public class ComponentControllerV2 implements ComponentResource {
|
|||||||
return FileComponents.builder()
|
return FileComponents.builder()
|
||||||
.dossierTemplateId(dossierTemplateId)
|
.dossierTemplateId(dossierTemplateId)
|
||||||
.dossierId(dossierId)
|
.dossierId(dossierId)
|
||||||
|
.filename(fileStatusService.getFileName(fileId))
|
||||||
.fileId(fileId)
|
.fileId(fileId)
|
||||||
.components(basicComponent)
|
.components(basicComponent)
|
||||||
.componentDetails(componentsDetails)
|
.componentDetails(componentsDetails)
|
||||||
|
|||||||
@ -741,4 +741,10 @@ public class FileStatusService {
|
|||||||
fileStatusPersistenceService.updateOCRStatus(response);
|
fileStatusPersistenceService.updateOCRStatus(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getFileName(String fileId) {
|
||||||
|
|
||||||
|
return fileStatusPersistenceService.getFilenameById(fileId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -554,4 +554,10 @@ public class FileStatusPersistenceService {
|
|||||||
fileRepository.updateLayoutProcessedTime(fileId, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
fileRepository.updateLayoutProcessedTime(fileId, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getFilenameById(String fileId) {
|
||||||
|
|
||||||
|
return fileRepository.getFilenameById(fileId).orElseThrow();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persis
|
|||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.Modifying;
|
import org.springframework.data.jpa.repository.Modifying;
|
||||||
@ -225,6 +226,10 @@ public interface FileRepository extends JpaRepository<FileEntity, String> {
|
|||||||
@Query(value = "update FileEntity f set f.lastLayoutProcessed = :offsetDateTime where f.id = :fileId")
|
@Query(value = "update FileEntity f set f.lastLayoutProcessed = :offsetDateTime where f.id = :fileId")
|
||||||
void updateLayoutProcessedTime(String fileId, OffsetDateTime offsetDateTime);
|
void updateLayoutProcessedTime(String fileId, OffsetDateTime offsetDateTime);
|
||||||
|
|
||||||
|
|
||||||
|
@Query("select f.filename from FileEntity f where f.id = :fileId")
|
||||||
|
Optional<String> getFilenameById(String fileId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -38,6 +38,7 @@ import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvid
|
|||||||
import com.iqser.red.service.peristence.v1.server.integration.service.UserProvider;
|
import com.iqser.red.service.peristence.v1.server.integration.service.UserProvider;
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierTemplateModel;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierTemplateModel;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttributes;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttributes;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttributesConfig;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttributesConfig;
|
||||||
@ -118,6 +119,9 @@ public class FileTest extends AbstractPersistenceServerServiceTest {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private FileManagementStorageService fileManagementStorageService;
|
private FileManagementStorageService fileManagementStorageService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private FileStatusService fileStatusService;
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFileSoftDeleteReupload() {
|
public void testFileSoftDeleteReupload() {
|
||||||
@ -612,4 +616,16 @@ public class FileTest extends AbstractPersistenceServerServiceTest {
|
|||||||
assertThat(file.getProcessingStatus()).isEqualTo(ProcessingStatus.OCR_PROCESSING_QUEUED);
|
assertThat(file.getProcessingStatus()).isEqualTo(ProcessingStatus.OCR_PROCESSING_QUEUED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetFileNameQuery() {
|
||||||
|
|
||||||
|
var filename = "test";
|
||||||
|
var dossier = dossierTesterAndProvider.provideTestDossier();
|
||||||
|
|
||||||
|
var file = fileTesterAndProvider.testAndProvideFile(dossier, filename);
|
||||||
|
|
||||||
|
assertThat(fileStatusService.getFileName(file.getId())).isEqualTo(filename + ".pdf");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user