diff options
author | haseeb <haseebeqx@gmail.com> | 2017-12-14 13:42:15 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-12-14 13:42:15 +0000 |
commit | e7b40c2f6e79e3f32e45baa5a037e14e02f7165d (patch) | |
tree | d219c4ac6db4ab4fc243ad10444c998251f56175 /lib/api/tags.rb | |
parent | b0bc676f209257115a16a0ba6fa736a97693c6fe (diff) | |
download | gitlab-ce-e7b40c2f6e79e3f32e45baa5a037e14e02f7165d.tar.gz |
sorting for tags api
Diffstat (limited to 'lib/api/tags.rb')
-rw-r--r-- | lib/api/tags.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/api/tags.rb b/lib/api/tags.rb index 0d394a7b441..5e0afc6a7e4 100644 --- a/lib/api/tags.rb +++ b/lib/api/tags.rb @@ -14,10 +14,15 @@ module API success Entities::Tag end params do + optional :sort, type: String, values: %w[asc desc], default: 'desc', + desc: 'Return tags sorted in updated by `asc` or `desc` order.' + optional :order_by, type: String, values: %w[name updated], default: 'updated', + desc: 'Return tags ordered by `name` or `updated` fields.' use :pagination end get ':id/repository/tags' do - tags = ::Kaminari.paginate_array(user_project.repository.tags.sort_by(&:name).reverse) + tags = ::Kaminari.paginate_array(::TagsFinder.new(user_project.repository, sort: "#{params[:order_by]}_#{params[:sort]}").execute) + present paginate(tags), with: Entities::Tag, project: user_project end |