summaryrefslogtreecommitdiff
path: root/app/controllers/projects/analytics/cycle_analytics/stages_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/projects/analytics/cycle_analytics/stages_controller.rb')
-rw-r--r--app/controllers/projects/analytics/cycle_analytics/stages_controller.rb37
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