package org.cacert.gigi.dbObjects;
+import org.cacert.gigi.database.DBEnum;
import org.cacert.gigi.database.GigiPreparedStatement;
import org.cacert.gigi.database.GigiResultSet;
import org.cacert.gigi.output.template.Outputable;
import org.cacert.gigi.output.template.TranslateCommand;
-public enum Group {
+public enum Group implements DBEnum {
SUPPORTER("supporter", "supporter", true, false, true), //
ARBITRATOR("arbitrator", "arbitrator", true, false, true), //
BLOCKEDASSURER("blockedassurer", "may not verify", true, false, false), //
CODESIGNING("codesigning", "may issue codesigning certificates", true, false, false), //
ORGASSURER("orgassurer", "may verify organisations", true, false, true), //
NUCLEUS_ASSURER("nucleus-assurer", "may enter nucleus verifications", true, false, true), //
- LOCATE_AGENT("locate-agent", "wants access to the locate agent system", false, true, false);
+ LOCATE_AGENT("locate-agent", "wants access to the locate agent system", false, true, false), //
+ VERIFY_NOTIFICATION("verify-notification", "wants to receive an email notification for any Verification they enter", false, true, false);
private final String dbName;
return isSelfViewable;
}
- public String getDatabaseName() {
- return dbName;
- }
-
public User[] getMembers(int offset, int count) {
try (GigiPreparedStatement gps = new GigiPreparedStatement("SELECT `user` FROM `user_groups` WHERE `permission`=?::`userGroup` AND `deleted` IS NULL OFFSET ? LIMIT ?", true)) {
- gps.setString(1, dbName);
+ gps.setEnum(1, this);
gps.setInt(2, offset);
gps.setInt(3, count);
GigiResultSet grs = gps.executeQuery();
public int getMemberCount() {
try (GigiPreparedStatement gps = new GigiPreparedStatement("SELECT COUNT(`user`) FROM `user_groups` WHERE `permission`=?::`userGroup` AND `deleted` IS NULL", true)) {
- gps.setString(1, dbName);
+ gps.setEnum(1, this);
GigiResultSet grs = gps.executeQuery();
if ( !grs.next()) {
return 0;
public Outputable getName() {
return tc;
}
+
+ @Override
+ public String getDBName() {
+ return dbName;
+ }
}