User.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package pl.sudra.domain;
  2. import jakarta.persistence.*;
  3. import jakarta.validation.constraints.Email;
  4. import jakarta.validation.constraints.NotBlank;
  5. import jakarta.validation.constraints.NotNull;
  6. import jakarta.validation.constraints.Size;
  7. import java.util.Collection;
  8. import java.util.HashSet;
  9. import java.util.List;
  10. import java.util.Set;
  11. import java.util.stream.Collectors;
  12. @Entity
  13. @Table(name = "user")
  14. public class User {
  15. @Id
  16. @GeneratedValue(strategy = GenerationType.AUTO)
  17. private Long id;
  18. @Column(unique = true)
  19. @NotNull
  20. @NotBlank(message = "Username is required")
  21. @Size(message = "Username must be between 5 and 20 characters", min = 5, max = 20)
  22. private String username;
  23. // @JsonIgnore
  24. @NotNull
  25. @NotBlank(message = "Password is required")
  26. private String password;
  27. @Column(unique = true)
  28. @NotNull
  29. @NotBlank(message = "Email is required")
  30. @Email(regexp = "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+$", message = "Invalid email address")
  31. private String email;
  32. // @NotNull
  33. // @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
  34. private String role;
  35. @NotNull
  36. private boolean enabled = false;
  37. public void setRole(String role) {
  38. this.role = role;
  39. }
  40. public boolean isEnabled() {
  41. return enabled;
  42. }
  43. public void setEnabled(boolean enabled) {
  44. this.enabled = enabled;
  45. }
  46. // @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "user")
  47. // private List<Reservation> reservations;
  48. // public void setReservations(Collection<Reservation> reservations) {
  49. // this.reservations = (List<Reservation>) reservations;
  50. // }
  51. @Override
  52. public String toString() {
  53. return "User{" +
  54. "id=" + id +
  55. ", username='" + username + '\'' +
  56. ", password='" + password + '\'' +
  57. ", email='" + email + '\'' +
  58. ", role=" + role +
  59. // ", reservations=" + reservations +
  60. '}';
  61. }
  62. public String getRolesForToken() {
  63. return role;
  64. }
  65. public User() {
  66. }
  67. // public User(Long id, String username, String password, String email, String role) {
  68. // this.id = id;
  69. // this.username = username;
  70. // this.password = password;
  71. // this.email = email;
  72. // this.role = role;
  73. // }
  74. public Long getId() {
  75. return id;
  76. }
  77. public void setId(Long id) {
  78. this.id = id;
  79. }
  80. public String getUsername() {
  81. return username;
  82. }
  83. public void setUsername(String username) {
  84. this.username = username;
  85. }
  86. public String getEmail() {
  87. return email;
  88. }
  89. public void setEmail(String email) {
  90. this.email = email;
  91. }
  92. public String getRole() {
  93. return role;
  94. }
  95. // public void setRole(String role) {
  96. // this.role = role;
  97. // }
  98. public String getPassword() {
  99. return password;
  100. }
  101. public void setPassword(String password) {
  102. this.password = password;
  103. }
  104. // public List<Reservation> getReservations() {
  105. // return reservations;
  106. // }
  107. // public void setReservations(List<Reservation> reservations) {
  108. // this.reservations = reservations;
  109. // }
  110. }