Packages
step_flow
1.7.2
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/statistics.ex
defmodule StepFlow.WebController.Statistics do
use StepFlow, :controller
use OpenApiSpex.ControllerSpecs
alias StepFlow.Controllers.Statistics.Durations
alias StepFlow.WebController.OpenApiSchemas
@moduledoc false
tags ["Statistics"]
security [%{"authorization" => %OpenApiSpex.SecurityScheme{type: "http", scheme: "bearer"}}]
operation :get_workflows_duration_statistics,
summary: "List workflows duration statistics",
description: "List durations statistics of all workflows",
type: :object,
responses: [
ok: {"Durations", "application/json", OpenApiSchemas.Statistics.JobsDurationStatistics},
forbidden: "Forbidden"
]
def get_workflows_duration_statistics(
%Plug.Conn{assigns: %{current_user: user}} = conn,
params \\ %{}
) do
duration_statistics =
params
|> Map.put("roles", user.roles)
|> Durations.get_workflows_duration_statistics()
conn
|> put_view(StepFlow.DurationStatisticsView)
|> render("index.json", duration_statistics: duration_statistics)
end
operation :get_jobs_duration_statistics,
summary: "List jobs duration",
description: "List durations of all jobs",
type: :object,
responses: [
ok:
{"Durations", "application/json", OpenApiSchemas.Statistics.WorkflowsDurationStatistics},
forbidden: "Forbidden"
]
def get_jobs_duration_statistics(
%Plug.Conn{assigns: %{current_user: user}} = conn,
params \\ %{}
) do
duration_statistics =
params
|> Map.put("roles", user.roles)
|> Durations.get_jobs_duration_statistics()
conn
|> put_view(StepFlow.DurationStatisticsView)
|> render("index.json", duration_statistics: duration_statistics)
end
end