]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/CATS.java
Highlight expired nucleus bonus verifications in points overview
[gigi.git] / src / org / cacert / gigi / dbObjects / CATS.java
index cac16694d81a83954b3d12288edbd9d7c36124d7..df85172871cee09413a02baa34914419b7539208 100644 (file)
@@ -6,6 +6,7 @@ import java.util.HashMap;
 
 import org.cacert.gigi.database.GigiPreparedStatement;
 import org.cacert.gigi.database.GigiResultSet;
+import org.cacert.gigi.util.TimeConditions;
 
 public class CATS {
 
@@ -42,6 +43,11 @@ public class CATS {
         }
     }
 
+    /**
+     * The maximal number of months a passed test is considered "recent".
+     */
+    public static final int TEST_MONTHS = TimeConditions.getInstance().getTestMonths();
+
     private static HashMap<String, Integer> names = new HashMap<>();
 
     private CATS() {
@@ -89,4 +95,15 @@ public class CATS {
             ps.execute();
         }
     }
+
+    public static boolean isInCatsLimit(int uID, int testID) {
+        try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT 1 FROM `cats_passed` WHERE `user_id` = ? AND `variant_id` = ? AND`pass_date` > (now() - interval '1 months' * ?)")) {
+            ps.setInt(1, uID);
+            ps.setInt(2, testID);
+            ps.setInt(3, TEST_MONTHS);
+
+            GigiResultSet rs = ps.executeQuery();
+            return rs.next();
+        }
+    }
 }