@Override public void handle(Request request, Response response) throws Exception { int pageSize = request.mandatoryParamAsInt(Param.PAGE_SIZE); int page = request.mandatoryParamAsInt(Param.PAGE); String queryString = request.param(Param.TEXT_QUERY); String selected = request.mandatoryParam(Param.SELECTED); try (DbSession dbSession = dbClient.openSession(false)) { GroupId group = support.findGroup(dbSession, request); userSession.checkPermission(OrganizationPermission.ADMINISTER, group.getOrganizationUuid()); UserMembershipQuery query = UserMembershipQuery.builder() .groupId(group.getId()) .organizationUuid(group.getOrganizationUuid()) .memberSearch(queryString) .membership(getMembership(selected)) .pageIndex(page) .pageSize(pageSize) .build(); int total = dbClient.groupMembershipDao().countMembers(dbSession, query); Paging paging = forPageIndex(page).withPageSize(pageSize).andTotal(total); List<UserMembershipDto> users = dbClient.groupMembershipDao().selectMembers(dbSession, query, paging.offset(), paging.pageSize()); try (JsonWriter json = response.newJsonWriter()) { json.beginObject(); writeMembers(json, users); writePaging(json, paging); json.endObject(); } } }
@Override public void handle(Request request, Response response) throws Exception { int pageSize = request.mandatoryParamAsInt(Param.PAGE_SIZE); int page = request.mandatoryParamAsInt(Param.PAGE); String queryString = request.param(Param.TEXT_QUERY); String selected = request.mandatoryParam(Param.SELECTED); try (DbSession dbSession = dbClient.openSession(false)) { GroupId group = support.findGroup(dbSession, request); userSession.checkPermission(OrganizationPermission.ADMINISTER, group.getOrganizationUuid()); UserMembershipQuery query = UserMembershipQuery.builder() .groupId(group.getId()) .organizationUuid(group.getOrganizationUuid()) .memberSearch(queryString) .membership(getMembership(selected)) .pageIndex(page) .pageSize(pageSize) .build(); int total = dbClient.groupMembershipDao().countMembers(dbSession, query); Paging paging = forPageIndex(page).withPageSize(pageSize).andTotal(total); List<UserMembershipDto> users = dbClient.groupMembershipDao().selectMembers(dbSession, query, paging.offset(), paging.pageSize()); try (JsonWriter json = response.newJsonWriter()) { json.beginObject(); writeMembers(json, users); writePaging(json, paging); json.endObject(); } } }