diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
commit | 85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch) | |
tree | 9160f299afd8c80c038f08e1545be119f5e3f1e1 /app/services/packages/pypi/create_package_service.rb | |
parent | 15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff) | |
download | gitlab-ce-85dc423f7090da0a52c73eb66faf22ddb20efff9.tar.gz |
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'app/services/packages/pypi/create_package_service.rb')
-rw-r--r-- | app/services/packages/pypi/create_package_service.rb | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/app/services/packages/pypi/create_package_service.rb b/app/services/packages/pypi/create_package_service.rb index 1313fc80e33..c49efca0fc5 100644 --- a/app/services/packages/pypi/create_package_service.rb +++ b/app/services/packages/pypi/create_package_service.rb @@ -2,16 +2,22 @@ module Packages module Pypi - class CreatePackageService < BaseService + class CreatePackageService < ::Packages::CreatePackageService include ::Gitlab::Utils::StrongMemoize def execute ::Packages::Package.transaction do - Packages::Pypi::Metadatum.upsert( - package_id: created_package.id, + meta = Packages::Pypi::Metadatum.new( + package: created_package, required_python: params[:requires_python] ) + unless meta.valid? + raise ActiveRecord::RecordInvalid.new(meta) + end + + Packages::Pypi::Metadatum.upsert(meta.attributes) + ::Packages::CreatePackageFileService.new(created_package, file_params).execute end end @@ -20,10 +26,7 @@ module Packages def created_package strong_memoize(:created_package) do - project - .packages - .pypi - .safe_find_or_create_by!(name: params[:name], version: params[:version]) + find_or_create_package!(:pypi) end end |