package com.agendaestudantil.entidade; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.index.CompoundIndex; import org.springframework.data.mongodb.core.mapping.Document; import java.time.LocalDateTime; @Data @Builder @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = false) @Document(collection = "eventos") @CompoundIndex(name = "estudante_data_hora_idx", def = "{estudanteId: 1, dataHora: 1}") public class Evento extends EntidadeAuditoria { @Id private String id; private String estudanteId; private String titulo; private String descricao; private TipoEvento tipo; private String local; private String disciplinaId; private LocalDateTime dataHora; public enum TipoEvento { AULA, PROVA, TRABALHO, ESTUDO, EXAME, OUTRO } }