/*
 * (c) 2020 Pluto Inc.
 */
package tv.pluto.mongo.entities.common;

import com.google.gson.annotations.JsonAdapter;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import tv.pluto.mongo.utils.json.DateAdapter;
import tv.pluto.mongo.utils.json.ObjectIdAdapter;

@Data
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
public class Window {
  @JsonAdapter(DateAdapter.class)
  private Date startDate;

  @JsonAdapter(DateAdapter.class)
  private Date endDate;

  @JsonAdapter(ObjectIdAdapter.class)
  private ObjectId id;

  private Integer currentScreenings;
  private Integer screenings;

  public Integer getCurrentScreenings() {
    return currentScreenings == null ? 0 : currentScreenings;
  }

  public Integer getScreenings() {
    return screenings == null ? 0 : screenings;
  }
}
