Skip to content

Userchanges #11

Merged
merged 3 commits into from
Feb 26, 2026
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 31 additions & 13 deletions src/main/java/model/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,59 @@
import password.PasswordHash;

public class User {
private final String userName;
private final String phoneNumber;
private String userName;
private String phoneNumber;
private final String eMail;
private final PasswordHash password;
private String password;

public User(String userName, String phoneNumber, PasswordHash password, String eMail) {
public User(String userName, String phoneNumber, String password, String eMail) {
this.userName = userName;
this.phoneNumber = phoneNumber;
this.eMail = eMail;
this.password = password;

if ( userName == null || userName.isBlank() ) {
if (userName == null || userName.isBlank()) {
throw new IllegalArgumentException("Username has to be filled in");
}

if ( eMail == null || eMail.isBlank() ) {
if (eMail == null || eMail.isBlank()) {
throw new IllegalArgumentException("E-mail has to be filled in");
}

if ( phoneNumber == null || phoneNumber.isBlank() ) {
if (phoneNumber == null || phoneNumber.isBlank()) {
throw new IllegalArgumentException("Phonenumber has to be filled in");
}

if ( phoneNumber.length() != 8 ) {
if (phoneNumber.length() != 8) {
throw new IllegalArgumentException("Fill in a phonenumber with 8 digits");
}
}

public String getUsername() { return userName; }
public String getUsername() {
return userName;
}

public String getPhoneNumber() { return phoneNumber; }
public String getPhoneNumber() {
return phoneNumber;
}

public String getEMail() { return eMail; }
public String getEMail() {
return eMail;
}

public PasswordHash getPasswordHash() { return password; }
public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

}
public void setUsername(String userName) {
this.userName = userName;
}

public void setPhonenumber (String phoneNumber) {
this.phoneNumber = phoneNumber;
}
}
2 changes: 1 addition & 1 deletion src/main/java/password/PasswordHash.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public static String hash(String password) {
}
}

public static boolean mathches(String password, String hashedPassword) {
public static boolean matches(String password, String hashedPassword) {
String newHash = hash(password);
return newHash.equals(hashedPassword);
}
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/register/UserRegister.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package register;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import model.User;

Expand All @@ -17,4 +19,16 @@ public void addUser(User user) {
users.put(user.getUsername(), user);
}
}

public void removeUser(User user) {
if (users.containsValue(user)) {
users.remove(user);
}
}

public List<User> getAllUsers() {
return new ArrayList<>(users.values());
}

public int numberOfAuthors() { return users.size(); }
}
12 changes: 12 additions & 0 deletions src/main/java/service/AuthService.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,16 @@
package service;

import model.User;
import password.PasswordHash;

public class AuthService {

public User register(String userName, String eMail, String password, String phoneNumber) {
String hashedPassword = PasswordHash.hash(password);
return new User(userName, phoneNumber, hashedPassword, eMail);
}

public boolean login(User user, String password) {
return PasswordHash.matches(password, user.getPassword());
}
}
19 changes: 19 additions & 0 deletions src/main/java/service/UserService.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
package service;

import model.User;
import register.UserRegister;
import password.PasswordHash;
import service.AuthService;


public class UserService {
private AuthService authService;

public UserService() {
this.authService = authService;
}

public boolean changeUsername(User user, String password, String newUsername) {
if (authService.login(user, password)) {
user.setUsername(newUsername);
return true;
}
return false;
}
}
Loading