package com.megatim.fdxconsultation.model.api.token; import com.megatim.fdxcommons.model.enumeration.TypeOperation; import com.megatim.fdxcommons.model.referentiel.Participant; import com.megatim.fdxconsultation.model.base.BaseEntity; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.ManyToOne; import javax.persistence.SequenceGenerator; import javax.validation.constraints.NotNull; import lombok.Data; import com.megatim.fdxcommons.model.search.CriteriaEntitySearch; import java.util.Date; import javax.persistence.Temporal; import javax.persistence.TemporalType; /** * * @author ASUS */ @Data @Entity public class ApiToken implements Serializable { @SequenceGenerator(name = "SEQ_API_TOKEN", sequenceName = "SEQ_API_TOKEN", allocationSize = 1, initialValue = 1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_API_TOKEN") @Column(name = "ID") @Id private Long id; @NotNull(message = "Le participant est obligatoire") @ManyToOne @CriteriaEntitySearch(libelle = "Participant", fieldName = "participant.code", rang = 2) private Participant participant; @Lob @Basic(fetch = FetchType.EAGER) private String token; @Enumerated(EnumType.STRING) @CriteriaEntitySearch(libelle = "Statut du token", rang = 3, visible = false) private ApiTokenStatut apiTokenStatut = ApiTokenStatut.UNLOCKED; @CriteriaEntitySearch(libelle = "type Operation", visible = false) @Column(name = "TYPE_OPERATION") protected TypeOperation typeOperation = TypeOperation.AJOUTER; @CriteriaEntitySearch(libelle = "Date première génération", rang = 1) @Column(name = "DATE_CREATION") @Temporal(TemporalType.TIMESTAMP) protected Date dateCreation; @CriteriaEntitySearch(libelle = "Généré par", rang = 4) @Column(name = "USER_CREATION") protected String utilisateurCreation; @CriteriaEntitySearch(libelle = "Date dernière regen.", rang = 5, visible = false) @Column(name = "DATE_DERN_MOD") @Temporal(TemporalType.TIMESTAMP) protected Date dateDerniereModification; @CriteriaEntitySearch(libelle = "Regénéré par", rang = 6, visible = false) @Column(name = "USER_UPDATE") protected String utilisateurModification; @Column(name = "DATE_SUPPR") @Temporal(TemporalType.TIMESTAMP) protected Date dateSuppression; @Column(name = "USER_DELETE") protected String utilisateurSuppression; }