Data2025/src/main/java/de/ph87/data/series/AllSeriesPointRequest.java

35 lines
824 B
Java

package de.ph87.data.series;
import com.fasterxml.jackson.annotation.JsonProperty;
import de.ph87.data.series.data.Interval;
import lombok.Data;
import lombok.NonNull;
import java.time.ZonedDateTime;
@Data
public class AllSeriesPointRequest implements ISeriesPointRequest {
@NonNull
public final Interval interval;
public final long offset;
@NonNull
public final ZonedDateTime first;
@NonNull
public final ZonedDateTime after;
public AllSeriesPointRequest(
@JsonProperty("interval") final Interval interval,
@JsonProperty("offset") final long offset
) {
this.interval = interval;
this.offset = offset;
this.first = interval.align.apply(ZonedDateTime.now()).minus(interval.amount * offset, interval.unit);
this.after = this.first.plus(interval.amount, interval.unit);
}
}