Merge branch '21666-provision-test-improvement'
[arvados.git] / services / api / app / models / workflow.rb
index f78691492787734c362e9482aff7132238e50ff1..0268c4e9797195c79668bd9b6b16244468f3502d 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class Workflow < ArvadosModel
   include HasUuid
   include KindAndEtag
@@ -14,7 +18,7 @@ class Workflow < ArvadosModel
 
   def validate_definition
     begin
-      @definition_yaml = YAML.load self.definition if !definition.nil?
+      @definition_yaml = YAML.safe_load self.definition if !definition.nil?
     rescue => e
       errors.add :definition, "is not valid yaml: #{e.message}"
     end
@@ -23,7 +27,7 @@ class Workflow < ArvadosModel
   def set_name_and_description
     old_wf = {}
     begin
-      old_wf = YAML.load self.definition_was if !self.definition_was.nil?
+      old_wf = YAML.safe_load self.definition_was if !self.definition_was.nil?
     rescue => e
       logger.warn "set_name_and_description error: #{e.message}"
       return
@@ -39,4 +43,12 @@ class Workflow < ArvadosModel
       end
     end
   end
+
+  def self.full_text_searchable_columns
+    super - ["definition"]
+  end
+
+  def self.limit_index_columns_read
+    ["definition"]
+  end
 end