X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Futil%2FJob.java;h=959c14f5ef09185d9c7288169c370160b74f71d6;hp=13e6c7e0c1c5c768f0888ee7c3c977b4a016a8e4;hb=0b0af7389db0efd9cc72f74fb69f4a2a304563ae;hpb=25310a5d257de7c257e270b5ce467b9ac42a3498 diff --git a/src/org/cacert/gigi/util/Job.java b/src/org/cacert/gigi/util/Job.java index 13e6c7e0..959c14f5 100644 --- a/src/org/cacert/gigi/util/Job.java +++ b/src/org/cacert/gigi/util/Job.java @@ -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)); }