47 lines
1.7 KiB
Java
47 lines
1.7 KiB
Java
package eu.eudat.logic.managers;
|
|
|
|
import eu.eudat.data.entities.UserInfo;
|
|
import eu.eudat.logic.services.ApiContext;
|
|
import eu.eudat.models.data.ContactEmail.ContactEmailModel;
|
|
import eu.eudat.models.data.mail.SimpleMail;
|
|
import eu.eudat.models.data.security.Principal;
|
|
import org.springframework.core.env.Environment;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import javax.mail.MessagingException;
|
|
|
|
@Component
|
|
public class ContactEmailManager {
|
|
|
|
private ApiContext apiContext;
|
|
private Environment environment;
|
|
|
|
@Autowired
|
|
public ContactEmailManager(ApiContext apiContext, Environment environment) {
|
|
this.apiContext = apiContext;
|
|
this.environment = environment;
|
|
}
|
|
|
|
public void sendContactEmail(ContactEmailModel contactEmailModel, Principal principal) throws MessagingException {
|
|
UserInfo user = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().find(principal.getId());
|
|
SimpleMail mail = new SimpleMail();
|
|
String enrichedMail = contactEmailModel.getDescription() + "\n\n" + "Send by user: " + user.getEmail() ;
|
|
mail.setSubject(contactEmailModel.getSubject());
|
|
mail.setTo(environment.getProperty("contact_email.mail"));
|
|
mail.setContent(enrichedMail);
|
|
mail.setFrom(user.getEmail());
|
|
|
|
apiContext.getUtilitiesService().getMailService().sendSimpleMail(mail);
|
|
}
|
|
|
|
public void emailValidation(ContactEmailModel contactEmailModel) throws Exception {
|
|
if (contactEmailModel.getSubject() == null || contactEmailModel.getSubject().trim().isEmpty()) {
|
|
throw new Exception("Subject is empty");
|
|
}
|
|
if (contactEmailModel.getDescription() == null || contactEmailModel.getDescription().trim().isEmpty()) {
|
|
throw new Exception("Description is empty");
|
|
}
|
|
}
|
|
}
|