Commit e825044b authored by Aditya Bansal's avatar Aditya Bansal
Browse files

Comments and order_by support

parent 7062eea3
Showing with 31 additions and 7 deletions
+31 -7
......@@ -311,6 +311,29 @@ public interface Constants {
}
}
/** Enum to use for ordering the results of getContibutors(). */
public enum ContributorOrderBy {
NAME, EMAIL, COMMITS;
private static JacksonJsonEnumHelper<ContributorOrderBy> enumHelper = new JacksonJsonEnumHelper<>(ContributorOrderBy.class);
@JsonCreator
public static ContributorOrderBy forValue(String value) {
return enumHelper.forValue(value);
}
@JsonValue
public String toValue() {
return (enumHelper.toString(this));
}
@Override
public String toString() {
return (enumHelper.toString(this));
}
}
/** Enum to use for specifying the scope when calling getPipelines(). */
public enum PipelineScope {
......
......@@ -671,18 +671,19 @@ public class RepositoryApi extends AbstractApi {
* @param projectIdOrPath the project in the form of an Long(ID), String(path), or Project instance
* @param page the page to get
* @param perPage the number of projects per page
* @param sort optional param to sort the list of contributors by
* @param orderBy (optional param) returns contributors ordered by NAME, EMAIL, or COMMITS. Default is COMMITS
* @param sortOrder (optional param) returns contributors sorted in ASC or DESC order. Default is ASC
* @return a List containing the contributors for the specified project ID
* @throws GitLabApiException if any exception occurs
*/
public List<Contributor> getContributors(Object projectIdOrPath, int page, int perPage, String sort) throws GitLabApiException {
if (sort != null && !(sort.equals("asc") || sort.equals("desc")) ) {
throw new RuntimeException("Sort must be asc or desc");
public List<Contributor> getContributors(Object projectIdOrPath, int page, int perPage, ContributorOrderBy orderBy, SortOrder sortOrder) throws GitLabApiException {
GitLabApiForm formData = new GitLabApiForm().withParam(PAGE_PARAM, page).withParam(PER_PAGE_PARAM, perPage);
if (sortOrder != null) {
formData.withParam("sort", sortOrder, false);
}
GitLabApiForm formData = new GitLabApiForm().withParam(PAGE_PARAM, page).withParam(PER_PAGE_PARAM, perPage);
if (sort != null) {
formData.withParam("sort", sort, false);
if (orderBy != null) {
formData.withParam("order_by", orderBy, false);
}
Response response = get(Response.Status.OK, formData.asMap(),
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment