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

import java.time.LocalDate;

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.amazon.AmazonChartType;
import io.delphiplatform.api.v3.model.datahealth.DataHealthStatus;
import io.delphiplatform.api.v3.rdb.entity.converter.AmazonChartTypeAttributeConverter;
import io.delphiplatform.api.v3.rdb.entity.converter.DataHealthStatusAttributeConverter;
import lombok.Getter;
import lombok.Setter;

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

    @EmbeddedId
    private AmazonChartsStatusDailyEntityId id;

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

    @Column(name = "chart_type")
    @Convert(converter = AmazonChartTypeAttributeConverter.class)
    private AmazonChartType chartType;

    @Column(name = "market")
    private String market;

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

}