package org.dicadeveloper.weplantaforest.projects;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.dicadeveloper.weplantaforest.user.User;
import org.dicadeveloper.weplantaforest.views.Views;
import org.springframework.hateoas.Identifiable;
import com.fasterxml.jackson.annotation.JsonView;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Entity
@ToString
@Getter
@Setter
@EqualsAndHashCode
@Table(name = "Plant")
public class Project implements Identifiable<Long> {
@Id
@GeneratedValue
@Column(name = "_plantId")
private Long id;
@Column(name = "_name", length = 255)
@JsonView(Views.PlantedTree.class)
private String name;
@Column(name = "_description", length = 65535, columnDefinition = "TEXT")
private String description;
@Column(name = "_longitude")
private Float longitude;
@Column(name = "_latitude")
private Float latitude;
@Column(name = "_zoom")
private Integer zoom;
@Column(name = "_shopOpening")
private Long shopOpening;
@Column(name = "_shopClosing")
private Long shopClosing;
@Column(name = "_shopActive")
private Boolean shopActive;
@Column(name = "_visible")
private Boolean visible;
@Column(name = "_mainImageFileName", length = 255)
private String imageFileName;
/**
* @deprecated no longer used in new version
*/
@Deprecated
@Column(name = "_googleMapsOverlayImageFileName", length = 200)
private String _googleMapsOverlayImageFileName;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "_manager__userId", nullable = false)
private User manager;
@OneToMany(mappedBy = "project", fetch = FetchType.LAZY)
private List<ProjectArticle> articles;
@OneToMany(mappedBy = "project", fetch = FetchType.LAZY)
private List<ProjectImage> images;
}