72 lines
2.1 KiB
Java
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();
|
|
}
|
|
} |