1 package org.cacert.gigi.dbObjects;
3 import org.cacert.gigi.database.GigiPreparedStatement;
4 import org.cacert.gigi.database.GigiResultSet;
7 SUPPORTER("supporter"), ARBITRATOR("arbitrator"), BLOCKEDASSURER("blockedassurer"), BLOCKEDASSUREE("blockedassuree"), BLOCKEDLOGIN("blockedlogin"), TTP_ASSURER("ttp-assurer"), TTP_APPLICANT("ttp-applicant"), CODESIGNING("codesigning"), ORGASSURER("orgassurer");
9 private final String dbName;
11 private Group(String name) {
15 public static Group getByString(String name) {
16 return valueOf(name.toUpperCase().replace('-', '_'));
19 public String getDatabaseName() {
23 public User[] getMembers(int offset, int count) {
24 try (GigiPreparedStatement gps = new GigiPreparedStatement("SELECT `user` FROM `user_groups` WHERE `permission`=?::`userGroup` AND `deleted` IS NULL OFFSET ? LIMIT ?", true)) {
25 gps.setString(1, dbName);
26 gps.setInt(2, offset);
28 GigiResultSet grs = gps.executeQuery();
30 User[] users = new User[grs.getRow()];
34 users[i++] = User.getById(grs.getInt(1));