source: sources/app/src/main/java/parkup/entities/RegisteredUser.java@ d770228

Last change on this file since d770228 was 98f448a, checked in by andrejTavchioski <andrej.tavchioski@…>, 2 years ago

parkingZone and parkingSession services fix

  • Property mode set to 100644
File size: 4.9 KB
Line 
1package parkup.entities;
2
3import java.util.ArrayList;
4import java.util.Collection;
5import java.util.Collections;
6import java.util.List;
7import javax.persistence.*;
8
9import org.springframework.security.core.GrantedAuthority;
10import org.springframework.security.core.authority.SimpleGrantedAuthority;
11import org.springframework.security.core.userdetails.UserDetails;
12import parkup.data.Plate;
13import parkup.data.enumarations.UserRole;
14
15@Entity
16@Table(name = "registeredUser")
17public class RegisteredUser implements UserDetails {
18 @Id
19 @SequenceGenerator(
20 name="registeredUser_sequence_generator",
21 sequenceName = "registeredUser_sequence",
22 allocationSize = 1,
23 initialValue = 300
24 )
25 @GeneratedValue( //za postgres treba sequence da se namesti i ime na generator mi ga davamo kako od gore sto e
26 strategy = GenerationType.SEQUENCE,
27 generator = "registeredUser_sequence_generator"
28 )
29 @Column(name = "regParkId")
30 private int regParkId;
31
32 @Column(name = "name")
33 private String name;
34
35 @Column(name = "surname")
36 private String surname;
37
38 @Column(name = "password")
39 private String password;
40
41 @OneToMany(cascade ={CascadeType.ALL})
42 @Column(name = "regPlates")
43 private List<Plate> plates;
44
45 @Column(name = "email")
46 private String email;
47
48 @Column(name = "mobile")
49 private String mobile;
50
51 @Enumerated
52 @Column(name = "role")
53 private UserRole role;
54
55 @OneToOne
56 private ParkingSession session;
57
58 private boolean locked;
59
60 private boolean enabled;
61
62 public RegisteredUser() {
63 this.plates = new ArrayList<Plate>();
64 this.role = UserRole.ROLE_REG_USER;
65 session=null;
66 }
67
68 public RegisteredUser(int regParkId, String name, String surname, String password, List<Plate> plates, String email, String mobile) {
69 this.regParkId = regParkId;
70 this.name = name;
71 this.surname = surname;
72 this.password = password;
73 this.plates = plates;
74 this.email = email;
75 this.mobile = mobile;
76 this.role = UserRole.ROLE_REG_USER;
77 session=null;
78 }
79
80 public RegisteredUser(String name, String surname, String password, List<Plate> plates, String email, String mobile) {
81 this.name = name;
82 this.surname = surname;
83 this.password = password;
84 this.plates = plates;
85 this.email = email;
86 this.mobile = mobile;
87 this.role = UserRole.ROLE_REG_USER;
88 session=null;
89 }
90
91 public RegisteredUser(String name, String surname, String email, String password, String mobile) {
92 this.name = name;
93 this.surname = surname;
94 this.password = password;
95 this.email = email;
96 this.mobile = mobile;
97 this.role = UserRole.ROLE_REG_USER;
98 session=null;
99 }
100
101 public ParkingSession getSession() {
102 return session;
103 }
104
105 public void setSession(ParkingSession session) {
106 this.session = session;
107 }
108
109 public boolean isLocked() {
110 return locked;
111 }
112
113 public void setLocked(boolean locked) {
114 this.locked = locked;
115 }
116
117 public void setEnabled(boolean enabled) {
118 this.enabled = enabled;
119 }
120
121
122 public int getRegParkId() {
123 return regParkId;
124 }
125
126 public void setRegParkId(int regParkId) {
127 this.regParkId = regParkId;
128 }
129
130 public String getName() {
131 return name;
132 }
133
134 public void setName(String name) {
135 this.name = name;
136 }
137
138 public String getSurname() {
139 return surname;
140 }
141
142 public void setSurname(String surname) {
143 this.surname = surname;
144 }
145
146 public List<Plate> getPlates() {
147 return plates;
148 }
149
150 public void setPlates(List<Plate> plates) {
151 this.plates = plates;
152 }
153
154 public String getEmail() {
155 return email;
156 }
157
158 public void setEmail(String email) {
159 this.email = email;
160 }
161
162 public String getMobile() {
163 return mobile;
164 }
165
166 public void setMobile(String mobile) {
167 this.mobile = mobile;
168 }
169
170 public UserRole getRole() {return role;}
171
172 public void setRole(UserRole role) {this.role = role;}
173
174 @Override
175 public Collection<? extends GrantedAuthority> getAuthorities() {
176 SimpleGrantedAuthority authority = new SimpleGrantedAuthority(role.getAuthority());
177 return Collections.singleton(authority);
178 }
179
180 public String getPassword() {
181 return password;
182 }
183
184 public void setPassword(String password) {
185 this.password = password;
186 }
187
188 @Override
189 public String getUsername() {
190 return email;
191 }
192
193 @Override
194 public boolean isAccountNonExpired() {
195 return true;
196 }
197
198 @Override
199 public boolean isAccountNonLocked() {
200 return !locked;
201 }
202
203 @Override
204 public boolean isCredentialsNonExpired() {
205 return true;
206 }
207
208 @Override
209 public boolean isEnabled() {
210 return enabled;
211 }
212}
213
Note: See TracBrowser for help on using the repository browser.