diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-20 18:40:28 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-07-20 18:40:28 +0300 |
commit | b595cb0c1dec83de5bdee18284abe86614bed33b (patch) | |
tree | 8c3d4540f193c5ff98019352f554e921b3a41a72 /app/serializers/stage_entity.rb | |
parent | 2f9104a328fc8a4bddeaa4627b595166d24671d0 (diff) |
Add latest changes from gitlab-org/gitlab@15-2-stable-eev15.2.0-rc42
Diffstat (limited to 'app/serializers/stage_entity.rb')
-rw-r--r-- | app/serializers/stage_entity.rb | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/app/serializers/stage_entity.rb b/app/serializers/stage_entity.rb index 548ff577863..f278ccfce73 100644 --- a/app/serializers/stage_entity.rb +++ b/app/serializers/stage_entity.rb @@ -50,14 +50,6 @@ class StageEntity < Grape::Entity stage.detailed_status(request.current_user) end - def grouped_statuses - @grouped_statuses ||= stage.statuses.latest_ordered.group_by(&:status) - end - - def grouped_retried_statuses - @grouped_retried_statuses ||= stage.statuses.retried_ordered.group_by(&:status) - end - def latest_statuses Ci::HasStatus::ORDERED_STATUSES.flat_map do |ordered_status| grouped_statuses.fetch(ordered_status, []) @@ -69,4 +61,18 @@ class StageEntity < Grape::Entity grouped_retried_statuses.fetch(ordered_status, []) end end + + def grouped_statuses + @grouped_statuses ||= preload_metadata(stage.statuses.latest_ordered).group_by(&:status) + end + + def grouped_retried_statuses + @grouped_retried_statuses ||= preload_metadata(stage.statuses.retried_ordered).group_by(&:status) + end + + def preload_metadata(statuses) + Preloaders::CommitStatusPreloader.new(statuses).execute([:metadata]) + + statuses + end end |