summaryrefslogtreecommitdiff
path: root/app/models/project_export_job.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-12 09:09:55 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-12 09:09:55 +0000
commit18f7828977b74bf6e5153594a098ef90e773b3b7 (patch)
tree49cb1e16d5341d773807ee583357ae6eb167d61f /app/models/project_export_job.rb
parent8191b1571c017378eac33b3ed296ad5216d0a410 (diff)
downloadgitlab-ce-18f7828977b74bf6e5153594a098ef90e773b3b7.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models/project_export_job.rb')
-rw-r--r--app/models/project_export_job.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/models/project_export_job.rb b/app/models/project_export_job.rb
new file mode 100644
index 00000000000..c7fe3d7bc10
--- /dev/null
+++ b/app/models/project_export_job.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+class ProjectExportJob < ApplicationRecord
+ belongs_to :project
+
+ validates :project, :jid, :status, presence: true
+
+ state_machine :status, initial: :queued do
+ event :start do
+ transition [:queued] => :started
+ end
+
+ event :finish do
+ transition [:started] => :finished
+ end
+
+ event :fail_op do
+ transition [:queued, :started] => :failed
+ end
+
+ state :queued, value: 0
+ state :started, value: 1
+ state :finished, value: 2
+ state :failed, value: 3
+ end
+end