use of pl.pollub.cs.pentagoncafe.flare.domain.ActivationToken in project Flare-event-calendar by PollubCafe.
the class RegistrationServiceImpl method register.
@Transactional(rollbackFor = { MessagingException.class, ObjectNotFoundException.class })
public void register(RegistrationReqDTO registrationReqDTO) {
String token = UUID.randomUUID().toString();
ActivationToken activationToken = new ActivationToken(token);
User user = User.builder().name(registrationReqDTO.getName()).surname(registrationReqDTO.getSurname()).nick(registrationReqDTO.getNick()).email(registrationReqDTO.getEmail()).phoneNumber(registrationReqDTO.getPhoneNumber()).password(passwordEncoder.encode(registrationReqDTO.getPassword())).role(Role.DISABLED).activationToken(activationToken).build();
userRepository.save(user);
Email activationEmail = emailBuilder.buildActivationEmail(token).to(user.getEmail());
this.sendActivationEmail(activationEmail);
}
use of pl.pollub.cs.pentagoncafe.flare.domain.ActivationToken in project Flare-event-calendar by PollubCafe.
the class RegistrationServiceImpl method finishRegistration.
public void finishRegistration(String token) {
User user = userRepository.findByActivationToken(token).orElseThrow(() -> new ObjectNotFoundException(User.class));
if (user.isEnabled())
throw new UserAlreadyActivatedException(user.getNick());
ActivationToken activationToken = user.getActivationToken();
if (activationToken.getExpirationDate().isBefore(Instant.now())) {
throw new TokenExpiredException();
}
user.setEnabled(true);
user.setRole(Role.USER);
userRepository.save(user);
}
use of pl.pollub.cs.pentagoncafe.flare.domain.ActivationToken in project Flare-event-calendar by PollubCafe.
the class RegistrationServiceImpl method resendToken.
@Transactional(rollbackFor = { MessagingException.class, ObjectNotFoundException.class })
public void resendToken(EmailReqDTO emailReqDTO) {
User user = userRepository.findByEmail(emailReqDTO.getEmail()).orElseThrow(() -> new ObjectNotFoundException(User.class, "e-mail", emailReqDTO.getEmail()));
if (user.isEnabled())
throw new UserAlreadyActivatedException(user.getNick());
String newToken = UUID.randomUUID().toString();
ActivationToken newActivationToken = user.getActivationToken();
newActivationToken.setToken(newToken);
newActivationToken.refreshDate();
userRepository.save(user);
Email repeatedActivationEmail = emailBuilder.buildActivationEmail(newToken).to(user.getEmail());
this.sendActivationEmail(repeatedActivationEmail);
}
Aggregations