1 package club.wpia.gigi.api;
3 import java.io.IOException;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
9 import org.json.JSONWriter;
11 import club.wpia.gigi.GigiApiException;
12 import club.wpia.gigi.dbObjects.EmailAddress;
13 import club.wpia.gigi.dbObjects.User;
15 public class Emails extends APIPoint {
17 public static final String PATH = "/account/emails";
20 public void processGet(HttpServletRequest req, HttpServletResponse resp, User u) throws IOException {
21 EmailAddress[] mails = u.getEmails();
22 resp.setContentType("application/json; charset=UTF-8");
23 JSONWriter jw = new JSONWriter(resp.getWriter());
25 for (EmailAddress emailAddress : mails) {
26 Date p = emailAddress.getLastPing(true);
29 jw.value(emailAddress.getId());
31 jw.value((p == null ? 0 : p.getTime()));
33 jw.value(emailAddress.getAddress());
40 protected void process(HttpServletRequest req, HttpServletResponse resp, User u) throws IOException {
42 String email = req.getParameter("email");
44 resp.sendError(500, "No parameter 'email'.");
47 new EmailAddress(u, email, u.getPreferredLocale());
48 } catch (IllegalArgumentException e) {
49 resp.sendError(500, "Invalid email");
50 } catch (GigiApiException e) {
52 resp.setContentType("text/plain; charset=UTF-8");
53 e.formatPlain(resp.getWriter());