import org.cacert.gigi.database.GigiPreparedStatement;
import org.cacert.gigi.database.GigiResultSet;
+import org.cacert.gigi.util.TimeConditions;
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() {
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();
+ }
+ }
}