improvements on nflow workflows
This commit is contained in:
@@ -1,46 +0,0 @@
|
||||
package zw.qantra.tm.domain.services;
|
||||
|
||||
import jakarta.mail.MessagingException;
|
||||
import jakarta.mail.internet.MimeMessage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.mail.javamail.JavaMailSender;
|
||||
import org.springframework.mail.javamail.MimeMessageHelper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import zw.qantra.tm.domain.dtos.EmailRequest;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class EmailService {
|
||||
|
||||
private final JavaMailSender mailSender;
|
||||
|
||||
/**
|
||||
* Sends an email based on the provided EmailRequest
|
||||
* @param emailRequest the email request containing recipient, subject, and body
|
||||
* @return true if the email was sent successfully, false otherwise
|
||||
*/
|
||||
public boolean sendEmail(EmailRequest emailRequest) {
|
||||
try {
|
||||
MimeMessage message = mailSender.createMimeMessage();
|
||||
MimeMessageHelper helper = new MimeMessageHelper(message, true);
|
||||
|
||||
helper.setTo(emailRequest.getTo());
|
||||
if (emailRequest.getCc() != null && !emailRequest.getCc().isEmpty()) {
|
||||
helper.setCc(emailRequest.getCc().toArray(new String[0]));
|
||||
}
|
||||
helper.setSubject(emailRequest.getSubject());
|
||||
helper.setText(emailRequest.getBody(), emailRequest.isHtml());
|
||||
|
||||
mailSender.send(message);
|
||||
log.info("Email sent successfully to {}", emailRequest.getTo());
|
||||
return true;
|
||||
} catch (MessagingException e) {
|
||||
log.error("Failed to send email to {}: {}", emailRequest.getTo(), e.getMessage(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,6 @@ import zw.qantra.tm.domain.models.Otp;
|
||||
import zw.qantra.tm.domain.repositories.OtpRepository;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
@@ -21,9 +20,6 @@ public class OtpService {
|
||||
private final OtpRepository otpRepository;
|
||||
|
||||
public Otp generateOtp(String username, String otpType) {
|
||||
// Delete any existing OTP for this username and type
|
||||
otpRepository.deleteByUsernameAndOtpType(username, otpType);
|
||||
|
||||
String otpCode = generateRandomOtp();
|
||||
|
||||
Otp otp = Otp.builder()
|
||||
@@ -37,7 +33,8 @@ public class OtpService {
|
||||
}
|
||||
|
||||
public boolean verifyOtp(String username, String otpCode, String otpType) {
|
||||
Optional<Otp> otpOpt = otpRepository.findByUsernameAndOtpTypeAndOtp(username, otpType, otpCode);
|
||||
Optional<Otp> otpOpt = otpRepository.findByUsernameAndOtpTypeAndOtpAndOtpStatus(
|
||||
username, otpType, otpCode, Status.ACTIVE);
|
||||
|
||||
if (otpOpt.isEmpty()) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user