defmodule StepFlow.WorkerDefinitionController do
use StepFlow, :controller
alias StepFlow.WorkerDefinitions
alias StepFlow.WorkerDefinitions.WorkerDefinition
action_fallback(StepFlow.FallbackController)
def index(conn, params) do
worker_definitions = WorkerDefinitions.list_worker_definitions(params)
conn
|> put_view(StepFlow.WorkerDefinitionView)
|> render("index.json", worker_definitions: worker_definitions)
end
def create(conn, workflow_params) do
case WorkerDefinitions.create_worker_definition(workflow_params) do
{:ok, %WorkerDefinition{} = worker_definition} ->
conn
|> put_status(:created)
|> put_view(StepFlow.WorkerDefinitionView)
|> render("show.json", worker_definition: worker_definition)
{:error, changeset} ->
conn
|> put_status(:unprocessable_entity)
|> put_view(StepFlow.ChangesetView)
|> render("error.json", changeset: changeset)
end
end
def show(conn, %{"id" => id}) do
worker_definition = WorkerDefinitions.get_worker_definition!(id)
conn
|> put_view(StepFlow.WorkerDefinitionView)
|> render("show.json", worker_definition: worker_definition)
end
end