1# frozen_string_literal: true 2 3module API 4 class DependencyProxy < ::API::Base 5 helpers ::API::Helpers::PackagesHelpers 6 7 feature_category :dependency_proxy 8 9 after_validation do 10 authorize! :admin_group, user_group 11 end 12 13 params do 14 requires :id, type: String, desc: 'The ID of a group' 15 end 16 resource :groups, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do 17 desc 'Deletes all dependency_proxy_blobs for a group' do 18 detail 'This feature was introduced in GitLab 12.10' 19 end 20 delete ':id/dependency_proxy/cache' do 21 not_found! unless user_group.dependency_proxy_feature_available? 22 23 # rubocop:disable CodeReuse/Worker 24 PurgeDependencyProxyCacheWorker.perform_async(current_user.id, user_group.id) 25 # rubocop:enable CodeReuse/Worker 26 27 status :accepted 28 end 29 end 30 end 31end 32