summaryrefslogtreecommitdiff
path: root/app/services/packages/pypi
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-09-19 01:45:44 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-09-19 01:45:44 +0000
commit85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch)
tree9160f299afd8c80c038f08e1545be119f5e3f1e1 /app/services/packages/pypi
parent15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff)
downloadgitlab-ce-85dc423f7090da0a52c73eb66faf22ddb20efff9.tar.gz
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'app/services/packages/pypi')
-rw-r--r--app/services/packages/pypi/create_package_service.rb17
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