summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/api/merge_requests.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb
index 8726379bf3c..afe85623c0f 100644
--- a/lib/api/merge_requests.rb
+++ b/lib/api/merge_requests.rb
@@ -25,6 +25,10 @@ module API
# GET /projects/:id/merge_requests
# GET /projects/:id/merge_requests?state=opened
# GET /projects/:id/merge_requests?state=closed
+ # GET /projects/:id/merge_requests?order_by=created_at
+ # GET /projects/:id/merge_requests?order_by=created_at
+ # GET /projects/:id/merge_requests?sort=desc
+ # GET /projects/:id/merge_requests?sort=asc
#
get ":id/merge_requests" do
authorize! :read_merge_request, user_project
@@ -36,6 +40,16 @@ module API
else user_project.merge_requests
end
+ sort = case params["sort"]
+ when 'desc' then 'DESC'
+ else 'ASC'
+ end
+
+ mrs = case params["order_by"]
+ when 'updated_at' then mrs.order("updated_at #{sort}")
+ else mrs.order("created_at #{sort}")
+ end
+
present paginate(mrs), with: Entities::MergeRequest
end