Class: Ecoportal::API::GraphQL::Input::WorkflowCommand

Inherits:
Object
  • Object
show all
Defined in:
lib/ecoportal/api/graphql/input/workflow_command.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_task.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_field.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_force.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_stage.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_page.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_force.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_stage.rb,
lib/ecoportal/api/graphql/input/workflow_command/move_field.rb,
lib/ecoportal/api/graphql/input/workflow_command/move_stage.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_binding.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_section.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_task.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_binding.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_trigger.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_field.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_force.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_stage.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_operation.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_stage_tag.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_reminder.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_task_due.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_action_tag.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_operation.rb,
lib/ecoportal/api/graphql/input/workflow_command/expand_section.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_binding.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_section.rb,
lib/ecoportal/api/graphql/input/workflow_command/reorder_forces.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_callback.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_task_due.rb,
lib/ecoportal/api/graphql/input/workflow_command/reorder_section.rb,
lib/ecoportal/api/graphql/input/workflow_command/collapse_section.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_operation.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_stage_tag.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_linked_helper.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_stage_section.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/date.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_action_tag.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_recipient_user.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_linked_helper.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/gauge.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/table.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_section_header.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/people.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/select.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_default_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_gauge_field_stop.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_recipient_filter.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_linked_helper.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_stage_section.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_workflow_callback.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_default_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_gauge_field_stop.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_user.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_operation_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/rich_text.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/signature.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_linked_field_config.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_select_field_option.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_operation_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_required_sign_offs.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_scheduled_callback.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/plain_text.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_default_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_gauge_field_stop.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_filter.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_direct_strategy_user.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_creator_permissions.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_field_configuration.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_linked_field_config.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_select_field_option.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_recipient_action_type.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_recipient_task_config.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_operation_strategy.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_scheduled_callback.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_recipient_people_field.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/image_gallery.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_linked_field_config.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_select_field_option.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_task_priority_level.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/location_field.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_direct_strategy_user.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/cross_reference.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_action_type.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_task_config.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback_action.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_page_creator_permissions.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_comment_tagging.rb,
lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_task_assignment.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_people_field.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_comment_tagging_user_group.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_task_assignment_user_group.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_default_direct_strategy_user.rb,
lib/ecoportal/api/graphql/input/workflow_command/field_config/contractor_entities.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_comment_tagging_user_group.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_task_assignment_user_group.rb,
lib/ecoportal/api/graphql/input/workflow_command/add_operation_direct_strategy_user.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_default_direct_strategy_user.rb,
lib/ecoportal/api/graphql/input/workflow_command/remove_operation_direct_strategy_user.rb

Defined Under Namespace

Modules: AddActionTag, AddBinding, AddCommentTaggingUserGroup, AddDefaultDirectStrategyUser, AddDefaultStrategy, AddDirectStrategyUser, AddField, AddForce, AddGaugeFieldStop, AddLinkedFieldConfig, AddLinkedHelper, AddOperation, AddOperationDirectStrategyUser, AddOperationStrategy, AddRecipientActionType, AddRecipientFilter, AddRecipientPeopleField, AddRecipientTaskConfig, AddRecipientUser, AddScheduledCallback, AddScheduledCallbackAction, AddSection, AddSelectFieldOption, AddStage, AddStageSection, AddStageTag, AddStrategy, AddTask, AddTaskAssignmentUserGroup, AddWorkflowCallback, CollapseSection, EditBinding, EditCreatorPermissions, EditDefaultStrategy, EditFieldConfiguration, EditForce, EditGaugeFieldStop, EditLinkedFieldConfig, EditLinkedHelper, EditOperation, EditOperationStrategy, EditPage, EditPageCreatorPermissions, EditReminder, EditRequiredSignOffs, EditRestrictCommentTagging, EditRestrictTaskAssignment, EditScheduledCallback, EditSectionHeader, EditSelectFieldOption, EditStage, EditStrategy, EditTaskDue, EditTrigger, ExpandSection, MoveField, MoveStage, RemoveActionTag, RemoveBinding, RemoveCallback, RemoveCommentTaggingUserGroup, RemoveDefaultDirectStrategyUser, RemoveDefaultStrategy, RemoveDirectStrategyUser, RemoveField, RemoveForce, RemoveGaugeFieldStop, RemoveLinkedFieldConfig, RemoveLinkedHelper, RemoveOperation, RemoveOperationDirectStrategyUser, RemoveOperationStrategy, RemoveRecipientActionType, RemoveRecipientFilter, RemoveRecipientPeopleField, RemoveRecipientTaskConfig, RemoveRecipientUser, RemoveScheduledCallback, RemoveSection, RemoveSelectFieldOption, RemoveStage, RemoveStageSection, RemoveStageTag, RemoveStrategy, RemoveTask, RemoveTaskAssignmentUserGroup, RemoveTaskDue, RemoveTaskPriorityLevel, ReorderForces, ReorderSection

Constant Summary collapse

SCHEMA_VERSION =
'20260605'.freeze
COMMAND_MAP =
{
  # Page-level
  editPage:                          'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditPage',
  editPageCreatorPermissions:        'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditPageCreatorPermissions',
  # Stage structural
  addStage:                          'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddStage',
  removeStage:                       'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveStage',
  editStage:                         'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditStage',
  moveStage:                         'Ecoportal::API::GraphQL::Input::WorkflowCommand::MoveStage',
  # Stage permissions
  editCreatorPermissions:            'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditCreatorPermissions',
  editRestrictCommentTagging:        'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditRestrictCommentTagging',
  addCommentTaggingUserGroup:        'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddCommentTaggingUserGroup',
  removeCommentTaggingUserGroup:     'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveCommentTaggingUserGroup',
  editRestrictTaskAssignment:        'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditRestrictTaskAssignment',
  addTaskAssignmentUserGroup:        'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddTaskAssignmentUserGroup',
  removeTaskAssignmentUserGroup:     'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveTaskAssignmentUserGroup',
  addStageTag:                       'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddStageTag',
  removeStageTag:                    'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveStageTag',
  # Section
  addSection:                        'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddSection',
  removeSection:                     'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveSection',
  addStageSection:                   'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddStageSection',
  removeStageSection:                'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveStageSection',
  editSectionHeader:                 'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditSectionHeader',
  collapseSection:                   'Ecoportal::API::GraphQL::Input::WorkflowCommand::CollapseSection',
  expandSection:                     'Ecoportal::API::GraphQL::Input::WorkflowCommand::ExpandSection',
  reorderSection:                    'Ecoportal::API::GraphQL::Input::WorkflowCommand::ReorderSection',
  # Task
  addTask:                           'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddTask',
  removeTask:                        'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveTask',
  editTaskDue:                       'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditTaskDue',
  removeTaskDue:                     'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveTaskDue',
  removeTaskPriorityLevel:           'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveTaskPriorityLevel',
  editRequiredSignOffs:              'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditRequiredSignOffs',
  # Strategy (default)
  addDefaultStrategy:                'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddDefaultStrategy',
  editDefaultStrategy:               'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditDefaultStrategy',
  removeDefaultStrategy:             'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveDefaultStrategy',
  addDefaultDirectStrategyUser:      'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddDefaultDirectStrategyUser',
  removeDefaultDirectStrategyUser:   'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveDefaultDirectStrategyUser',
  # Strategy (task)
  addStrategy:                       'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddStrategy',
  editStrategy:                      'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditStrategy',
  removeStrategy:                    'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveStrategy',
  addDirectStrategyUser:             'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddDirectStrategyUser',
  removeDirectStrategyUser:          'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveDirectStrategyUser',
  # Strategy (operation)
  addOperationStrategy:              'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddOperationStrategy',
  editOperationStrategy:             'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditOperationStrategy',
  removeOperationStrategy:           'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveOperationStrategy',
  addOperationDirectStrategyUser:    'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddOperationDirectStrategyUser',
  removeOperationDirectStrategyUser: 'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveOperationDirectStrategyUser',
  # Callbacks
  addWorkflowCallback:               'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddWorkflowCallback',
  removeCallback:                    'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveCallback',
  editTrigger:                       'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditTrigger',
  # Operations
  addOperation:                      'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddOperation',
  editOperation:                     'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditOperation',
  removeOperation:                   'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveOperation',
  # Recipients
  addRecipientUser:                  'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddRecipientUser',
  removeRecipientUser:               'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveRecipientUser',
  addRecipientPeopleField:           'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddRecipientPeopleField',
  removeRecipientPeopleField:        'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveRecipientPeopleField',
  addRecipientTaskConfig:            'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddRecipientTaskConfig',
  removeRecipientTaskConfig:         'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveRecipientTaskConfig',
  addRecipientActionType:            'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddRecipientActionType',
  removeRecipientActionType:         'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveRecipientActionType',
  addRecipientFilter:                'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddRecipientFilter',
  removeRecipientFilter:             'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveRecipientFilter',
  # Scheduled
  addScheduledCallback:              'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddScheduledCallback',
  editScheduledCallback:             'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditScheduledCallback',
  removeScheduledCallback:           'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveScheduledCallback',
  addScheduledCallbackAction:        'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddScheduledCallbackAction',
  editReminder:                      'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditReminder',
  addActionTag:                      'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddActionTag',
  removeActionTag:                   'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveActionTag',
  # Fields structural
  addField:                          'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddField',
  moveField:                         'Ecoportal::API::GraphQL::Input::WorkflowCommand::MoveField',
  removeField:                       'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveField',
  # Field config
  editFieldConfiguration:            'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditFieldConfiguration',
  # Select options
  addSelectFieldOption:              'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddSelectFieldOption',
  editSelectFieldOption:             'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditSelectFieldOption',
  removeSelectFieldOption:           'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveSelectFieldOption',
  # Gauge stops
  addGaugeFieldStop:                 'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddGaugeFieldStop',
  editGaugeFieldStop:                'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditGaugeFieldStop',
  removeGaugeFieldStop:              'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveGaugeFieldStop',
  # Linked fields
  addLinkedFieldConfig:              'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddLinkedFieldConfig',
  editLinkedFieldConfig:             'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditLinkedFieldConfig',
  removeLinkedFieldConfig:           'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveLinkedFieldConfig',
  # Forces
  addForce:                          'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddForce',
  removeForce:                       'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveForce',
  editForce:                         'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditForce',
  reorderForces:                     'Ecoportal::API::GraphQL::Input::WorkflowCommand::ReorderForces',
  addBinding:                        'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddBinding',
  editBinding:                       'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditBinding',
  removeBinding:                     'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveBinding',
  addLinkedHelper:                   'Ecoportal::API::GraphQL::Input::WorkflowCommand::AddLinkedHelper',
  editLinkedHelper:                  'Ecoportal::API::GraphQL::Input::WorkflowCommand::EditLinkedHelper',
  removeLinkedHelper:                'Ecoportal::API::GraphQL::Input::WorkflowCommand::RemoveLinkedHelper'
}.freeze

Class Method Summary collapse

Class Method Details

.build(command_key, **kwargs) ⇒ Object



119
120
121
122
123
# File 'lib/ecoportal/api/graphql/input/workflow_command.rb', line 119

def self.build(command_key, **kwargs)
  validate_key!(command_key)
  sub_mod = Object.const_get(COMMAND_MAP[command_key])
  { command_key => sub_mod.build(**kwargs) }
end

.build_commands(commands_spec) ⇒ Object



129
130
131
132
133
134
135
136
137
# File 'lib/ecoportal/api/graphql/input/workflow_command.rb', line 129

def self.build_commands(commands_spec)
  commands_spec.map do |spec|
    if spec.keys.size == 1 && COMMAND_MAP.key?(spec.keys.first)
      build(spec.keys.first, **spec.values.first)
    else
      spec
    end
  end
end

.valid_key?(key) ⇒ Boolean

Returns:

  • (Boolean)


125
126
127
# File 'lib/ecoportal/api/graphql/input/workflow_command.rb', line 125

def self.valid_key?(key)
  COMMAND_MAP.key?(key)
end