X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f824f854b26dbf5e6c1d10dc3eb4689349dd71fe..c7dfdc3f58e993abad5ef7fb898ac137cca62e02:/services/api/app/models/workflow.rb diff --git a/services/api/app/models/workflow.rb b/services/api/app/models/workflow.rb index ea3e985a4e..94890c6632 100644 --- a/services/api/app/models/workflow.rb +++ b/services/api/app/models/workflow.rb @@ -1,29 +1,33 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + class Workflow < ArvadosModel include HasUuid include KindAndEtag include CommonApiTemplate - validate :validate_workflow + validate :validate_definition before_save :set_name_and_description api_accessible :user, extend: :common do |t| t.add :name t.add :description - t.add :workflow + t.add :definition end - def validate_workflow + def validate_definition begin - @workflow_yaml = YAML.load self.workflow if !workflow.nil? + @definition_yaml = YAML.load self.definition if !definition.nil? rescue => e - errors.add :workflow, "is not valid yaml: #{e.message}" + errors.add :definition, "is not valid yaml: #{e.message}" end end def set_name_and_description old_wf = {} begin - old_wf = YAML.load self.workflow_was if !self.workflow_was.nil? + old_wf = YAML.load self.definition_was if !self.definition_was.nil? rescue => e logger.warn "set_name_and_description error: #{e.message}" return @@ -33,10 +37,18 @@ class Workflow < ArvadosModel if !self.changes.include?(a) v = self.read_attribute(a) if !v.present? or v == old_wf[a] - val = @workflow_yaml[a] if self.workflow and @workflow_yaml + val = @definition_yaml[a] if self.definition and @definition_yaml self[a] = val end end end end + + def self.full_text_searchable_columns + super - ["definition"] + end + + def self.limit_index_columns_read + ["definition"] + end end