use of pl.pollub.cs.pentagoncafe.flare.component.email.Email 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.component.email.Email 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);
}
use of pl.pollub.cs.pentagoncafe.flare.component.email.Email in project Flare-event-calendar by PollubCafe.
the class SecurityServiceImpl method resetPassword.
@Override
@Transactional(rollbackFor = { MessagingException.class, ObjectNotFoundException.class, ResetPasswordException.class })
public void resetPassword(EmailReqDTO emailReqDTO) {
String recipientAddress = emailReqDTO.getEmail();
User user = userRepository.findByEmail(recipientAddress).orElseThrow(() -> new ObjectNotFoundException(User.class, "e-mail", emailReqDTO.getEmail()));
if (!user.isEnabled()) {
throw new ResetPasswordException(messages.get("login.userAccount.disabled"));
}
if (user.isBanned()) {
throw new ResetPasswordException(messages.get("login.userAccount.locked"));
}
String generatedPassword = RandomPasswordGenerator.generate();
user.setPassword(passwordEncoder.encode(generatedPassword));
userRepository.save(user);
Email resetPasswordEmail = emailBuilder.buildResetPasswordEmail(generatedPassword).to(recipientAddress);
this.sendResetPasswordEmail(resetPasswordEmail);
}
use of pl.pollub.cs.pentagoncafe.flare.component.email.Email in project Flare-event-calendar by PollubCafe.
the class EmailSenderServiceImpl method sendEmail.
@Override
public void sendEmail(EmailToEventAuthorReqDTO emailToEventAuthorReqDTO) {
Event event = eventRepository.findById(emailToEventAuthorReqDTO.getEventID()).orElseThrow(() -> new ObjectNotFoundException(Event.class, "id", emailToEventAuthorReqDTO.getEventID()));
User eventAuthor = event.getOrganizer();
String message = emailToEventAuthorReqDTO.getContent();
String subject = emailToEventAuthorReqDTO.getSubject();
Email email = emailBuilder.buildEmailToEventAuthor(message, subject).to(eventAuthor.getEmail());
try {
checkArgument(email instanceof HtmlEmail);
emailSender.send((HtmlEmail) email);
} catch (MessagingException e) {
e.printStackTrace();
throw new SendingEmailException("Email to author sending filed.");
}
}
Aggregations