72 lines
2.1 KiB
Java

package com.covas.Entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.UUID;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.covas.Classes.Hash;
import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.GenericGenerator;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
@Entity
@Table(name = "users")
public class UsersEntity extends PanacheEntityBase {
@Id
@Column(name = "id")
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
public UUID id;
@Column(nullable = false, unique = true)
public String pseudo;
@Column(nullable = false, unique = true)
public String email;
@Column(nullable = false)
public String name;
@Column(nullable = false)
public String firstName;
@Column(nullable = false)
public LocalDate birth;
@ColumnDefault("false")
public Boolean status;
@ColumnDefault("false")
public Boolean active_mail;
@Column(nullable = false)
public String password;
@Column(nullable = false)
public String roles;
@Column(nullable = false)
public LocalDateTime created_at;
@Column(nullable = false)
public LocalDateTime updated_at;
public static UsersEntity findByPseudo(String pseudo){
return find("pseudo", pseudo).firstResult();
}
public static void add(String pseudo, String email, String name, String firstName, LocalDate birth, String password, String roles){
UsersEntity users = new UsersEntity();
users.pseudo = pseudo;
users.email = email;
users.name = name;
users.firstName = firstName;
users.birth = birth;
users.status = false;
users.password = Hash.encryptSHA512(password);
users.roles = roles;
users.created_at = LocalDateTime.now();
users.updated_at = LocalDateTime.now();
users.persist();
}
}