Packages
step_flow
1.6.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/router.ex
defmodule StepFlow.Router do
use StepFlow, :router
pipeline :api do
plug(Plug.Parsers,
parsers: [:json],
pass: ["application/json"],
json_decoder: Jason
)
end
@version Mix.Project.config()[:version]
pipe_through(:api)
get("/", StepFlow.IndexController, :index)
# Roles and rights APIs
resources("/roles", StepFlow.RoleController, except: [:new, :edit])
get("/right_definitions", StepFlow.RightDefinitionController, :index)
# Workflow definitions APIs
resources("/definitions", StepFlow.WorkflowDefinitionController,
except: [:new, :edit, :delete, :update]
)
# Workflows APIs
resources "/workflows", StepFlow.WorkflowController, except: [:new, :edit] do
post("/events", StepFlow.WorkflowEventsController, :handle)
end
get("/workflows_status", StepFlow.WorkflowStatusController, :list)
post("/launch_workflow", StepFlow.WorkflowController, :create)
get("/workflows_statistics", StepFlow.WorkflowController, :statistics)
# Statistics APIs
get("/durations/jobs", StepFlow.DurationsController, :list_jobs_durations)
get("/durations/workflows", StepFlow.DurationsController, :list_workflows_durations)
get(
"/statistics/durations/workflows",
StepFlow.StatisticsController,
:get_workflows_duration_statistics
)
get(
"/statistics/durations/jobs",
StepFlow.StatisticsController,
:get_jobs_duration_statistics
)
# Jobs APIs
resources("/jobs", StepFlow.JobController, except: [:new, :edit, :delete, :update])
# Workers APIs
resources("/worker_definitions", StepFlow.WorkerDefinitionController,
except: [:new, :edit, :delete, :update]
)
# Live Workers APIs
get("/live_workers", StepFlow.LiveWorkersController, :index)
# Workers APIs
resources("/workers", StepFlow.WorkersController, only: [:index, :show, :update])
# Metrics APIs
get("/metrics", StepFlow.MetricController, :index)
scope "/swagger" do
forward("/", PhoenixSwagger.Plug.SwaggerUI,
otp_app: :step_flow,
swagger_file: "step_flow_swagger.json"
)
end
get("/*path", StepFlow.IndexController, :not_found)
def swagger_info do
%{
info: %{
version: @version,
title: "Step Flow"
}
}
end
end