diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-26 21:08:38 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-26 21:08:38 +0000 |
commit | 936d15143b786f841bf0ee8e2458215ee010f33e (patch) | |
tree | f850c872c4d0328358ebdec10a343e8c63e519ce /lib/api | |
parent | f57f1c6cd8a89454bb8a4a1b965738dcc8007d5d (diff) | |
download | gitlab-ce-936d15143b786f841bf0ee8e2458215ee010f33e.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/api')
-rw-r--r-- | lib/api/api.rb | 1 | ||||
-rw-r--r-- | lib/api/concerns/packages/debian_distribution_endpoints.rb | 4 | ||||
-rw-r--r-- | lib/api/debian_group_packages.rb | 2 | ||||
-rw-r--r-- | lib/api/group_debian_distributions.rb | 35 | ||||
-rw-r--r-- | lib/api/project_debian_distributions.rb | 2 |
5 files changed, 41 insertions, 3 deletions
diff --git a/lib/api/api.rb b/lib/api/api.rb index 0a8a9682f35..40f1b2fa9d3 100644 --- a/lib/api/api.rb +++ b/lib/api/api.rb @@ -188,6 +188,7 @@ module API mount ::API::GroupMilestones mount ::API::Groups mount ::API::GroupContainerRepositories + mount ::API::GroupDebianDistributions mount ::API::GroupVariables mount ::API::ImportBitbucketServer mount ::API::ImportGithub diff --git a/lib/api/concerns/packages/debian_distribution_endpoints.rb b/lib/api/concerns/packages/debian_distribution_endpoints.rb index 4670c3e3521..798e583b87a 100644 --- a/lib/api/concerns/packages/debian_distribution_endpoints.rb +++ b/lib/api/concerns/packages/debian_distribution_endpoints.rb @@ -80,6 +80,8 @@ module API use :optional_distribution_params end get '/' do + authorize_read_package!(project_or_group) + distribution_params = declared_params(include_missing: false) distributions = ::Packages::Debian::DistributionsFinder.new(project_or_group, distribution_params).execute @@ -96,6 +98,8 @@ module API requires :codename, type: String, regexp: Gitlab::Regex.debian_distribution_regex, desc: 'The Debian Codename' end get '/:codename' do + authorize_read_package!(project_or_group) + distribution = ::Packages::Debian::DistributionsFinder.new(project_or_group, codename: params[:codename]).execute.last! present distribution, with: ::API::Entities::Packages::Debian::Distribution diff --git a/lib/api/debian_group_packages.rb b/lib/api/debian_group_packages.rb index 191ed42a5b8..d4bf440051a 100644 --- a/lib/api/debian_group_packages.rb +++ b/lib/api/debian_group_packages.rb @@ -18,7 +18,7 @@ module API before do require_packages_enabled! - not_found! unless ::Feature.enabled?(:debian_packages, user_group) + not_found! unless ::Feature.enabled?(:debian_group_packages, user_group) authorize_read_package!(user_group) end diff --git a/lib/api/group_debian_distributions.rb b/lib/api/group_debian_distributions.rb new file mode 100644 index 00000000000..01a8774bd97 --- /dev/null +++ b/lib/api/group_debian_distributions.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module API + class GroupDebianDistributions < ::API::Base + params do + requires :id, type: String, desc: 'The ID of a group' + end + + resource :groups, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do + rescue_from ArgumentError do |e| + render_api_error!(e.message, 400) + end + + rescue_from ActiveRecord::RecordInvalid do |e| + render_api_error!(e.message, 400) + end + + after_validation do + require_packages_enabled! + + not_found! unless ::Feature.enabled?(:debian_group_packages, user_group) + end + + namespace ':id/-' do + helpers do + def project_or_group + user_group + end + end + + include ::API::Concerns::Packages::DebianDistributionEndpoints + end + end + end +end diff --git a/lib/api/project_debian_distributions.rb b/lib/api/project_debian_distributions.rb index 58edf51f4f7..f057251fb6b 100644 --- a/lib/api/project_debian_distributions.rb +++ b/lib/api/project_debian_distributions.rb @@ -19,8 +19,6 @@ module API require_packages_enabled! not_found! unless ::Feature.enabled?(:debian_packages, user_project) - - authorize_read_package! end namespace ':id' do |