Creates backend Controller for Contact mail and adds it's respected configuration. (Issue #128)
This commit is contained in:
parent
3ed25bca11
commit
99f9776e54
|
@ -0,0 +1,36 @@
|
|||
package eu.eudat.controllers;
|
||||
|
||||
import eu.eudat.logic.managers.ContactEmailManager;
|
||||
import eu.eudat.models.data.ContactEmail.ContactEmailModel;
|
||||
import eu.eudat.models.data.helpers.responses.ResponseItem;
|
||||
import eu.eudat.models.data.security.Principal;
|
||||
import eu.eudat.types.ApiMessageCode;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
@RestController
|
||||
@CrossOrigin
|
||||
@RequestMapping(value = "api/contactEmail")
|
||||
public class ContactEmail {
|
||||
|
||||
private ContactEmailManager contactEmailManager;
|
||||
|
||||
public ContactEmail(ContactEmailManager contactEmailManager) {
|
||||
this.contactEmailManager = contactEmailManager;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
|
||||
public @ResponseBody
|
||||
ResponseEntity sendContactEmail(@RequestBody ContactEmailModel contactEmailModel, Principal principal) {
|
||||
try {
|
||||
this.contactEmailManager.sendContactEmail(contactEmailModel, principal);
|
||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem().status(ApiMessageCode.SUCCESS_MESSAGE));
|
||||
} catch (Exception ex) {
|
||||
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseItem().status(ApiMessageCode.NO_MESSAGE));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
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();
|
||||
mail.setSubject(contactEmailModel.getSubject());
|
||||
mail.setTo(environment.getProperty("contact_email.mail"));
|
||||
mail.setContent(contactEmailModel.getDescription());
|
||||
mail.setFrom(user.getEmail());
|
||||
|
||||
apiContext.getUtilitiesService().getMailService().sendSimpleMail(mail);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package eu.eudat.models.data.ContactEmail;
|
||||
|
||||
public class ContactEmailModel {
|
||||
|
||||
private String subject;
|
||||
private String description;
|
||||
|
||||
public String getSubject() {
|
||||
return subject;
|
||||
}
|
||||
public void setSubject(String subject) {
|
||||
this.subject = subject;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
}
|
|
@ -50,3 +50,6 @@ conf_email.subject=OpenDMP email confirmation
|
|||
#############ZENODO CONFIGURATIONS#########
|
||||
zenodo.url=https://sandbox.zenodo.org/api/
|
||||
zenodo.access_token=
|
||||
|
||||
#############CONTACT EMAIL CONFIGURATIONS#########
|
||||
contact_email.mail=
|
||||
|
|
Loading…
Reference in New Issue