diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-16 00:09:35 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-16 00:09:35 +0300 |
commit | 7dc8bd3c16a6f8367fdee691711d3313e2efc3c6 (patch) | |
tree | 86108a4c223fd6f0d0c461446e243c413723d1f0 /app/presenters/packages | |
parent | f784f7d3b19fe80834240bde23d1300accb01118 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/presenters/packages')
-rw-r--r-- | app/presenters/packages/conan/package_presenter.rb | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/app/presenters/packages/conan/package_presenter.rb b/app/presenters/packages/conan/package_presenter.rb index a14c6b28017..df770777ad1 100644 --- a/app/presenters/packages/conan/package_presenter.rb +++ b/app/presenters/packages/conan/package_presenter.rb @@ -3,6 +3,7 @@ module Packages module Conan class PackagePresenter + include API::Helpers::Packages::Conan::ApiHelpers include API::Helpers::RelatedResourcesHelpers include Gitlab::Utils::StrongMemoize @@ -17,7 +18,10 @@ module Packages def recipe_urls map_package_files do |package_file| - build_recipe_file_url(package_file) if package_file.conan_file_metadatum.recipe_file? + next unless package_file.conan_file_metadatum.recipe_file? + + options = url_options(package_file) + recipe_file_url(options) end end @@ -31,7 +35,12 @@ module Packages map_package_files do |package_file| next unless package_file.conan_file_metadatum.package_file? && matching_reference?(package_file) - build_package_file_url(package_file) + options = url_options(package_file).merge( + conan_package_reference: package_file.conan_file_metadatum.conan_package_reference, + package_revision: package_file.conan_file_metadatum.package_revision + ) + + package_file_url(options) end end @@ -45,36 +54,21 @@ module Packages private - def build_recipe_file_url(package_file) - expose_url( - api_v4_packages_conan_v1_files_export_path( - package_name: @package.name, - package_version: @package.version, - package_username: @package.conan_metadatum.package_username, - package_channel: @package.conan_metadatum.package_channel, - recipe_revision: package_file.conan_file_metadatum.recipe_revision, - file_name: package_file.file_name - ) - ) - end - - def build_package_file_url(package_file) - expose_url( - api_v4_packages_conan_v1_files_package_path( - package_name: @package.name, - package_version: @package.version, - package_username: @package.conan_metadatum.package_username, - package_channel: @package.conan_metadatum.package_channel, - recipe_revision: package_file.conan_file_metadatum.recipe_revision, - conan_package_reference: package_file.conan_file_metadatum.conan_package_reference, - package_revision: package_file.conan_file_metadatum.package_revision, - file_name: package_file.file_name - ) - ) + def url_options(package_file) + { + package_name: @package.name, + package_version: @package.version, + package_username: @package.conan_metadatum.package_username, + package_channel: @package.conan_metadatum.package_channel, + file_name: package_file.file_name, + recipe_revision: package_file.conan_file_metadatum.recipe_revision.presence || ::Packages::Conan::FileMetadatum::DEFAULT_RECIPE_REVISION + } end def map_package_files package_files.to_a.map do |package_file| + next unless package_file.conan_file_metadatum + key = package_file.file_name value = yield(package_file) next unless key && value |