1 package org.cacert.gigi.dbObjects;
3 import org.cacert.gigi.database.GigiPreparedStatement;
4 import org.cacert.gigi.database.GigiResultSet;
5 import org.cacert.gigi.output.template.Outputable;
6 import org.cacert.gigi.output.template.TranslateCommand;
9 SUPPORTER("supporter"), ARBITRATOR("arbitrator"), BLOCKEDASSURER("blockedassurer"), BLOCKEDASSUREE("blockedassuree"), BLOCKEDLOGIN("blockedlogin"), BLOCKEDCERT("blockedcert"), TTP_ASSURER("ttp-assurer"), TTP_APPLICANT("ttp-applicant"), CODESIGNING("codesigning"), ORGASSURER("orgassurer"), NUCLEUS_ASSURER("nucleus-assurer");
11 private final String dbName;
13 private final TranslateCommand tc;
15 private Group(String name) {
17 tc = new TranslateCommand(name);
20 public static Group getByString(String name) {
21 return valueOf(name.toUpperCase().replace('-', '_'));
24 public String getDatabaseName() {
28 public User[] getMembers(int offset, int count) {
29 try (GigiPreparedStatement gps = new GigiPreparedStatement("SELECT `user` FROM `user_groups` WHERE `permission`=?::`userGroup` AND `deleted` IS NULL OFFSET ? LIMIT ?", true)) {
30 gps.setString(1, dbName);
31 gps.setInt(2, offset);
33 GigiResultSet grs = gps.executeQuery();
35 User[] users = new User[grs.getRow()];
39 users[i++] = User.getById(grs.getInt(1));
45 public Outputable getName() {