14873: Custom JSON attributes that default to [] or {} when nil.
[arvados.git] / services / api / app / models / job_task.rb
index 89328ded046858accf70f179e6af9ae00f9e6fd4..a960186502c2b410fe7abbe6c477a35690150bae 100644 (file)
@@ -1,8 +1,13 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class JobTask < ArvadosModel
   include HasUuid
   include KindAndEtag
   include CommonApiTemplate
   serialize :parameters, Hash
+  before_create :set_default_qsequence
   after_update :delete_created_job_tasks_if_failed
 
   api_accessible :user, extend: :common do |t|
@@ -14,6 +19,8 @@ class JobTask < ArvadosModel
     t.add :output
     t.add :progress
     t.add :success
+    t.add :started_at
+    t.add :finished_at
   end
 
   protected
@@ -23,4 +30,9 @@ class JobTask < ArvadosModel
       JobTask.delete_all ['created_by_job_task_uuid = ?', self.uuid]
     end
   end
+
+  def set_default_qsequence
+    self.qsequence ||= self.class.connection.
+      select_value("SELECT nextval('job_tasks_qsequence_seq')")
+  end
 end