NCBACK-33 add verification logic
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2026-01-20 15:12:24 +07:00
parent 55fa8b84e2
commit f9accd7af1
14 changed files with 137 additions and 44 deletions
@@ -50,17 +50,14 @@ public class AuthService {
User savedUser = userRepository.save(user);
AuthToken authToken = new AuthToken();
authToken.setToken(generateAuthToken());
authToken.setUser(savedUser);
AuthToken authToken = genereateAuthToken(savedUser);
return authTokenRepository.save(authToken);
}
@Transactional
public AuthToken login(LoginRequest request) {
Optional<User> userOpt = userRepository.findByEmail(request.getEmail());
User user = userOpt.get();
User user = userRepository.findByEmail(request.getEmail());
if (!passwordEncoder.matches(request.getPassword(), user.getPassword())) {
LoginAnswer loginAnswer = new LoginAnswer();
@@ -87,6 +84,18 @@ public class AuthService {
.ifPresent(authTokenRepository::delete);
}
public AuthToken generateAuthToken(User user) {
return authTokenRepository.save(genereateAuthToken(user));
}
private AuthToken genereateAuthToken(User user) {
AuthToken authToken = new AuthToken();
authToken.setToken(generateAuthToken());
authToken.setUser(user);
return authToken;
}
private String generateAuthToken() {
byte[] bytes = new byte[32];
secureRandom.nextBytes(bytes);
@@ -47,13 +47,13 @@ public class UserService {
}
@Transactional
public void activateAndVerifyUser(long userId) {
public User activateAndVerifyUser(long userId) {
Optional<User> users = userRepository.findById(userId);
User user = users.orElseThrow(() -> new UserNotFoundException("User not found with id: " + userId));
user.setIsActive(true);
user.setActive(true);
user.setEmailVerified(true);
userRepository.save(user);
return userRepository.save(user);
}
private void updateUserFromRequest(User user, UserRequest request) {