From 0f203d39a4dc5246648986323c715e7842937023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Thu, 6 Jun 2024 12:53:07 +0200 Subject: [PATCH] RED-9270: Fixed download of report template, RED-9225: Minor fixes for new customer api --- .../api/impl/controller/DownloadControllerV2.java | 2 +- .../v2/api/external/resource/DownloadResource.java | 2 +- .../service/export/DossierTemplateExportService.java | 2 +- .../persistence/DossierStatusPersistenceService.java | 11 +++++++++++ 4 files changed, 14 insertions(+), 3 deletions(-) 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/DownloadControllerV2.java b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/DownloadControllerV2.java index 85d08c24b..5a89c5332 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/DownloadControllerV2.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/DownloadControllerV2.java @@ -44,7 +44,7 @@ public class DownloadControllerV2 implements DownloadResource { .creationDate(status.getCreationDate()) .lastDownload(status.getLastDownload()) .fileSize(status.getFileSize()) - .dossierId(status.getDossier().getId()) + .dossierId(status.getDossier() != null ? status.getDossier().getId() : null) .fileIds(status.getFiles() .stream() .map(FileEntity::getId) diff --git a/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/resource/DownloadResource.java b/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/resource/DownloadResource.java index 8a0ecc499..9aa190949 100644 --- a/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/resource/DownloadResource.java +++ b/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/resource/DownloadResource.java @@ -50,7 +50,7 @@ public interface DownloadResource { @ResponseStatus(value = HttpStatus.OK) @Operation(summary = "Download the download package.") @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "Successfully downloaded the requested file."), @ApiResponse(responseCode = "404", description = "Download not found. This happens if the requested download does not exist for the current user.")}) - @GetMapping(value = PATH + DOWNLOAD_ID_PATH_PARAM + DOWNLOAD_PATH) + @GetMapping(value = PATH + DOWNLOAD_ID_PATH_PARAM + DOWNLOAD_PATH, produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_OCTET_STREAM_VALUE}) void download(@Parameter(name = DOWNLOAD_ID_PARAM, description = "The identifier for the file to download.", required = true) @PathVariable(DOWNLOAD_ID_PARAM) String downloadId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java index 03d332582..8ba734b2a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/export/DossierTemplateExportService.java @@ -149,7 +149,7 @@ public class DossierTemplateExportService { objectMapper.writeValueAsBytes(convert(colors, Colors.class)))); // add dossier statuses - var dossierStatusList = dossierStatusPersistenceService.getAllDossierStatusForTemplate(dossierTemplateId); + var dossierStatusList = dossierStatusPersistenceService.getAllDossierStatusForTemplateWithoutSecurity(dossierTemplateId); fileSystemBackedArchiver.addEntries(new FileSystemBackedArchiver.ArchiveModel(null, getFilename(ExportFilename.DOSSIER_STATUS, JSON_EXT), objectMapper.writeValueAsBytes(convert(dossierStatusList, DossierStatusInfo.class)))); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierStatusPersistenceService.java index 65ac2ac91..050584b87 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierStatusPersistenceService.java @@ -104,6 +104,17 @@ public class DossierStatusPersistenceService { } + @Transactional + public List getAllDossierStatusForTemplateWithoutSecurity(String dossierTemplateId) { + + return dossierStatusRepository.findByDossierTemplateIdIn(Collections.singletonList(dossierTemplateId)) + .stream() + .map(d -> MagicConverter.convert(d, DossierStatusInfo.class)) + .collect(Collectors.toList()); + } + + + @Transactional public List getAllDossierStatuses(List dossierTemplateIds) {