package de.asideas.crowdsource.example.restmail;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.subethamail.wiser.Wiser;
import org.subethamail.wiser.WiserMessage;
import java.util.List;
import java.util.stream.Collectors;
@RestController
@RequestMapping(value = "/mails")
public class MailController {
private static final Logger log = LoggerFactory.getLogger(MailController.class);
@Autowired
private Wiser mailServer;
@RequestMapping(method = RequestMethod.GET)
public List<Message> messages() {
final List<WiserMessage> messages = mailServer.getMessages();
log.info("Serving {} E-Mails from locally mocked mail endpoint..", messages.size());
return messages
.stream()
.map(Message::new)
.collect(Collectors.toList());
}
@RequestMapping(method = RequestMethod.DELETE)
public void clearMessages() {
log.info("Clearing E-Mails from locally mocked mail endpoint.");
mailServer.getMessages().clear();
}
}