diff options
Diffstat (limited to 'app/controllers/projects/analytics/cycle_analytics/stages_controller.rb')
-rw-r--r-- | app/controllers/projects/analytics/cycle_analytics/stages_controller.rb | 37 |
1 files changed, 11 insertions, 26 deletions
diff --git a/app/controllers/projects/analytics/cycle_analytics/stages_controller.rb b/app/controllers/projects/analytics/cycle_analytics/stages_controller.rb index 7b4f6739a9b..2f9d70fede1 100644 --- a/app/controllers/projects/analytics/cycle_analytics/stages_controller.rb +++ b/app/controllers/projects/analytics/cycle_analytics/stages_controller.rb @@ -1,6 +1,9 @@ # frozen_string_literal: true class Projects::Analytics::CycleAnalytics::StagesController < Projects::ApplicationController + include ::Analytics::CycleAnalytics::StageActions + extend ::Gitlab::Utils::Override + respond_to :json feature_category :planning_analytics @@ -8,37 +11,19 @@ class Projects::Analytics::CycleAnalytics::StagesController < Projects::Applicat before_action :authorize_read_cycle_analytics! before_action :only_default_value_stream_is_allowed! - def index - result = list_service.execute - - if result.success? - render json: cycle_analytics_configuration(result.payload[:stages]) - else - render json: { message: result.message }, status: result.http_status - end - end - private - def only_default_value_stream_is_allowed! - render_404 if params[:value_stream_id] != Analytics::CycleAnalytics::Stages::BaseService::DEFAULT_VALUE_STREAM_NAME + override :parent + def parent + @project end - def value_stream - Analytics::CycleAnalytics::ProjectValueStream.build_default_value_stream(@project) + override :value_stream_class + def value_stream_class + Analytics::CycleAnalytics::ProjectValueStream end - def list_params - { value_stream: value_stream } - end - - def list_service - Analytics::CycleAnalytics::Stages::ListService.new(parent: @project, current_user: current_user, params: list_params) - end - - def cycle_analytics_configuration(stages) - stage_presenters = stages.map { |s| ::Analytics::CycleAnalytics::StagePresenter.new(s) } - - Analytics::CycleAnalytics::ConfigurationEntity.new(stages: stage_presenters) + def only_default_value_stream_is_allowed! + render_404 if params[:value_stream_id] != Analytics::CycleAnalytics::Stages::BaseService::DEFAULT_VALUE_STREAM_NAME end end |