SleepDataPoint.java
package com.seebie.server.dto;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.PositiveOrZero;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import static java.math.BigDecimal.valueOf;
import static java.math.RoundingMode.HALF_UP;
/**
*
* @param x date only
* @param y units of hours
*/
public record SleepDataPoint(@NotNull LocalDate x, @PositiveOrZero BigDecimal y) {
public SleepDataPoint(LocalDateTime stopTime, int minutes, String zoneId) {
this(stopTime.toLocalDate(), valueOf((double) minutes / 60).setScale(2, HALF_UP));
}
}