package tv.pluto.mongo.entities.cronhistories;

import com.google.gson.annotations.JsonAdapter;
import java.time.LocalDateTime;
import lombok.Data;
import org.bson.BsonType;
import org.bson.codecs.pojo.annotations.BsonProperty;
import org.bson.codecs.pojo.annotations.BsonRepresentation;
import tv.pluto.mongo.utils.json.LocalDateTimeAdapter;

@Data
public class CronHistory {
  @BsonRepresentation(BsonType.OBJECT_ID)
  private String id = "";

  private String jobType = "";

  @JsonAdapter(LocalDateTimeAdapter.class)
  private LocalDateTime ranAt;

  @JsonAdapter(LocalDateTimeAdapter.class)
  private LocalDateTime createdAt;

  @JsonAdapter(LocalDateTimeAdapter.class)
  private LocalDateTime updatedAt;

  @BsonProperty("__v")
  private Integer v;

  public Integer getV() {
    return v == null ? 0 : v;
  }

  public static void main(String[] args) {
    LocalDateTime time = LocalDateTime.parse("2021-07-01T00:00:00");
    System.out.println("Time: " + time);
  }
}
