diff options
author | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-04-25 18:14:23 +0200 |
---|---|---|
committer | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-04-25 18:14:23 +0200 |
commit | a26d64962461c9c5a087aa21aa8cb430e6021e03 (patch) | |
tree | feeaeb5b64fc3a41a814b0580073158e21abb5ea /controller-server | |
parent | ad0f821291c71be9c077c98c0edece14ccb8fb4d (diff) |
Use ::startOfDayTomorrow as default for all until params
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java index db9c6845183..612b584c7c0 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java @@ -31,6 +31,7 @@ import java.time.Clock; import java.time.Instant; import java.time.LocalDate; import java.time.ZoneOffset; +import java.time.chrono.ChronoZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.Comparator; @@ -179,7 +180,7 @@ public class BillingApiHandlerV2 extends RestApiRequestHandler<BillingApiHandler private Slime tenantUsage(RestApi.RequestContext requestContext) { var tenantName = TenantName.from(requestContext.pathParameters().getStringOrThrow("tenant")); var tenant = tenants.require(tenantName, CloudTenant.class); - var untilAt = untilParameter(requestContext).orElseGet(this::startOfDayTomorrowUTC); + var untilAt = untilParameter(requestContext); var usage = billing.createUncommittedBill(tenant.name(), untilAt.atZone(ZoneOffset.UTC).toLocalDate()); var slime = new Slime(); @@ -190,7 +191,7 @@ public class BillingApiHandlerV2 extends RestApiRequestHandler<BillingApiHandler // --------- ACCOUNTANT API ---------- private Slime accountant(RestApi.RequestContext requestContext) { - var untilAt = untilParameter(requestContext).orElseGet(this::startOfDayTomorrowUTC); + var untilAt = untilParameter(requestContext); var usagePerTenant = billing.createUncommittedBills(untilAt.atZone(ZoneOffset.UTC).toLocalDate()); var response = new Slime(); @@ -211,7 +212,7 @@ public class BillingApiHandlerV2 extends RestApiRequestHandler<BillingApiHandler private Slime previewBill(RestApi.RequestContext requestContext) { var tenantName = TenantName.from(requestContext.pathParameters().getStringOrThrow("tenant")); var tenant = tenants.require(tenantName, CloudTenant.class); - var untilAt = untilParameter(requestContext).orElseGet(this::startOfDayTodayUTC); + var untilAt = untilParameter(requestContext); var usage = billing.createUncommittedBill(tenant.name(), untilAt.atZone(ZoneOffset.UTC).toLocalDate()); @@ -319,10 +320,13 @@ public class BillingApiHandlerV2 extends RestApiRequestHandler<BillingApiHandler // ---------- END INVOICE RENDERING ---------- - private Optional<Instant> untilParameter(RestApi.RequestContext ctx) { + private Instant untilParameter(RestApi.RequestContext ctx) { return ctx.queryParameters().getString("until") .map(LocalDate::parse) - .map(date -> date.plusDays(1).atStartOfDay(ZoneOffset.UTC).toInstant()); + .map(date -> date.plusDays(1)) + .map(date -> date.atStartOfDay(ZoneOffset.UTC)) + .map(ChronoZonedDateTime::toInstant) + .orElseGet(this::startOfDayTomorrowUTC); } private Instant startOfDayTodayUTC() { |