Class: Tasker::WorkflowStepsController

Inherits:
ApplicationController show all
Includes:
PageSort
Defined in:
app/controllers/tasker/workflow_steps_controller.rb

Instance Method Summary collapse

Methods included from PageSort

#build_page_sort_params, #page_sort_params

Instance Method Details

#destroyObject

DELETE /workflow_steps/1



39
40
41
42
43
# File 'app/controllers/tasker/workflow_steps_controller.rb', line 39

def destroy
  # Use state machine to transition step to cancelled
  @workflow_step.state_machine.transition_to!(Constants::WorkflowStepStatuses::CANCELLED)
  render(status: :ok, json: { cancelled: true })
end

#indexObject

GET /workflow_steps



15
16
17
18
19
20
21
# File 'app/controllers/tasker/workflow_steps_controller.rb', line 15

def index
  @workflow_steps =
    query_base.limit(page_sort_params[:limit]).offset(page_sort_params[:offset]).order(page_sort_params[:order]).all

  render(json: @workflow_steps, status: :ok, adapter: :json, root: :steps,
         each_serializer: Tasker::WorkflowStepSerializer)
end

#showObject

GET /workflow_steps/1



24
25
26
# File 'app/controllers/tasker/workflow_steps_controller.rb', line 24

def show
  render(json: @workflow_step, status: :ok, adapter: :json, root: :step, serializer: Tasker::WorkflowStepSerializer)
end

#updateObject

PATCH/PUT /workflow_steps/1



29
30
31
32
33
34
35
36
# File 'app/controllers/tasker/workflow_steps_controller.rb', line 29

def update
  if @workflow_step.update(workflow_step_params)
    render(json: @workflow_step, status: :ok, adapter: :json, root: :step,
           serializer: Tasker::WorkflowStepSerializer)
  else
    render(json: { error: @workflow_step.errors }, status: :unprocessable_entity)
  end
end