Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib/api
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-04-13 21:10:39 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-04-13 21:10:39 +0400
commit53b52b11d5cbaa32f98c267eb53b4b7c928a92c4 (patch)
tree49cfa37aad6bbf696da7c80fd966718a7b302da6 /lib/api
parent481bbd753416d14dbfbfe342856792bd51e0090f (diff)
parent66209fbc7668b5b64b34c2997185223891211829 (diff)
Merge pull request #6699 from criteo/api_get_open_merge_requests
Add optional parameter to list merge requests
Diffstat (limited to 'lib/api')
-rw-r--r--lib/api/merge_requests.rb12
1 files changed, 11 insertions, 1 deletions
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