NCBACK-25
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2026-01-23 16:09:51 +07:00
parent d1b5b6eb5c
commit 4560925183
5 changed files with 40 additions and 25 deletions
@@ -61,14 +61,24 @@ public class RegRequestHandler implements RequestHandler {
AuthToken authToken = authService.register(regRequest);
EmailVerificationToken emailToken = emailService.createEmailVerificationToken(authToken);
emailService.sendVerificationEmail(authToken.getUser(), emailToken.getToken());
try {
emailService.sendVerificationEmail(authToken.getUser(), emailToken.getToken());
} catch (Exception e) {
return new BaseResponse(request.getMsgId(), MessageCode.SEND_EMAIL_EXCEPTION.getCode(),
MessageCode.SEND_EMAIL_EXCEPTION.getDescription(), Map.of(
"message", "not send",
"email", regRequest.getEmail()
));
}
String token = authToken.getToken();
authService.useUserAuthToken(token);
RegAnswer regAnswer = new RegAnswer();
regAnswer.setToken(token);
regAnswer.setVerified(false);
regAnswer.setActive(false);
regAnswer.setUserId(authToken.getUser().getId());
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
MessageCode.SUCCESS.getDescription(), regAnswer);
@@ -1,6 +1,7 @@
package ru.soune.nocopy.handler;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.mail.MessagingException;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@@ -21,6 +22,7 @@ import ru.soune.nocopy.service.mail.EmailService;
import ru.soune.nocopy.service.register.AuthService;
import ru.soune.nocopy.service.user.UserService;
import java.io.IOException;
import java.util.Map;
import java.util.Optional;
@@ -43,7 +45,7 @@ public class VerifyRegisterUserHandler implements RequestHandler {
private final AuthService authService;
@Override
public BaseResponse handle(BaseRequest request) {
public BaseResponse handle(BaseRequest request) throws MessagingException, IOException {
VerifyUserRequest verifyUserRequest = objectMapper.convertValue(request.getMessageBody(), VerifyUserRequest.class);
Long userId = verifyUserRequest.getUserId();
@@ -62,7 +64,7 @@ public class VerifyRegisterUserHandler implements RequestHandler {
return handleVerify(request, user, authToken, verifyUserRequest.getVerifyToken());
}
private BaseResponse handleResend(BaseRequest request, User user, AuthToken authToken) {
private BaseResponse handleResend(BaseRequest request, User user, AuthToken authToken) throws MessagingException, IOException {
EmailVerificationToken token = emailVerificationTokenRepository.findByUserId(user.getId());
@@ -70,7 +72,8 @@ public class VerifyRegisterUserHandler implements RequestHandler {
emailService.sendVerificationEmail(user, token.getToken());
log.info("Verification token resent for user {}", user.getEmail());
return successResponse(request, authToken, "Verification code has been resent", false, false);
return successResponse(request, authToken, "Verification code has been resent", false,
false, user.getEmail());
}
if (token != null) {
@@ -84,7 +87,7 @@ public class VerifyRegisterUserHandler implements RequestHandler {
log.info("New verification token generated for user {}", user.getEmail());
return successResponse(request, authToken, "New verification code has been sent",
false, false);
false, false, user.getEmail());
}
@@ -99,19 +102,20 @@ public class VerifyRegisterUserHandler implements RequestHandler {
}
User updateUser = userService.activateAndVerifyUser(user.getId());
emailVerificationTokenRepository.delete(token);
return successResponse(request, authToken, MessageCode.SUCCESS.getDescription(), updateUser.isActive(),
updateUser.isEmailVerified());
updateUser.isEmailVerified(), updateUser.getEmail());
}
private BaseResponse successResponse(BaseRequest request, AuthToken authToken, String message, boolean isActive,
boolean isVerified) {
boolean isVerified, String email) {
RegAnswer regAnswer = new RegAnswer();
regAnswer.setToken(authToken.getToken());
regAnswer.setVerified(isVerified);
regAnswer.setActive(isActive);
regAnswer.setEmail(email);
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(), message, regAnswer);
}