diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-20 18:42:06 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-20 18:42:06 +0000 |
commit | 6e4e1050d9dba2b7b2523fdd1768823ab85feef4 (patch) | |
tree | 78be5963ec075d80116a932011d695dd33910b4e /app/serializers/import | |
parent | 1ce776de4ae122aba3f349c02c17cebeaa8ecf07 (diff) | |
download | gitlab-ce-6e4e1050d9dba2b7b2523fdd1768823ab85feef4.tar.gz |
Add latest changes from gitlab-org/gitlab@13-3-stable-ee
Diffstat (limited to 'app/serializers/import')
3 files changed, 29 insertions, 0 deletions
diff --git a/app/serializers/import/bitbucket_server_provider_repo_entity.rb b/app/serializers/import/bitbucket_server_provider_repo_entity.rb index d818cac46cd..7c619cf4ebe 100644 --- a/app/serializers/import/bitbucket_server_provider_repo_entity.rb +++ b/app/serializers/import/bitbucket_server_provider_repo_entity.rb @@ -1,6 +1,10 @@ # frozen_string_literal: true class Import::BitbucketServerProviderRepoEntity < Import::BitbucketProviderRepoEntity + expose :id, override: true do |repo| + "#{repo.project_key}/#{repo.slug}" + end + expose :provider_link, override: true do |repo, options| repo.browse_url end diff --git a/app/serializers/import/manifest_provider_repo_entity.rb b/app/serializers/import/manifest_provider_repo_entity.rb new file mode 100644 index 00000000000..5da9aae80a8 --- /dev/null +++ b/app/serializers/import/manifest_provider_repo_entity.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +class Import::ManifestProviderRepoEntity < Import::BaseProviderRepoEntity + expose :id + expose :full_name, override: true do |repo| + repo[:url] + end + + expose :provider_link, override: true do |repo| + repo[:url] + end + + expose :target do |repo, options| + import_project_target(options[:group_full_path], repo[:path], options[:request].current_user) + end + + private + + def import_project_target(owner, name, user) + namespace = user.can_create_group? ? owner : user.namespace_path + "#{namespace}/#{name}" + end +end diff --git a/app/serializers/import/provider_repo_serializer.rb b/app/serializers/import/provider_repo_serializer.rb index 5a9549d79aa..edd1a260146 100644 --- a/app/serializers/import/provider_repo_serializer.rb +++ b/app/serializers/import/provider_repo_serializer.rb @@ -14,6 +14,8 @@ class Import::ProviderRepoSerializer < BaseSerializer Import::BitbucketServerProviderRepoEntity when :gitlab Import::GitlabProviderRepoEntity + when :manifest + Import::ManifestProviderRepoEntity else raise NotImplementedError end |