This commit is contained in:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user