Files
expensetracker/src/main/java/com/faf223/expensetrackerfaf/security/PersonDetails.java
2023-10-05 22:25:05 +03:00

58 lines
1.3 KiB
Java

package com.faf223.expensetrackerfaf.security;
import com.faf223.expensetrackerfaf.model.Credential;
import lombok.AllArgsConstructor;
import lombok.Builder;
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 java.util.Collection;
import java.util.Collections;
@Data
@Builder
@NoArgsConstructor(force = true)
@AllArgsConstructor
public class PersonDetails implements UserDetails {
private final Credential credential;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return Collections.singletonList(new SimpleGrantedAuthority(credential.getRole().toString()));
}
@Override
public String getPassword() {
return credential.getPassword();
}
@Override
public String getUsername() {
return credential.getEmail();
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
}