Skip to content
Snippets Groups Projects
Select Git revision
  • 479b3eff505091e0a0a7670216e3f63ef2303c35
  • master default protected
2 results

User.java

Blame
  • 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;
        }
    
    
    }