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

import java.io.Serializable;
import java.time.LocalDate;

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

import io.delphiplatform.api.v3.constant.DbSchemaConstants;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Entity
@Table(name = "fact_tiktok_top_chart_track_lifetime", schema = DbSchemaConstants.TIKTOK)
@Getter
@Setter
@EqualsAndHashCode(of = "id")
@ToString
public class FactTikTokTopChartTrackLifetimeEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @EmbeddedId
    private FactTikTokTopChartTrackLifetimeEntityId id;

    @Column(name = "total_days")
    private Integer totalDays;

    @Column(name = "min_position")
    private Integer minPosition;

    @Column(name = "min_position_date")
    private LocalDate minPositionDate;

    @Column(name = "max_position")
    private Integer maxPosition;

    @Column(name = "max_position_date")
    private LocalDate maxPositionDate;

    @Column(name = "earliest_position")
    private Integer earliestPosition;

    @Column(name = "earliest_position_date")
    private LocalDate earliestPositionDate;

    @Column(name = "latest_position")
    private Integer latestPosition;

    @Column(name = "latest_position_date")
    private LocalDate latestPositionDate;

}
