package com.megatim.fdxcommons.model.log; import com.megatim.fdxcommons.model.search.CriteriaEntitySearch; import java.io.Serializable; import java.time.LocalDateTime; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.SequenceGenerator; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import lombok.Getter; import lombok.Setter; /** * * @author ASUS */ @Entity @Getter @Setter public class UserActionLog implements Serializable { @Id @SequenceGenerator(name = "SEQ_USER_ACTION_LOGS", sequenceName = "SEQ_USER_ACTION_LOGS", allocationSize = 1, initialValue = 1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_USER_ACTION_LOGS") private Long id; @NotEmpty(message = "La description est obligatoire") @CriteriaEntitySearch(libelle = "Description", rang = 2) @Lob private String message; @CriteriaEntitySearch(libelle = "Utilisateur", rang = 5) private String userName; //@XmlJavaTypeAdapter(LocalDateTimeAdapter.class) @NotNull(message = "La date de l'action est obligatoire") @CriteriaEntitySearch(libelle = "Date et heure", rang = 1) private LocalDateTime dateAction; @CriteriaEntitySearch(libelle = "Adresse IP", rang = 4) @NotEmpty(message = "L'addresse IP est obligatoire") private String ipAddress; @CriteriaEntitySearch(libelle = "Statut requete", visible = false) private Integer status; @CriteriaEntitySearch(libelle = "Navigateur", rang = 3) private String userAgent; @CriteriaEntitySearch(libelle = "Path", visible = false) private String relativePath; private String httpMethod; private String motif; }