Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-06-21 03:08:43 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-06-21 03:08:43 +0300
commit92ea86691a2a6b3df4b36c7ff00001410303a701 (patch)
tree9b3764b56303c9b65e17007c589a297775834b28 /app/serializers/stage_entity.rb
parent991c66333dc7bdb0fd6f7a0b7f7bdf8383285975 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/serializers/stage_entity.rb')
-rw-r--r--app/serializers/stage_entity.rb22
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