diff --git a/src/main/java/org/qora/api/resource/GroupsResource.java b/src/main/java/org/qora/api/resource/GroupsResource.java index 1ee4b4f4..cbf523b5 100644 --- a/src/main/java/org/qora/api/resource/GroupsResource.java +++ b/src/main/java/org/qora/api/resource/GroupsResource.java @@ -680,7 +680,7 @@ public class GroupsResource { } @GET - @Path("/invites/{groupid}") + @Path("/invites/{address}") @Operation( summary = "Pending group invites", responses = { @@ -688,15 +688,38 @@ public class GroupsResource { description = "group invite", content = @Content( mediaType = MediaType.APPLICATION_JSON, - schema = @Schema(implementation = GroupInviteData.class) + array = @ArraySchema(schema = @Schema(implementation = GroupInviteData.class)) ) ) } ) @ApiErrors({ApiError.REPOSITORY_ISSUE}) - public List getInvites(@PathParam("groupid") int groupId) { + public List getInvitesByInvitee(@PathParam("address") String invitee) { try (final Repository repository = RepositoryManager.getRepository()) { - return repository.getGroupRepository().getGroupInvites(groupId); + return repository.getGroupRepository().getInvitesByInvitee(invitee); + } catch (DataException e) { + throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.REPOSITORY_ISSUE, e); + } + } + + @GET + @Path("/invites/group/{groupid}") + @Operation( + summary = "Pending group invites", + responses = { + @ApiResponse( + description = "group invite", + content = @Content( + mediaType = MediaType.APPLICATION_JSON, + array = @ArraySchema(schema = @Schema(implementation = GroupInviteData.class)) + ) + ) + } + ) + @ApiErrors({ApiError.REPOSITORY_ISSUE}) + public List getInvitesByGroupId(@PathParam("groupid") int groupId) { + try (final Repository repository = RepositoryManager.getRepository()) { + return repository.getGroupRepository().getInvitesByGroupId(groupId); } catch (DataException e) { throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.REPOSITORY_ISSUE, e); } @@ -711,7 +734,7 @@ public class GroupsResource { description = "group join requests", content = @Content( mediaType = MediaType.APPLICATION_JSON, - schema = @Schema(implementation = GroupJoinRequestData.class) + array = @ArraySchema(schema = @Schema(implementation = GroupJoinRequestData.class)) ) ) } @@ -734,7 +757,7 @@ public class GroupsResource { description = "group bans", content = @Content( mediaType = MediaType.APPLICATION_JSON, - schema = @Schema(implementation = GroupJoinRequestData.class) + array = @ArraySchema(schema = @Schema(implementation = GroupJoinRequestData.class)) ) ) } diff --git a/src/main/java/org/qora/repository/GroupRepository.java b/src/main/java/org/qora/repository/GroupRepository.java index 05e5e6b6..6d35df89 100644 --- a/src/main/java/org/qora/repository/GroupRepository.java +++ b/src/main/java/org/qora/repository/GroupRepository.java @@ -66,7 +66,7 @@ public interface GroupRepository { public boolean inviteExists(int groupId, String invitee) throws DataException; - public List getGroupInvites(int groupId) throws DataException; + public List getInvitesByGroupId(int groupId) throws DataException; public List getInvitesByInvitee(String invitee) throws DataException; diff --git a/src/main/java/org/qora/repository/hsqldb/HSQLDBGroupRepository.java b/src/main/java/org/qora/repository/hsqldb/HSQLDBGroupRepository.java index 33e4565f..a6a5d4a0 100644 --- a/src/main/java/org/qora/repository/hsqldb/HSQLDBGroupRepository.java +++ b/src/main/java/org/qora/repository/hsqldb/HSQLDBGroupRepository.java @@ -425,7 +425,7 @@ public class HSQLDBGroupRepository implements GroupRepository { } @Override - public List getGroupInvites(int groupId) throws DataException { + public List getInvitesByGroupId(int groupId) throws DataException { List invites = new ArrayList<>(); try (ResultSet resultSet = this.repository.checkedExecute("SELECT inviter, invitee, expiry, reference FROM GroupInvites WHERE group_id = ?", groupId)) {