]> WPIA git - gigi.git/blob - src/org/cacert/gigi/api/CATSImport.java
add: split API and add CATS import API
[gigi.git] / src / org / cacert / gigi / api / CATSImport.java
1 package org.cacert.gigi.api;
2
3 import java.io.IOException;
4 import java.util.Date;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import org.cacert.gigi.dbObjects.CATS;
10 import org.cacert.gigi.dbObjects.CertificateOwner;
11 import org.cacert.gigi.dbObjects.Organisation;
12 import org.cacert.gigi.dbObjects.User;
13
14 public class CATSImport extends APIPoint {
15
16     public static final String PATH = "/cats_import";
17
18     @Override
19     public void process(HttpServletRequest req, HttpServletResponse resp, CertificateOwner u) throws IOException {
20         if ( !(u instanceof Organisation)) {
21             resp.sendError(500, "Error, invalid cert");
22             return;
23         }
24         if ( !"CAcert".equals(((Organisation) u).getName())) {
25             resp.sendError(500, "Error, invalid cert");
26             return;
27
28         }
29         String target = req.getParameter("serial");
30         String testType = req.getParameter("variant");
31         String date = req.getParameter("date");
32         if (target == null || testType == null || date == null) {
33             resp.sendError(500, "Error, requires serial, variant and date");
34             return;
35         }
36         // TODO is "byEnabledSerial" desired?
37         CertificateOwner o = CertificateOwner.getByEnabledSerial(target);
38         if ( !(o instanceof User)) {
39             resp.sendError(500, "Error, requires valid serial");
40             return;
41         }
42         System.out.println("CATS: " + target + ": " + testType);
43         User targetUser = (User) o;
44         System.out.println(targetUser.getId());
45         CATS.enterResult(targetUser, testType, new Date(Long.parseLong(date)));
46     }
47 }