NCBACK-33 add start logic for verify by token
Test Workflow / test (push) Successful in 4s

This commit is contained in:
vladp
2026-01-16 20:20:14 +07:00
parent 0ed3f958ff
commit 4704f780e5
31 changed files with 333 additions and 34 deletions
@@ -7,15 +7,20 @@ import org.springframework.stereotype.Component;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.validation.BindingResult;
import ru.soune.nocopy.dto.*;
import ru.soune.nocopy.entity.AuthToken;
import ru.soune.nocopy.entity.user.AuthToken;
import ru.soune.nocopy.entity.user.EmailVerificationToken;
import ru.soune.nocopy.exception.NotValidFieldException;
import ru.soune.nocopy.exception.ValidationException;
import ru.soune.nocopy.handler.validator.RegRequestValidator;
import ru.soune.nocopy.repository.EmailVerificationTokenRepository;
import ru.soune.nocopy.repository.UserRepository;
import ru.soune.nocopy.service.AuthService;
import ru.soune.nocopy.service.EmailService;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Map;
import java.util.UUID;
@Slf4j
@Component
@@ -29,6 +34,10 @@ public class RegRequestHandler implements RequestHandler {
private final ObjectMapper objectMapper;
private final EmailService emailService;
private final EmailVerificationTokenRepository emailVerificationTokenRepository;
@Override
public BaseResponse handle(BaseRequest request) throws ValidationException {
RegRequest regRequest = objectMapper.convertValue(request.getMessageBody(), RegRequest.class);
@@ -45,6 +54,7 @@ public class RegRequestHandler implements RequestHandler {
}
BindingResult bindingResult = new BeanPropertyBindingResult(regRequest, "regRequest");
regRequestValidator.validate(regRequest, bindingResult);
if (bindingResult.hasErrors()) {
@@ -52,6 +62,9 @@ public class RegRequestHandler implements RequestHandler {
}
AuthToken authToken = authService.register(regRequest);
EmailVerificationToken emailToken = emailService.createEmailVerificationToken(authToken);
emailService.sendVerificationEmail(authToken.getUser(), emailToken.getToken());
RegAnswer regAnswer = new RegAnswer();
regAnswer.setToken(authToken.getToken());