]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/util/Job.java
Merge branch 'issuePeriod'
[gigi.git] / src / org / cacert / gigi / util / Job.java
index 9ec4612986ff498e9a8a5d18c773f879f3730cae..6e502afd6627f41e028f4eb6f5396f2f2b8e72e5 100644 (file)
@@ -1,11 +1,14 @@
 package org.cacert.gigi.util;
 
+import java.sql.Date;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 
 import org.cacert.gigi.Certificate;
+import org.cacert.gigi.GigiApiException;
 import org.cacert.gigi.database.DatabaseConnection;
+import org.cacert.gigi.output.CertificateValiditySelector;
 
 public class Job {
 
@@ -29,10 +32,22 @@ public class Job {
         }
     }
 
-    public static Job submit(Certificate targetId, JobType type) throws SQLException {
+    public static Job sign(Certificate targetId, Date start, String period) throws SQLException, GigiApiException {
+        CertificateValiditySelector.checkValidityLength(period);
+        PreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO `jobs` SET targetId=?, task=?, executeFrom=?, executeTo=?");
+        ps.setInt(1, targetId.getId());
+        ps.setString(2, JobType.SIGN.getName());
+        ps.setDate(3, start);
+        ps.setString(4, period);
+        ps.execute();
+        return new Job(DatabaseConnection.lastInsertId(ps));
+    }
+
+    public static Job revoke(Certificate targetId) throws SQLException {
+
         PreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO `jobs` SET targetId=?, task=?");
         ps.setInt(1, targetId.getId());
-        ps.setString(2, type.getName());
+        ps.setString(2, JobType.REVOKE.getName());
         ps.execute();
         return new Job(DatabaseConnection.lastInsertId(ps));
     }