feat: add auth enitiies and repos
This commit is contained in:
parent
cdffd110af
commit
5fa28df29c
35
src/main/java/dev/gfxv/blps/entity/Role.java
Normal file
35
src/main/java/dev/gfxv/blps/entity/Role.java
Normal file
@ -0,0 +1,35 @@
|
||||
package dev.gfxv.blps.entity;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
|
||||
@Entity
|
||||
@Table(name = "roles")
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
public class Role {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
Long id;
|
||||
|
||||
@Column(name = "name", nullable = false, unique = true)
|
||||
String name;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
77
src/main/java/dev/gfxv/blps/entity/User.java
Normal file
77
src/main/java/dev/gfxv/blps/entity/User.java
Normal file
@ -0,0 +1,77 @@
|
||||
package dev.gfxv.blps.entity;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@Entity
|
||||
@Table(name = "users")
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
public class User {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
Long id;
|
||||
|
||||
@Column(name = "username", nullable = false, unique = true)
|
||||
String username;
|
||||
|
||||
@Column(name = "email", nullable = false, unique = true)
|
||||
String email;
|
||||
|
||||
@Column(name = "password", nullable = false)
|
||||
String password;
|
||||
|
||||
@ManyToMany(fetch = FetchType.EAGER)
|
||||
@JoinTable(
|
||||
name = "user_roles",
|
||||
joinColumns = @JoinColumn(name = "user_id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "role_id")
|
||||
)
|
||||
Set<Role> roles = new HashSet<>();
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public Set<Role> getRoles() {
|
||||
return roles;
|
||||
}
|
||||
|
||||
public void setRoles(Set<Role> roles) {
|
||||
this.roles = roles;
|
||||
}
|
||||
}
|
||||
10
src/main/java/dev/gfxv/blps/repository/RoleRepository.java
Normal file
10
src/main/java/dev/gfxv/blps/repository/RoleRepository.java
Normal file
@ -0,0 +1,10 @@
|
||||
package dev.gfxv.blps.repository;
|
||||
|
||||
import dev.gfxv.blps.entity.Role;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public interface RoleRepository extends JpaRepository<Role, Long> {
|
||||
Optional<Role> findByName(String name);
|
||||
}
|
||||
12
src/main/java/dev/gfxv/blps/repository/UserRepository.java
Normal file
12
src/main/java/dev/gfxv/blps/repository/UserRepository.java
Normal file
@ -0,0 +1,12 @@
|
||||
package dev.gfxv.blps.repository;
|
||||
|
||||
import dev.gfxv.blps.entity.User;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public interface UserRepository extends JpaRepository<User, Long> {
|
||||
Optional<User> findByUsername(String username);
|
||||
Boolean existsByUsername(String username);
|
||||
Boolean existsByEmail(String email);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user