Packages
step_flow
1.9.0-rc1
1.9.0-rc2
1.9.0-rc1
1.9.0-rc0
1.8.2
1.8.1
1.8.1-rc8
1.8.1-rc7
1.8.1-rc6
1.8.1-rc5
1.8.1-rc4
1.8.1-rc3
1.8.1-rc2
1.8.1-rc1
1.8.1-rc0
1.8.0
1.8.0-rc3
1.8.0-rc2
1.8.0-rc1
1.8.0-rc0
1.7.3
1.7.3-rc4
1.7.3-rc3
1.7.3-rc2
1.7.3-rc1
1.7.3-rc0
1.7.2
1.7.2-rc4
1.7.2-rc3
1.7.2-rc2
1.7.2-rc1
1.7.2-rc0
1.7.1
1.7.0
1.7.0-rc1
1.7.0-rc0
1.6.1
1.6.1-rc1
1.6.1-rc0
1.6.0
1.6.0-rc9
1.6.0-rc8
1.6.0-rc7
1.6.0-rc6
1.6.0-rc5
1.6.0-rc4
1.6.0-rc3
1.6.0-rc20
1.6.0-rc2
1.6.0-rc19
1.6.0-rc18
1.6.0-rc17
1.6.0-rc16
1.6.0-rc15
1.6.0-rc14
1.6.0-rc13
1.6.0-rc12
1.6.0-rc11
1.6.0-rc10
1.6.0-rc1
1.5.0
1.5.0-rc1
1.4.2-rc2
1.4.2-rc1
1.4.1
1.4.1-rc1
1.4.0
1.4.0-rc4
1.4.0-rc3
1.4.0-rc2
1.4.0-rc1
1.3.1
1.3.0
1.3.0-rc
1.2.0
1.1.0
1.0.0
1.0.0-rc9
1.0.0-rc8
1.0.0-rc7
1.0.0-rc6
1.0.0-rc5
1.0.0-rc1
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.4
0.0.3
0.0.2
0.0.1
Step flow manager for Elixir applications
Current section
Files
Jump to
Current section
Files
lib/step_flow/web_controllers/worker_definition.ex
defmodule StepFlow.WebController.WorkerDefinition do
use StepFlow, :controller
use OpenApiSpex.ControllerSpecs
alias StepFlow.WebController.OpenApiSchemas
alias StepFlow.WorkerDefinitions
alias StepFlow.WorkerDefinitions.WorkerDefinition
@moduledoc false
tags ["Worker Definitions"]
security [%{"authorization" => %OpenApiSpex.SecurityScheme{type: "http", scheme: "bearer"}}]
action_fallback(StepFlow.WebController.Fallback)
operation :index,
summary: "List worker definitions",
description: "List worker definitions",
type: :object,
responses: [
ok: {"WorkerDefinitions", "application/json", OpenApiSchemas.Workers.WorkerDefinitions},
forbidden: "Forbidden"
]
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
operation :create,
summary: "Create worker definition",
description: "Create a worker definition",
type: :object,
request_body:
{"WorkerDefinition", "application/json", OpenApiSchemas.Workers.WorkerDefinition},
responses: [
ok: {"WorkerDefinition", "application/json", OpenApiSchemas.Workers.WorkerDefinition},
forbidden: "Forbidden",
not_found: "Not Found"
]
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
operation :show,
summary: "Get worker definition (identifier)",
description: "Get a worker definition by identifier",
type: :object,
parameters: [
id: [
in: :path,
description: "Worker identifier",
type: :string,
example: "my_worker"
]
],
responses: [
ok: {"WorkerDefinition", "application/json", OpenApiSchemas.Workers.WorkerDefinition},
forbidden: "Forbidden",
not_found: "Not Found"
]
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