diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GroupCollectionResource.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GroupCollectionResource.java index 7f0a19ed5d..3f728fab5a 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GroupCollectionResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GroupCollectionResource.java @@ -34,17 +34,46 @@ import static sonia.scm.api.v2.resources.ResourceLinks.group; public class GroupCollectionResource extends AbstractManagerResource { public static final int DEFAULT_PAGE_SIZE = 10; private final GroupDtoToGroupMapper dtoToGroupMapper; - private final GroupToGroupDtoMapper groupToDtoMapper; private final GroupCollectionToDtoMapper groupCollectionToDtoMapper; @Inject - public GroupCollectionResource(GroupManager manager, GroupDtoToGroupMapper dtoToGroupMapper, GroupToGroupDtoMapper groupToDtoMapper, GroupCollectionToDtoMapper groupCollectionToDtoMapper) { + public GroupCollectionResource(GroupManager manager, GroupDtoToGroupMapper dtoToGroupMapper, GroupCollectionToDtoMapper groupCollectionToDtoMapper) { super(manager); this.dtoToGroupMapper = dtoToGroupMapper; - this.groupToDtoMapper = groupToDtoMapper; this.groupCollectionToDtoMapper = groupCollectionToDtoMapper; } + /** + * Returns all groups for a given page number with a given page size (default page size is {@value DEFAULT_PAGE_SIZE}). + * Note: This method requires admin privileges. + * + * @param request the current request + * @param page the number of the requested page + * @param pageSize the page size (default page size is {@value DEFAULT_PAGE_SIZE}) + * @param sortby sort parameter + * @param desc sort direction desc or aesc + * @return + */ + @GET + @Path("") + @TypeHint(GroupDto[].class) + @StatusCodes({ + @ResponseCode(code = 200, condition = "success"), + @ResponseCode(code = 403, condition = "forbidden, the current user has no admin privileges"), + @ResponseCode(code = 500, condition = "internal server error") + }) + @Override + public Response getAll(@Context Request request, + @DefaultValue("0") @QueryParam("page") int page, + @DefaultValue("" + DEFAULT_PAGE_SIZE) @QueryParam("pageSize") int pageSize, + @QueryParam("sortby") String sortby, + @DefaultValue("false") + @QueryParam("desc") boolean desc) { + PageResult pageResult = fetchPage(sortby, desc, page, pageSize); + + return Response.ok(groupCollectionToDtoMapper.map(page, pageSize, pageResult)).build(); + } + /** * Creates a new group. * @param groupDto The group to be created. @@ -70,36 +99,6 @@ public class GroupCollectionResource extends AbstractManagerResourceNote: This method requires admin privileges. - * - * @param request the current request - * @param page the number of the requested page - * @param pageSize the page size (default page size is {@value DEFAULT_PAGE_SIZE}) - * @param sortby sort parameter - * @param desc sort direction desc or aesc - * @return - */ - @GET - @Path("") - @TypeHint(GroupDto[].class) - @StatusCodes({ - @ResponseCode(code = 200, condition = "success"), - @ResponseCode(code = 403, condition = "forbidden, the current user has no admin privileges"), - @ResponseCode(code = 500, condition = "internal server error") - }) - public Response getAll(@Context Request request, @Context UriInfo uriInfo, - @DefaultValue("0") @QueryParam("page") int page, - @DefaultValue("" + DEFAULT_PAGE_SIZE) @QueryParam("pageSize") int pageSize, - @QueryParam("sortby") String sortby, - @DefaultValue("false") - @QueryParam("desc") boolean desc) { - PageResult pageResult = fetchPage(sortby, desc, page, pageSize); - - return Response.ok(groupCollectionToDtoMapper.map(page, pageSize, pageResult)).build(); - } - @Override protected GenericEntity> createGenericEntity(Collection items) { throw new UnsupportedOperationException(); diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionResource.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionResource.java index 7d6ef89909..e336ef302d 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/UserCollectionResource.java @@ -33,14 +33,12 @@ import static sonia.scm.api.v2.resources.ResourceLinks.user; public class UserCollectionResource extends AbstractManagerResource { public static final int DEFAULT_PAGE_SIZE = 10; private final UserDtoToUserMapper dtoToUserMapper; - private final UserToUserDtoMapper userToDtoMapper; private final UserCollectionToDtoMapper userCollectionToDtoMapper; @Inject - public UserCollectionResource(UserManager manager, UserDtoToUserMapper dtoToUserMapper, UserToUserDtoMapper userToDtoMapper, UserCollectionToDtoMapper userCollectionToDtoMapper) { + public UserCollectionResource(UserManager manager, UserDtoToUserMapper dtoToUserMapper, UserCollectionToDtoMapper userCollectionToDtoMapper) { super(manager); this.dtoToUserMapper = dtoToUserMapper; - this.userToDtoMapper = userToDtoMapper; this.userCollectionToDtoMapper = userCollectionToDtoMapper; } @@ -63,6 +61,7 @@ public class UserCollectionResource extends AbstractManagerResource