source: src/main/java/mk/ukim/finki/busngo/model/entities/Korisnik.java@ bde8b13

Last change on this file since bde8b13 was bde8b13, checked in by ppaunovski <paunovskipavel@…>, 6 months ago

All 3 main use cases implemented.

  1. Starting a commute
  2. Writing a ticket
  3. Starting an instance of a Bus Line
  • Property mode set to 100644
File size: 2.8 KB
Line 
1package mk.ukim.finki.busngo.model.entities;
2
3import jakarta.persistence.*;
4import lombok.Data;
5import mk.ukim.finki.busngo.model.enums.Role;
6import org.springframework.security.core.GrantedAuthority;
7import org.springframework.security.core.userdetails.UserDetails;
8
9
10import java.util.Collection;
11import java.util.Collections;
12import java.util.List;
13import java.util.Objects;
14
15@Data
16@Entity
17@Inheritance(strategy = InheritanceType.JOINED)
18public class Korisnik implements UserDetails {
19 @GeneratedValue(strategy = GenerationType.IDENTITY)
20 @Id
21 @Column(name = "k_id")
22 private Long kId;
23
24 @Basic
25 @Column(name = "k_ime")
26 private String kIme;
27
28 @Basic
29 @Column(name = "k_adresa")
30 private String kAdresa;
31
32 @Basic
33 @Column(name = "k_telefon")
34 private String kTelefon;
35
36 @Basic
37 @Column(name = "k_email")
38 private String kEmail;
39
40 @Basic
41 @Column(name = "k_embg")
42 private String kEmbg;
43
44 @Basic
45 @Column(name = "k_is_admin")
46 private Boolean kIsAdmin;
47
48 @Basic
49 @Column(name = "k_lozinka")
50 private String kLozinka;
51
52// @OneToMany(mappedBy = "korisnikByPatnikKId")
53// private List<Bilet> biletsByKId;
54// private boolean isAccountNonExpired = true;
55// private boolean isAccountNonLocked = true;
56// private boolean isCredentialsNonExpired = true;
57// private boolean isEnabled = true;
58
59
60 @Override
61 public Collection<? extends GrantedAuthority> getAuthorities() {
62 return kIsAdmin ? Collections.singletonList(Role.ROLE_ADMIN) : Collections.singletonList(Role.ROLE_USER);
63 }
64
65 @Override
66 public String getPassword() {
67 return kLozinka;
68 }
69
70 @Override
71 public String getUsername() {
72 return kEmail;
73 }
74
75 @Override
76 public boolean isAccountNonExpired() {
77 return true;
78 }
79
80 @Override
81 public boolean isAccountNonLocked() {
82 return true;
83 }
84
85 @Override
86 public boolean isCredentialsNonExpired() {
87 return true;
88 }
89
90 @Override
91 public boolean isEnabled() {
92 return true;
93 }
94
95
96// @OneToMany(mappedBy = "korisnikByVozacKId")
97// private List<Instancanalinija> instancanalinijasByKId;
98// @OneToMany(mappedBy = "korisnikByKondukterKId")
99// private List<Kazna> kaznasByKId;
100// @OneToMany(mappedBy = "korisnikByPatnikKId")
101// private List<Kaznazaregistriran> kaznazaregistriransByKId;
102// @OneToOne(mappedBy = "korisnikByKId")
103// private Kondukter kondukterByKId;
104// @OneToMany(mappedBy = "korisnikByKondukterKId")
105// private List<Kontroli> kontrolisByKId;
106// @OneToOne(mappedBy = "korisnikByKId")
107// private Patnik patnikByKId;
108// @OneToOne(mappedBy = "korisnikByKId")
109// private Vozac vozacByKId;
110// @OneToMany(mappedBy = "korisnikByPatnikKId")
111// private List<Vozenje> vozenjesByKId;
112// @OneToOne(mappedBy = "korisnikByKId")
113// private Vraboten vrabotenByKId;
114}
Note: See TracBrowser for help on using the repository browser.