From 9e5bd8cfef1bb3f3b67d27a2023033fb350caa45 Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Wed, 4 Oct 2023 11:37:31 +0200 Subject: [PATCH] RED-7694 - Backport Fix invalid date period --- .../service/v1/api/model/license/LicenseReportRequest.java | 7 ++++++- .../peristence/v1/server/service/LicenseReportService.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReportRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReportRequest.java index 311ae964b..f97415f25 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReportRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReportRequest.java @@ -36,10 +36,15 @@ public class LicenseReportRequest { return startDate; } + public boolean isStartDateBeforeEndDate() { + + var endDate = this.endDate == null ? Instant.now() : this.endDate; + return getStartDate().isBefore(endDate); + } public Instant getEndDate() { - if (endDate == null) { + if (endDate == null || endDate.isAfter(Instant.now())) { endDate = Instant.now(); } return endDate; diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java index 8a09b5c33..f695736e4 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java @@ -36,7 +36,7 @@ public class LicenseReportService { public LicenseReport getLicenseReport(LicenseReportRequest licenseReportRequest) { - if (licenseReportRequest.getEndDate().isBefore(licenseReportRequest.getStartDate())) { + if (!licenseReportRequest.isStartDateBeforeEndDate()) { throw new BadRequestException("Invalid date period: End date is before start date."); }