Select Git revision
User.java 1.89 KiB
package umc.spring.post.data.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import umc.spring.post.config.security.Role;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
//@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Data
@Table(name="User")
public class User implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(nullable = false)
private Long id;
@Column(nullable = false)
private String loginId;
@Column(nullable = false)
private String password;
@Column(nullable = false)
private String userName;
@Enumerated(EnumType.STRING)
private Role role = Role.USER;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL,fetch = FetchType.EAGER,
orphanRemoval = true)
private List<LikeData> likes = new ArrayList<>();
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
Collection<GrantedAuthority> authorities = new ArrayList<>();
System.out.println("entity " + authorities);
authorities.add(new SimpleGrantedAuthority(role.toString()));
System.out.println("entity " + authorities);
return authorities;
}
@Override
public String getUsername() {
return this.userName;
}
@Override
public boolean isAccountNonExpired() {
return false;
}
@Override
public boolean isAccountNonLocked() {
return false;
}
@Override
public boolean isCredentialsNonExpired() {
return false;
}
@Override
public boolean isEnabled() {
return false;
}
}