diff options
Diffstat (limited to 'lib/api')
-rw-r--r-- | lib/api/merge_requests.rb | 14 |
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 |