[d3cf3a1] | 1 | package project.educatum.model;
|
---|
| 2 |
|
---|
| 3 | import lombok.Data;
|
---|
| 4 | import org.springframework.security.core.GrantedAuthority;
|
---|
| 5 | import org.springframework.security.core.userdetails.UserDetails;
|
---|
| 6 |
|
---|
| 7 | import javax.persistence.*;
|
---|
| 8 | import java.util.Collection;
|
---|
| 9 |
|
---|
| 10 | @Data
|
---|
| 11 | @Entity
|
---|
| 12 | @Table(name = "nastavnici", schema = "project")
|
---|
| 13 | public class Teacher implements UserDetails {
|
---|
| 14 | @Id
|
---|
| 15 | @GeneratedValue(strategy = GenerationType.IDENTITY)
|
---|
| 16 | @Column(name = "id_nastavnik", nullable = false)
|
---|
| 17 | private Integer id;
|
---|
| 18 |
|
---|
| 19 | @Column(name = "ime", nullable = false, length = 50)
|
---|
| 20 | private String name;
|
---|
| 21 |
|
---|
| 22 | @Column(name = "prezime", nullable = false, length = 50)
|
---|
| 23 | private String surname;
|
---|
| 24 |
|
---|
| 25 | @Column(name = "opis", nullable = false, length = 500)
|
---|
| 26 | private String description;
|
---|
| 27 |
|
---|
| 28 | @Column(name = "email", nullable = false, length = 50)
|
---|
| 29 | private String email;
|
---|
| 30 |
|
---|
| 31 | @Column(name = "password", nullable = false, length = 30)
|
---|
| 32 | private String password;
|
---|
| 33 |
|
---|
| 34 | @Column(name = "telefonski_broj", length = 15)
|
---|
| 35 | private String telephoneNumber;
|
---|
| 36 |
|
---|
| 37 | @ManyToOne(optional = false)
|
---|
| 38 | @JoinColumn(name = "id_admin", nullable = false)
|
---|
| 39 | private Admin idAdmin;
|
---|
| 40 |
|
---|
| 41 | @Column(name = "enabled")
|
---|
| 42 | private Boolean enabled;
|
---|
| 43 |
|
---|
| 44 | @Transient
|
---|
| 45 | private Float rating;
|
---|
| 46 |
|
---|
| 47 |
|
---|
| 48 | public Teacher() {
|
---|
| 49 | }
|
---|
| 50 |
|
---|
| 51 | public Teacher(String name, String surname, String description, String email, String password, String telephoneNumber) {
|
---|
| 52 | this.rating = Float.valueOf(0);
|
---|
| 53 | this.enabled = false;
|
---|
| 54 | this.name = name;
|
---|
| 55 | this.surname = surname;
|
---|
| 56 | this.description = description;
|
---|
| 57 | this.email = email;
|
---|
| 58 | this.password = password;
|
---|
| 59 | this.telephoneNumber = telephoneNumber;
|
---|
| 60 | }
|
---|
| 61 |
|
---|
| 62 | @Override
|
---|
| 63 | public Collection<? extends GrantedAuthority> getAuthorities() {
|
---|
| 64 | return null;
|
---|
| 65 | }
|
---|
| 66 |
|
---|
| 67 | public String getPassword() {
|
---|
| 68 | return password;
|
---|
| 69 | }
|
---|
| 70 |
|
---|
| 71 | @Override
|
---|
| 72 | public String getUsername() {
|
---|
| 73 | return email;
|
---|
| 74 | }
|
---|
| 75 |
|
---|
| 76 | @Override
|
---|
| 77 | public boolean isAccountNonExpired() {
|
---|
| 78 | return false;
|
---|
| 79 | }
|
---|
| 80 |
|
---|
| 81 | @Override
|
---|
| 82 | public boolean isAccountNonLocked() {
|
---|
| 83 | return false;
|
---|
| 84 | }
|
---|
| 85 |
|
---|
| 86 | @Override
|
---|
| 87 | public boolean isCredentialsNonExpired() {
|
---|
| 88 | return false;
|
---|
| 89 | }
|
---|
| 90 |
|
---|
| 91 | @Override
|
---|
| 92 | public boolean isEnabled() {
|
---|
| 93 | return enabled;
|
---|
| 94 | }
|
---|
| 95 |
|
---|
| 96 |
|
---|
| 97 | public String getFullName() {
|
---|
| 98 | return name + ' ' + surname;
|
---|
| 99 | }
|
---|
| 100 | } |
---|