diff --git a/src/main/java/gov/cabinetoffice/gap/adminbackend/dtos/grantExport/ExportedSubmissionsDto.java b/src/main/java/gov/cabinetoffice/gap/adminbackend/dtos/grantExport/ExportedSubmissionsDto.java index 9f082540..9a5a26e2 100644 --- a/src/main/java/gov/cabinetoffice/gap/adminbackend/dtos/grantExport/ExportedSubmissionsDto.java +++ b/src/main/java/gov/cabinetoffice/gap/adminbackend/dtos/grantExport/ExportedSubmissionsDto.java @@ -13,6 +13,7 @@ @Builder public class ExportedSubmissionsDto { + private String gapId; private String name; private String zipFileLocation; private UUID submissionId; diff --git a/src/main/java/gov/cabinetoffice/gap/adminbackend/mappers/CustomGrantExportMapperImpl.java b/src/main/java/gov/cabinetoffice/gap/adminbackend/mappers/CustomGrantExportMapperImpl.java index d3d04e2f..076f9d53 100644 --- a/src/main/java/gov/cabinetoffice/gap/adminbackend/mappers/CustomGrantExportMapperImpl.java +++ b/src/main/java/gov/cabinetoffice/gap/adminbackend/mappers/CustomGrantExportMapperImpl.java @@ -61,6 +61,7 @@ public ExportedSubmissionsDto grantExportEntityToExportedSubmissions(GrantExport exportedSubmissionsDto.name(mapExportedSubmissionName(grantExportEntity)); exportedSubmissionsDto.submittedDate(mapExportedSubmissionSubmittedDate(grantExportEntity)); exportedSubmissionsDto.submissionName(mapExportedSubmissionSubmissionName(grantExportEntity)); + exportedSubmissionsDto.gapId(mapExportedSubmissionGapId(grantExportEntity)); return exportedSubmissionsDto.build(); } @@ -111,6 +112,19 @@ public String mapExportedSubmissionSubmissionName(GrantExportEntity grantExportE return submission.get().getSubmissionName(); } + @Override + public String mapExportedSubmissionGapId(GrantExportEntity grantExportEntity) { + log.info("Getting gap ID from grant export {} and submission {}", grantExportEntity.getId(), + grantExportEntity.getId().getSubmissionId()); + final UUID submissionId = grantExportEntity.getId().getSubmissionId(); + final Optional submission = submissionRepository.findById(submissionId); + if (submission.isEmpty()) { + log.error("Submission not found for id: {}", submissionId); + return null; + } + return submission.get().getGapId(); + } + private UUID grantExportEntityIdSubmissionId(GrantExportEntity grantExportEntity) { if (grantExportEntity == null) { return null; diff --git a/src/main/java/gov/cabinetoffice/gap/adminbackend/mappers/GrantExportMapper.java b/src/main/java/gov/cabinetoffice/gap/adminbackend/mappers/GrantExportMapper.java index 94dc4194..e62eb728 100644 --- a/src/main/java/gov/cabinetoffice/gap/adminbackend/mappers/GrantExportMapper.java +++ b/src/main/java/gov/cabinetoffice/gap/adminbackend/mappers/GrantExportMapper.java @@ -22,6 +22,7 @@ public interface GrantExportMapper { @Mapping(target ="status", source = "status") @Mapping(target = "submittedDate", expression = "java(mapExportedSubmissionSubmittedDate(grantExportEntity))") @Mapping(target = "submissionName", expression = "java(mapExportedSubmissionSubmissionName(grantExportEntity))") + @Mapping(target = "gapId", expression = "java(mapExportedSubmissionGapId(grantExportEntity))") ExportedSubmissionsDto grantExportEntityToExportedSubmissions(GrantExportEntity grantExportEntity); default String mapExportedSubmissionName(GrantExportEntity grantExportEntity) { @@ -36,4 +37,8 @@ default String mapExportedSubmissionSubmissionName(GrantExportEntity grantExport return ""; } + default String mapExportedSubmissionGapId(GrantExportEntity grantExportEntity) { + return ""; + } + }