source: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/User.java@ b248810

main
Last change on this file since b248810 was b248810, checked in by 223021 <daniel.ilievski.2@…>, 3 weeks ago

Added no access page for new recruiters and admin panel for granting access

  • Property mode set to 100644
File size: 1.7 KB
Line 
1package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users;
2
3import jakarta.persistence.*;
4import lombok.AllArgsConstructor;
5import lombok.Builder;
6import lombok.Data;
7import lombok.NoArgsConstructor;
8import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.Role;
9import org.springframework.security.core.GrantedAuthority;
10import org.springframework.security.core.authority.SimpleGrantedAuthority;
11import org.springframework.security.core.userdetails.UserDetails;
12
13import java.time.LocalDateTime;
14import java.util.Collection;
15import java.util.List;
16
17@Entity
18@Data
19@NoArgsConstructor
20@AllArgsConstructor
21@Inheritance(strategy = InheritanceType.JOINED)
22@Table(name = "users")
23public abstract class User implements UserDetails {
24
25 @Id
26 @GeneratedValue(strategy = GenerationType.IDENTITY)
27 private Long id;
28
29 protected String email;
30
31 protected String password;
32
33 @Enumerated(EnumType.STRING)
34 protected Role role;
35
36 @Column(name = "has_access")
37 protected boolean hasAccess;
38
39 protected LocalDateTime registeredOn;
40
41
42 @Override
43 public Collection<? extends GrantedAuthority> getAuthorities() {
44 return List.of(new SimpleGrantedAuthority(role.name()));
45 }
46
47 @Override
48 public String getUsername() {
49 return this.email;
50 }
51
52 public abstract String getName();
53
54 @Override
55 public boolean isAccountNonExpired() {
56 return true;
57 }
58
59 @Override
60 public boolean isAccountNonLocked() {
61 return true;
62 }
63
64 @Override
65 public boolean isCredentialsNonExpired() {
66 return true;
67 }
68
69 @Override
70 public boolean isEnabled() {
71 return true;
72 }
73}
Note: See TracBrowser for help on using the repository browser.