package io.delphiplatform.api.v3.rdb.entity;

import java.time.LocalDate;
import java.util.UUID;

import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;

import io.delphiplatform.api.v3.model.datahealth.DataHealthStatus;
import io.delphiplatform.api.v3.rdb.entity.converter.DataHealthStatusAttributeConverter;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Entity
@Table(name = "dsp_status_daily", schema = "data_health")
public class DspDataStatusDailyEntity {

    @EmbeddedId
    private DspStatusDailyEntityId id;

    @Column(name = "dsp", nullable = false, updatable = false, insertable = false)
    private String dsp;

    @Column(name = "segment", nullable = false, updatable = false, insertable = false)
    private String segment;

    @Column(name = "date", nullable = false, updatable = false, insertable = false)
    private LocalDate date;

    @Convert(converter = DataHealthStatusAttributeConverter.class)
    @Column(name = "status")
    private DataHealthStatus status;

    @Column(name = "uuid", nullable = false)
    private UUID uuid;

}
