diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-01-06 21:13:45 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-01-06 21:13:45 +0300 |
commit | c38fb401d2e0348c0dbfd415c9818444dbe4951c (patch) | |
tree | aee27d8fd8758356c73b6654011effa270eb0f3a /app/presenters/packages | |
parent | f20be8802a40405885e9421417809438e5772bf5 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/presenters/packages')
5 files changed, 38 insertions, 5 deletions
diff --git a/app/presenters/packages/conan/package_presenter.rb b/app/presenters/packages/conan/package_presenter.rb index df770777ad1..49f3c79a31a 100644 --- a/app/presenters/packages/conan/package_presenter.rb +++ b/app/presenters/packages/conan/package_presenter.rb @@ -80,7 +80,13 @@ module Packages def package_files return unless @package - @package_files ||= @package.package_files.preload_conan_file_metadata + strong_memoize(:package_files) do + if Feature.enabled?(:packages_installable_package_files) + @package.installable_package_files.preload_conan_file_metadata + else + @package.package_files.preload_conan_file_metadata + end + end end def matching_reference?(package_file) diff --git a/app/presenters/packages/detail/package_presenter.rb b/app/presenters/packages/detail/package_presenter.rb index 59e50b96ab2..2a410002696 100644 --- a/app/presenters/packages/detail/package_presenter.rb +++ b/app/presenters/packages/detail/package_presenter.rb @@ -15,7 +15,7 @@ module Packages id: @package.id, created_at: @package.created_at, name: name, - package_files: @package.package_files.map { |pf| build_package_file_view(pf) }, + package_files: package_file_views, package_type: @package.package_type, status: @package.status, project_id: @package.project_id, @@ -38,6 +38,16 @@ module Packages private + def package_file_views + package_files = if Feature.enabled?(:packages_installable_package_files) + @package.installable_package_files + else + @package.package_files + end + + package_files.map { |pf| build_package_file_view(pf) } + end + def build_package_file_view(package_file) file_view = { created_at: package_file.created_at, diff --git a/app/presenters/packages/npm/package_presenter.rb b/app/presenters/packages/npm/package_presenter.rb index c30dfa6196b..6fb64970872 100644 --- a/app/presenters/packages/npm/package_presenter.rb +++ b/app/presenters/packages/npm/package_presenter.rb @@ -26,7 +26,11 @@ module Packages .preload_npm_metadatum batched_packages.each do |package| - package_file = package.package_files.last + package_file = if Feature.enabled?(:packages_installable_package_files) + package.installable_package_files.last + else + package.package_files.last + end next unless package_file diff --git a/app/presenters/packages/nuget/presenter_helpers.rb b/app/presenters/packages/nuget/presenter_helpers.rb index 09bf1e009a6..1f0a64e4e6e 100644 --- a/app/presenters/packages/nuget/presenter_helpers.rb +++ b/app/presenters/packages/nuget/presenter_helpers.rb @@ -27,12 +27,19 @@ module Packages end def archive_url_for(package) + package_files = if Feature.enabled?(:packages_installable_package_files) + package.installable_package_files + else + package.package_files + end + + package_filename = package_files.with_format(NUGET_PACKAGE_FORMAT).last&.file_name path = api_v4_projects_packages_nuget_download_package_name_package_version_package_filename_path( { id: package.project_id, package_name: package.name, package_version: package.version, - package_filename: package.package_files.with_format(NUGET_PACKAGE_FORMAT).last&.file_name + package_filename: package_filename }, true ) diff --git a/app/presenters/packages/pypi/package_presenter.rb b/app/presenters/packages/pypi/package_presenter.rb index 7997c1b9b79..a14e0f99cd9 100644 --- a/app/presenters/packages/pypi/package_presenter.rb +++ b/app/presenters/packages/pypi/package_presenter.rb @@ -36,7 +36,13 @@ module Packages refs = [] @packages.map do |package| - package.package_files.each do |file| + package_files = if Feature.enabled?(:packages_installable_package_files) + package.installable_package_files + else + package.package_files + end + + package_files.each do |file| url = build_pypi_package_path(file) refs << package_link(url, package.pypi_metadatum.required_python, file.file_name) |