package io.delphiplatform.api.v3.model.datahealth;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.time.LocalDate;
import java.util.List;

import io.delphiplatform.api.v3.model.DateDataRange;
import lombok.Data;


@Data
public class DataHealthRangeBreakdown {

    public DataHealthRangeBreakdown(LocalDate minDate, LocalDate maxDate) {
        this.days = new DateDataRange<>(minDate, maxDate);
    }

    @JsonIgnore
    private DateDataRange<DataHealthStatus> days;

    @JsonProperty("days")
    public List<DataHealthStatus> getDays() {
        return days.toRange();
    }

    public void putDays(LocalDate date, DataHealthStatus status) {
        days.getData().put(date, status);
    }
}

