NCBACK-9 add login
Test Workflow / test (push) Successful in 4s

This commit is contained in:
vladp
2025-12-10 04:51:07 +07:00
parent b5b8bebb69
commit 8a33bd33a2
6 changed files with 34 additions and 54 deletions
@@ -6,12 +6,12 @@ import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import ru.soune.no_copy.dto.LoginRequest;
import ru.soune.no_copy.dto.MessageCode;
import ru.soune.no_copy.dto.RegRequest;
import ru.soune.no_copy.dto.RegisterRequest;
import ru.soune.no_copy.entity.AuthToken;
import ru.soune.no_copy.entity.User;
import ru.soune.no_copy.exception.NotValidFieldException;
import ru.soune.no_copy.exception.NotValidationPasswordException;
import ru.soune.no_copy.exception.UserAlreadyExistsException;
import ru.soune.no_copy.exception.UserNotFoundException;
import ru.soune.no_copy.repository.AuthTokenRepository;
import ru.soune.no_copy.repository.UserRepository;
@@ -19,7 +19,6 @@ import ru.soune.no_copy.repository.UserRepository;
import java.security.SecureRandom;
import java.time.LocalDateTime;
import java.util.Base64;
import java.util.Locale;
import java.util.Optional;
@Service
@@ -36,30 +35,6 @@ public class AuthService {
private final SecureRandom secureRandom = new SecureRandom();
// @Transactional
// public AuthToken register(RegisterRequest registerRequest) {
// User user = new User();
// user.setFullName(registerRequest.fullName());
// user.setEmail(registerRequest.email());
// user.setPassword(passwordEncoder.encode(registerRequest.password()));
//
// if (registerRequest.companyName() != null) {
// user.setCompany(registerRequest.companyName());
// }
//
// if (registerRequest.phone() != null) {
// user.setPhone(registerRequest.phone());
// }
//
// User savedUser = userRepository.save(user);
//
// AuthToken authToken = new AuthToken();
// authToken.setToken(generateAuthToken());
// authToken.setUser(savedUser);
//
// return authTokenRepository.save(authToken);
// }
@Transactional
public AuthToken register(RegRequest registerRequest) {
User user = new User();
@@ -87,15 +62,12 @@ public class AuthService {
@Transactional
public AuthToken login(LoginRequest request) {
Optional<User> userOpt = userRepository.findByEmail(request.getEmail());
if (userOpt.isEmpty()) {
throw new UserNotFoundException("User with email " + request.getEmail() + " not found");
}
User user = userOpt.get();
if (!passwordEncoder.matches(request.getPassword(), user.getPassword())) {
throw new NotValidationPasswordException("Invalid password");
throw new NotValidFieldException("Invalid password", 20003,
MessageCode.AUTH_PASSWORD_NOT_MATCHES.getCode(),
MessageCode.AUTH_PASSWORD_NOT_MATCHES.getDescription());
}
user.setLastLoginAt(LocalDateTime.now());