From 9a940dabf04df126e7978c0ab4b8770b86dcaaa8 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 7 Dec 2023 15:12:19 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- app/services/packages/mark_package_for_destruction_service.rb | 1 + app/services/packages/mark_packages_for_destruction_service.rb | 10 ++++++++++ 2 files changed, 11 insertions(+) (limited to 'app/services/packages') diff --git a/app/services/packages/mark_package_for_destruction_service.rb b/app/services/packages/mark_package_for_destruction_service.rb index 8ccc242ae36..b41f1c0a291 100644 --- a/app/services/packages/mark_package_for_destruction_service.rb +++ b/app/services/packages/mark_package_for_destruction_service.rb @@ -11,6 +11,7 @@ module Packages package.mark_package_files_for_destruction package.sync_maven_metadata(current_user) + package.sync_npm_metadata_cache service_response_success('Package was successfully marked as pending destruction') rescue StandardError => e diff --git a/app/services/packages/mark_packages_for_destruction_service.rb b/app/services/packages/mark_packages_for_destruction_service.rb index ade9ad2c974..2c81a52ea24 100644 --- a/app/services/packages/mark_packages_for_destruction_service.rb +++ b/app/services/packages/mark_packages_for_destruction_service.rb @@ -43,6 +43,7 @@ module Packages .update_all(status: :pending_destruction) sync_maven_metadata(loaded_packages) + sync_npm_metadata(loaded_packages) mark_package_files_for_destruction(loaded_packages) end @@ -73,6 +74,15 @@ module Packages ) end + def sync_npm_metadata(packages) + npm_packages = packages.select(&:npm?) + ::Packages::Npm::CreateMetadataCacheWorker.bulk_perform_async_with_contexts( + npm_packages, + arguments_proc: -> (package) { [package.project_id, package.name] }, + context_proc: -> (package) { { project: package.project, user: @current_user } } + ) + end + def can_destroy_packages?(packages) packages.all? do |package| can?(@current_user, :destroy_package, package) -- cgit v1.2.3