Read about our upcoming Code of Conduct on this issue

Commit f5997358 authored by James Lopez's avatar James Lopez
Browse files

refactor code based on feedback

parent 9eb13920ef5c
......@@ -191,8 +191,8 @@ def export
end
def download_export
if @project.export_project_object_exists?
send_upload(@project.import_export_upload.export_file)
if @project.export_project_exists?
send_upload(@project.export_file)
else
redirect_to(
edit_project_path(@project, anchor: 'js-export-project'),
......
......@@ -1738,7 +1738,7 @@ def export_status
:started
elsif after_export_in_progress?
:after_export_action
elsif export_project_object_exists?
elsif export_project_exists?
:finished
else
:none
......@@ -1754,14 +1754,18 @@ def after_export_in_progress?
end
def remove_exports
return unless export_project_object_exists?
return unless export_project_exists?
import_export_upload.remove_export_file!
import_export_upload.save
end
def export_project_object_exists?
import_export_upload&.export_file&.file
def export_project_exists?
export_file&.file
end
def export_file
import_export_upload&.export_file
end
def full_path_slug
......
......@@ -21,8 +21,8 @@ class ProjectExport < Grape::API
detail 'This feature was introduced in GitLab 10.6.'
end
get ':id/export/download' do
if user_project.export_project_object_exists?
present_carrierwave_file!(user_project.import_export_upload.export_file)
if user_project.export_project_exists?
present_carrierwave_file!(user_ project.export_file)
else
render_api_error!('404 Not found or has expired', 404)
end
......
......@@ -84,7 +84,7 @@ def log_validation_errors
end
def object_storage?
project.export_project_object_exists?
project.export_project_exists?
end
end
end
......
......@@ -44,7 +44,7 @@ def send_file
end
def export_file
project.import_export_upload.export_file.open
project.export_file.open
end
def send_file_options
......@@ -59,7 +59,7 @@ def headers
end
def export_size
project.import_export_upload.export_file.file.size
project.export_file.file.size
end
end
end
......
......@@ -18,7 +18,7 @@ def save
Rails.logger.info("Saved project export #{archive_file}")
save_on_object_storage
save_upload
else
@shared.error(Gitlab::ImportExport::Error.new(error_message))
false
......@@ -49,7 +49,7 @@ def archive_file
@archive_file ||= File.join(@shared.archive_path, Gitlab::ImportExport.export_filename(project: @project))
end
def save_on_object_storage
def save_upload
upload = ImportExportUpload.find_or_initialize_by(project: @project)
File.open(archive_file) { |file| upload.export_file = file }
......
......@@ -54,7 +54,7 @@ namespace :gitlab do
end
Projects::ImportExport::ExportService.new(project, admin).execute
download_or_copy_upload(project.import_export_upload.export_file, template.archive_path)
download_or_copy_upload( project.export_file, template.archive_path)
Projects::DestroyService.new(admin, project).execute
puts "Exported #{template.name}".green
end
......
......@@ -12,7 +12,7 @@
end
it 'returns if project exported file is not found' do
allow(project).to receive(:export_project_object_exists?).and_return(false)
allow(project).to receive(:export_project_exists?).and_return(false)
expect(service).not_to receive(:strategy_execute)
......
......@@ -2859,7 +2859,7 @@ def enable_lfs
it 'removes the export' do
project.remove_exports
expect(project.export_project_object_exists?).to be_falsey
expect(project.export_project_exists?).to be_falsey
end
end
......
......@@ -189,7 +189,7 @@
end
it 'has removed the export' do
expect(project_after_export.export_project_object_exists?).to be_falsey
expect(project_after_export.export_project_exists?).to be_falsey
end
it_behaves_like '404 response' do
......
......@@ -52,7 +52,7 @@ def setup_project
# Expands the compressed file for an exported project into +tmpdir+
def in_directory_with_expanded_export(project)
Dir.mktmpdir do |tmpdir|
export_file = project.import_export_upload.export_file.path
export_file = project.export_file.path
_output, exit_status = Gitlab::Popen.popen(%W{tar -zxf #{export_file} -C #{tmpdir}})
yield(exit_status, tmpdir)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment