summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-05-04 11:05:21 +0200
committerJames Lopez <james@jameslopez.es>2016-05-04 11:05:21 +0200
commit6cf88ce4808b78aca6a225272e105ebce88a1d76 (patch)
tree7a5875c6e80f597314ee879da5786c8092291546 /app
parentbd2ebf37e6c5aa07f8d29f4ac8c88fc8333a2297 (diff)
parent1ff7735906811ceb0e598dca4607b11cfaa9e8d3 (diff)
downloadgitlab-ce-6cf88ce4808b78aca6a225272e105ebce88a1d76.tar.gz
Merge branches 'feature/project-export-ui-experimental' and 'feature/project-import' of gitlab.com:gitlab-org/gitlab-ce into feature/project-export-ui-experimental
Diffstat (limited to 'app')
-rw-r--r--app/models/project.rb10
-rw-r--r--app/workers/project_export_worker.rb13
-rw-r--r--app/workers/project_import_worker.rb2
3 files changed, 24 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 3e782be637e..0b5e72152cb 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1044,4 +1044,14 @@ class Project < ActiveRecord::Base
def wiki
@wiki ||= ProjectWiki.new(self, self.owner)
end
+
+ def add_export_job(current_user_id:)
+ job_id = ProjectExportWorker.perform_async(current_user_id, self.id)
+
+ if job_id
+ Rails.logger.info "Export job started for project ID #{self.id} with job ID #{job_id}"
+ else
+ Rails.logger.error "Export job failed to start for project ID #{self.id}"
+ end
+ end
end
diff --git a/app/workers/project_export_worker.rb b/app/workers/project_export_worker.rb
new file mode 100644
index 00000000000..a1add5395b7
--- /dev/null
+++ b/app/workers/project_export_worker.rb
@@ -0,0 +1,13 @@
+class ProjectExportWorker
+ include Sidekiq::Worker
+
+ # TODO: enabled retry - disabled for QA purposes
+ sidekiq_options queue: :gitlab_shell, retry: false
+
+ def perform(current_user_id, project_id)
+ current_user = User.find(current_user_id)
+ project = Project.find(project_id)
+ ::Projects::ImportExport::ExportService.new(project, current_user).execute
+ # TODO : Handle errors
+ end
+end
diff --git a/app/workers/project_import_worker.rb b/app/workers/project_import_worker.rb
index 0e8b9552442..aaa59f79d7f 100644
--- a/app/workers/project_import_worker.rb
+++ b/app/workers/project_import_worker.rb
@@ -1,7 +1,7 @@
class ProjectImportWorker
include Sidekiq::Worker
- include Gitlab::ShellAdapter
+ # TODO: enabled retry - disabled for QA purposes
sidekiq_options queue: :gitlab_shell, retry: false
def perform(current_user_id, tmp_file, namespace_id, path)