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
diff options
context:
space:
mode:
authorhaseeb <haseebeqx@gmail.com>2017-12-14 16:42:15 +0300
committerRémy Coutable <remy@rymai.me>2017-12-14 16:42:15 +0300
commite7b40c2f6e79e3f32e45baa5a037e14e02f7165d (patch)
treed219c4ac6db4ab4fc243ad10444c998251f56175 /lib/api/tags.rb
parentb0bc676f209257115a16a0ba6fa736a97693c6fe (diff)
sorting for tags api
Diffstat (limited to 'lib/api/tags.rb')
-rw-r--r--lib/api/tags.rb7
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