From ad31d8014d7b86444825fca3d64bb34a8b548b87 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Thu, 14 Apr 2022 22:08:52 -0400 Subject: [PATCH] get memberCount with Group Data works for lookup by groupId --- src/main/java/org/qortal/api/resource/GroupsResource.java | 5 ++++- src/main/java/org/qortal/data/group/GroupData.java | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/qortal/api/resource/GroupsResource.java b/src/main/java/org/qortal/api/resource/GroupsResource.java index 4ffd7549..bf90175d 100644 --- a/src/main/java/org/qortal/api/resource/GroupsResource.java +++ b/src/main/java/org/qortal/api/resource/GroupsResource.java @@ -98,7 +98,9 @@ public class GroupsResource { ref = "reverse" ) @QueryParam("reverse") Boolean reverse) { try (final Repository repository = RepositoryManager.getRepository()) { - return repository.getGroupRepository().getAllGroups(limit, offset, reverse); + List allGroupData = repository.getGroupRepository().getAllGroups(limit, offset, reverse); + // allGroupData.forEach(GroupData -> GroupData.memberCount = repository.getGroupRepository().countGroupMembers(GroupData.groupId)); + return allGroupData; } catch (DataException e) { throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.REPOSITORY_ISSUE, e); } @@ -177,6 +179,7 @@ public class GroupsResource { if (groupData == null) throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.GROUP_UNKNOWN); + groupData.memberCount = repository.getGroupRepository().countGroupMembers(groupId); return groupData; } catch (DataException e) { throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.REPOSITORY_ISSUE, e); diff --git a/src/main/java/org/qortal/data/group/GroupData.java b/src/main/java/org/qortal/data/group/GroupData.java index c97f5438..ae9a0388 100644 --- a/src/main/java/org/qortal/data/group/GroupData.java +++ b/src/main/java/org/qortal/data/group/GroupData.java @@ -23,6 +23,7 @@ public class GroupData { private ApprovalThreshold approvalThreshold; private int minimumBlockDelay; private int maximumBlockDelay; + public int memberCount; /** Reference to CREATE_GROUP or UPDATE_GROUP transaction, used to rebuild group during orphaning. */ // No need to ever expose this via API