diff options
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 |