From b5d00f9f2cf1266ee5b16ea9da442697756f1100 Mon Sep 17 00:00:00 2001 From: lukaceli Date: Thu, 12 Feb 2026 12:35:59 +0100 Subject: [PATCH 1/2] Added methods to AuthService and changed small things in User --- src/main/java/model/User.java | 10 +++++++--- src/main/java/password/PasswordHash.java | 2 +- src/main/java/register/UserRegister.java | 14 ++++++++++++++ src/main/java/service/AuthService.java | 12 ++++++++++++ 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/main/java/model/User.java b/src/main/java/model/User.java index 28590b2..83a7761 100644 --- a/src/main/java/model/User.java +++ b/src/main/java/model/User.java @@ -6,9 +6,9 @@ public class User { private final String userName; private final 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; @@ -37,7 +37,11 @@ public User(String userName, String phoneNumber, PasswordHash password, String e public String getEMail() { return eMail; } - public PasswordHash getPasswordHash() { return password; } + public String getPassword() { return password; } + + public void setPassword(String password) { + this.password = password; + } } diff --git a/src/main/java/password/PasswordHash.java b/src/main/java/password/PasswordHash.java index cda7ced..4faea00 100644 --- a/src/main/java/password/PasswordHash.java +++ b/src/main/java/password/PasswordHash.java @@ -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); } diff --git a/src/main/java/register/UserRegister.java b/src/main/java/register/UserRegister.java index 398cee3..92ce86a 100644 --- a/src/main/java/register/UserRegister.java +++ b/src/main/java/register/UserRegister.java @@ -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; @@ -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 getAllUsers() { + return new ArrayList<>(users.values()); + } + + public int numberOfAuthors() { return users.size(); } } diff --git a/src/main/java/service/AuthService.java b/src/main/java/service/AuthService.java index c60b35e..3e0f07b 100644 --- a/src/main/java/service/AuthService.java +++ b/src/main/java/service/AuthService.java @@ -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()); + } } From 358a8e5fe76e5a90723f67c7893f77bded448277 Mon Sep 17 00:00:00 2001 From: lukaceli Date: Thu, 12 Feb 2026 12:57:36 +0100 Subject: [PATCH 2/2] Added methods to UserService --- src/main/java/model/User.java | 36 ++++++++++++++++++-------- src/main/java/service/UserService.java | 19 ++++++++++++++ 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/src/main/java/model/User.java b/src/main/java/model/User.java index 83a7761..a5d7ed3 100644 --- a/src/main/java/model/User.java +++ b/src/main/java/model/User.java @@ -3,8 +3,8 @@ 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 String password; @@ -14,34 +14,48 @@ public User(String userName, String phoneNumber, String password, String eMail) 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 String getPassword() { 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; + } +} \ No newline at end of file diff --git a/src/main/java/service/UserService.java b/src/main/java/service/UserService.java index 467d401..8590544 100644 --- a/src/main/java/service/UserService.java +++ b/src/main/java/service/UserService.java @@ -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; + } }