diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/applications.rb | 3 | ||||
-rw-r--r-- | lib/api/entities.rb | 17 | ||||
-rw-r--r-- | lib/api/helpers.rb | 2 | ||||
-rw-r--r-- | lib/api/helpers/members_helpers.rb | 2 | ||||
-rw-r--r-- | lib/api/helpers/pagination_strategies.rb | 2 | ||||
-rw-r--r-- | lib/api/members.rb | 2 | ||||
-rw-r--r-- | lib/api/repositories.rb | 9 |
7 files changed, 24 insertions, 13 deletions
diff --git a/lib/api/applications.rb b/lib/api/applications.rb index 4e9843e17e8..70e6b8395d7 100644 --- a/lib/api/applications.rb +++ b/lib/api/applications.rb @@ -14,6 +14,9 @@ module API requires :name, type: String, desc: 'Application name' requires :redirect_uri, type: String, desc: 'Application redirect URI' requires :scopes, type: String, desc: 'Application scopes' + + optional :confidential, type: Boolean, default: true, + desc: 'Application will be used where the client secret is confidential' end post do application = Doorkeeper::Application.new(declared_params) diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 899418831bf..52ff819924b 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -1256,20 +1256,20 @@ module API end class Compare < Grape::Entity - expose :commit, using: Entities::Commit do |compare, options| - ::Commit.decorate(compare.commits, nil).last + expose :commit, using: Entities::Commit do |compare, _| + compare.commits.last end - expose :commits, using: Entities::Commit do |compare, options| - ::Commit.decorate(compare.commits, nil) + expose :commits, using: Entities::Commit do |compare, _| + compare.commits end - expose :diffs, using: Entities::Diff do |compare, options| - compare.diffs(limits: false).to_a + expose :diffs, using: Entities::Diff do |compare, _| + compare.diffs.diffs.to_a end - expose :compare_timeout do |compare, options| - compare.diffs.overflow? + expose :compare_timeout do |compare, _| + compare.diffs.diffs.overflow? end expose :same, as: :compare_same_ref @@ -1828,6 +1828,7 @@ module API expose :uid, as: :application_id expose :name, as: :application_name expose :redirect_uri, as: :callback_url + expose :confidential end # Use with care, this exposes the secret diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb index b2f5def4048..aa6071e6099 100644 --- a/lib/api/helpers.rb +++ b/lib/api/helpers.rb @@ -316,7 +316,7 @@ module API def order_options_with_tie_breaker order_options = { params[:order_by] => params[:sort] } - order_options['id'] ||= 'desc' + order_options['id'] ||= params[:sort] || 'asc' order_options end diff --git a/lib/api/helpers/members_helpers.rb b/lib/api/helpers/members_helpers.rb index d06c59907b4..5cc435e6801 100644 --- a/lib/api/helpers/members_helpers.rb +++ b/lib/api/helpers/members_helpers.rb @@ -46,7 +46,7 @@ module API end def present_members(members) - present members, with: Entities::Member, current_user: current_user + present members, with: Entities::Member, current_user: current_user, show_seat_info: params[:show_seat_info] end end end diff --git a/lib/api/helpers/pagination_strategies.rb b/lib/api/helpers/pagination_strategies.rb index 5f63635297a..6bebb4bfeac 100644 --- a/lib/api/helpers/pagination_strategies.rb +++ b/lib/api/helpers/pagination_strategies.rb @@ -26,7 +26,7 @@ module API private def keyset_pagination_enabled? - params[:pagination] == 'keyset' && Feature.enabled?(:api_keyset_pagination, default_enabled: true) + params[:pagination] == 'keyset' end end end diff --git a/lib/api/members.rb b/lib/api/members.rb index e4df2f341c6..2e49b4be45c 100644 --- a/lib/api/members.rb +++ b/lib/api/members.rb @@ -19,6 +19,7 @@ module API params do optional :query, type: String, desc: 'A query string to search for members' optional :user_ids, type: Array[Integer], desc: 'Array of user ids to look up for membership' + optional :show_seat_info, type: Boolean, desc: 'Show seat information for members' use :optional_filter_params_ee use :pagination end @@ -37,6 +38,7 @@ module API params do optional :query, type: String, desc: 'A query string to search for members' optional :user_ids, type: Array[Integer], desc: 'Array of user ids to look up for membership' + optional :show_seat_info, type: Boolean, desc: 'Show seat information for members' use :pagination end diff --git a/lib/api/repositories.rb b/lib/api/repositories.rb index 4106a2cdf38..00473db1ff1 100644 --- a/lib/api/repositories.rb +++ b/lib/api/repositories.rb @@ -103,8 +103,13 @@ module API optional :straight, type: Boolean, desc: 'Comparison method, `true` for direct comparison between `from` and `to` (`from`..`to`), `false` to compare using merge base (`from`...`to`)', default: false end get ':id/repository/compare' do - compare = Gitlab::Git::Compare.new(user_project.repository.raw_repository, params[:from], params[:to], straight: params[:straight]) - present compare, with: Entities::Compare + compare = CompareService.new(user_project, params[:to]).execute(user_project, params[:from], straight: params[:straight]) + + if compare + present compare, with: Entities::Compare + else + not_found!("Ref") + end end desc 'Get repository contributors' do |