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(); } }