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

import java.time.LocalDate;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;

import lombok.Getter;
import lombok.Setter;

@Entity(name = "repertoire_owner")
@Getter
@Setter
public class RepertoireOwnerEntity extends TrackedEntity {

    @Id
    private String repOwnerKey;
    private boolean isActivePaRepownFlag;
    private boolean isActivePjRepownFlag;
    private Boolean isActivePrRepownFlag;
    private Boolean isActiveTrRepownFlag;
    private boolean isParticipRepOwner;
    private boolean isProdRepOwner;
    private boolean isRecProjectRepOwner;
    private boolean isTrackRepOwner;
    private LocalDate rightsReversionDate;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "label_id")
    private LabelEntity label;
    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "rep_owner_key", nullable = false)
    private CompanyEntity repertoireOwnerCompany;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "profit_center_key", nullable = false)
    private ProfitCenterEntity profitCenter;

}
