package com.theorchard.javaowsassetbulkscript.models;

import com.fasterxml.jackson.annotation.JsonBackReference;
import lombok.Data;

import javax.persistence.*;
import java.awt.*;
import java.util.Date;

@Data
@Entity
@Table(name="imported_products")
public class ImportedProduct {

    @Id
    @Column(name="release_id")
    private String releaseId;

    @Column(name="product_id")
    private int productId;

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

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

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

    @Column(name = "import_date")
    private Date importDate;

    @ManyToOne
    @JsonBackReference
    @JoinColumn(name = "label_id")
    private LabelStatus label_status;

    private ImportedProduct() {}

    public ImportedProduct(int productId, String releaseId, LabelStatus label_status, String upc) {
        this.productId = productId;
        this.releaseId = releaseId;
        this.upc = upc;
        this.label_status = label_status;
    }

    public int getProductId() {
        return productId;
    }

    public void setProductId(int productId) {
        this.productId = productId;
    }

    public String getLabelId() {
        return label_status.getLabelId();
    }

    public LabelStatus getLabel_status() {
        return label_status;
    }

    public void setLabel_status(LabelStatus label_status) {
        this.label_status = label_status;
    }

    public String getReleaseId() {
        return releaseId;
    }

    public void setReleaseId(String releaseId) {
        this.releaseId = releaseId;
    }

    public String getUpc() {
        return upc;
    }

    public void setUpc(String upc) {
        this.upc = upc;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public void setImportDate(Date importDate) {
        this.importDate = importDate;
    }
}
