-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathUser.java
More file actions
135 lines (107 loc) · 2.88 KB
/
Copy pathUser.java
File metadata and controls
135 lines (107 loc) · 2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package main.back.account;
import java.security.SecureRandom;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Base64;
import java.util.HashMap;
import java.util.Random;
public class User {
private static HashMap<String, User> users;
private String token;
private String firstName;
private String lastName;
private String username;
private String password;
private String email;
private String phone;
private LocalDateTime date;
private boolean logged;
static {
users = new HashMap<>();
}
public User(String firstName, String lastName, String username, String password, String email, String phone) {
token = null;
users.put(username, this);
this.firstName = firstName;
this.lastName = lastName;
this.username = username;
this.password = password;
this.email = email;
this.phone = phone;
date = LocalDateTime.now();
}
private static String generateToken() {
byte[] randomBytes = new byte[24];
new SecureRandom().nextBytes(randomBytes);
return Base64.getUrlEncoder().encodeToString(randomBytes);
}
public static void addUsers(ArrayList<User> users) {
for (User u : users) {
User.users.put(u.username, u);
}
}
public static HashMap<String, User> getUsers() {
return users;
}
public String getToken() {
return token;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getFirstName() {
return firstName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getLastName() {
return lastName;
}
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPhone() {
return phone;
}
public LocalDateTime getDate() {
return date;
}
public void setLogged(boolean logged) {
this.logged = logged;
}
public void login() {
logged = true;
token = generateToken();
}
public void logout() {
logged = false;
token = null;
}
public boolean isLogged() {
return logged;
}
@Override
public String toString() {
return firstName + " " + lastName + " " + username + " " + password + " " + email + " " + phone;
}
}