From 66209fbc7668b5b64b34c2997185223891211829 Mon Sep 17 00:00:00 2001 From: Stuart Pook Date: Fri, 4 Apr 2014 18:32:53 +0200 Subject: Add optional parameter to list merge requests Add an optional parameter to list merge requests to restrict the returned merge requests to those that are "opened", "merged" or "closed". By default all merge requests are returned. Note that "all" can be given to explicitly request all merge requests. --- lib/api/merge_requests.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'lib/api') diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb index e2d2d034444..4b88b0f84c1 100644 --- a/lib/api/merge_requests.rb +++ b/lib/api/merge_requests.rb @@ -19,14 +19,24 @@ module API # # Parameters: # id (required) - The ID of a project + # state (optional) - Return requests "merged", "opened" or "closed" # # Example: # GET /projects/:id/merge_requests + # GET /projects/:id/merge_requests?state=opened + # GET /projects/:id/merge_requests?state=closed # get ":id/merge_requests" do authorize! :read_merge_request, user_project - present paginate(user_project.merge_requests), with: Entities::MergeRequest + mrs = case params["state"] + when "opened" then user_project.merge_requests.opened + when "closed" then user_project.merge_requests.closed + when "merged" then user_project.merge_requests.merged + else user_project.merge_requests + end + + present paginate(mrs), with: Entities::MergeRequest end # Show MR -- cgit v1.2.1