diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-22 11:31:16 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-22 11:31:16 +0000 |
commit | 905c1110b08f93a19661cf42a276c7ea90d0a0ff (patch) | |
tree | 756d138db422392c00471ab06acdff92c5a9b69c /app/services/projects/import_export/export_service.rb | |
parent | 50d93f8d1686950fc58dda4823c4835fd0d8c14b (diff) | |
download | gitlab-ce-905c1110b08f93a19661cf42a276c7ea90d0a0ff.tar.gz |
Add latest changes from gitlab-org/gitlab@12-4-stable-ee
Diffstat (limited to 'app/services/projects/import_export/export_service.rb')
-rw-r--r-- | app/services/projects/import_export/export_service.rb | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/app/services/projects/import_export/export_service.rb b/app/services/projects/import_export/export_service.rb index 9c6d7ef41f6..d3638c57552 100644 --- a/app/services/projects/import_export/export_service.rb +++ b/app/services/projects/import_export/export_service.rb @@ -12,6 +12,8 @@ module Projects private + attr_accessor :shared + def execute_after_export_action(after_export_strategy) return unless after_export_strategy @@ -21,50 +23,54 @@ module Projects end def save_all! - if save_services - Gitlab::ImportExport::Saver.save(project: project, shared: @shared) + if save_exporters + Gitlab::ImportExport::Saver.save(project: project, shared: shared) notify_success else cleanup_and_notify_error! end end - def save_services - [version_saver, avatar_saver, project_tree_saver, uploads_saver, repo_saver, wiki_repo_saver, lfs_saver].all?(&:save) + def save_exporters + exporters.all?(&:save) + end + + def exporters + [version_saver, avatar_saver, project_tree_saver, uploads_saver, repo_saver, wiki_repo_saver, lfs_saver] end def version_saver - Gitlab::ImportExport::VersionSaver.new(shared: @shared) + Gitlab::ImportExport::VersionSaver.new(shared: shared) end def avatar_saver - Gitlab::ImportExport::AvatarSaver.new(project: project, shared: @shared) + Gitlab::ImportExport::AvatarSaver.new(project: project, shared: shared) end def project_tree_saver - Gitlab::ImportExport::ProjectTreeSaver.new(project: project, current_user: @current_user, shared: @shared, params: @params) + Gitlab::ImportExport::ProjectTreeSaver.new(project: project, current_user: current_user, shared: shared, params: params) end def uploads_saver - Gitlab::ImportExport::UploadsSaver.new(project: project, shared: @shared) + Gitlab::ImportExport::UploadsSaver.new(project: project, shared: shared) end def repo_saver - Gitlab::ImportExport::RepoSaver.new(project: project, shared: @shared) + Gitlab::ImportExport::RepoSaver.new(project: project, shared: shared) end def wiki_repo_saver - Gitlab::ImportExport::WikiRepoSaver.new(project: project, shared: @shared) + Gitlab::ImportExport::WikiRepoSaver.new(project: project, shared: shared) end def lfs_saver - Gitlab::ImportExport::LfsSaver.new(project: project, shared: @shared) + Gitlab::ImportExport::LfsSaver.new(project: project, shared: shared) end def cleanup_and_notify_error - Rails.logger.error("Import/Export - Project #{project.name} with ID: #{project.id} export error - #{@shared.errors.join(', ')}") # rubocop:disable Gitlab/RailsLogger + Rails.logger.error("Import/Export - Project #{project.name} with ID: #{project.id} export error - #{shared.errors.join(', ')}") # rubocop:disable Gitlab/RailsLogger - FileUtils.rm_rf(@shared.export_path) + FileUtils.rm_rf(shared.export_path) notify_error end @@ -72,7 +78,7 @@ module Projects def cleanup_and_notify_error! cleanup_and_notify_error - raise Gitlab::ImportExport::Error.new(@shared.errors.join(', ')) + raise Gitlab::ImportExport::Error.new(shared.errors.to_sentence) end def notify_success @@ -80,8 +86,10 @@ module Projects end def notify_error - notification_service.project_not_exported(@project, @current_user, @shared.errors) + notification_service.project_not_exported(project, current_user, shared.errors) end end end end + +Projects::ImportExport::ExportService.prepend_if_ee('EE::Projects::ImportExport::ExportService') |