From ad20a1f9f52d253f704bc08d54ed1a9eb0cf9ced Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Mon, 2 Oct 2023 16:18:52 +0300 Subject: [PATCH] RED-7687 - Check if startDate is before endDate for license before overwriting the endDate if it's in the future. --- .../v1/processor/service/LicenseReportService.java | 3 ++- .../v1/api/shared/model/license/LicenseReportRequest.java | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/LicenseReportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/LicenseReportService.java index 301c6d61f..aa428517b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/LicenseReportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/LicenseReportService.java @@ -1,5 +1,6 @@ package com.iqser.red.service.persistence.management.v1.processor.service; +import java.time.Instant; import java.time.OffsetDateTime; import java.time.YearMonth; import java.time.ZoneId; @@ -37,7 +38,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."); } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/license/LicenseReportRequest.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/license/LicenseReportRequest.java index 485febb43..3a3330add 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/license/LicenseReportRequest.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/license/LicenseReportRequest.java @@ -26,6 +26,12 @@ public class LicenseReportRequest { return startDate; } + public boolean isStartDateBeforeEndDate() { + + var endDate = this.endDate == null ? Instant.now() : this.endDate; + return getStartDate().isBefore(endDate); + } + public Instant getEndDate() { -- 2.47.2