2021-06-02 17:11:27 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Ci
|
|
|
|
class StagePresenter < Gitlab::View::Presenter::Delegated
|
2021-11-18 22:05:49 +05:30
|
|
|
presents ::Ci::Stage, as: :stage
|
2021-06-02 17:11:27 +05:30
|
|
|
|
2021-11-11 11:23:49 +05:30
|
|
|
PRELOADED_RELATIONS = [:pipeline, :metadata, :tags, :job_artifacts_archive, :downstream_pipeline].freeze
|
|
|
|
|
2021-06-02 17:11:27 +05:30
|
|
|
def latest_ordered_statuses
|
|
|
|
preload_statuses(stage.statuses.latest_ordered)
|
|
|
|
end
|
|
|
|
|
|
|
|
def retried_ordered_statuses
|
|
|
|
preload_statuses(stage.statuses.retried_ordered)
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def preload_statuses(statuses)
|
2021-11-11 11:23:49 +05:30
|
|
|
Preloaders::CommitStatusPreloader.new(statuses).execute(PRELOADED_RELATIONS)
|
2021-06-02 17:11:27 +05:30
|
|
|
|
2021-11-11 11:23:49 +05:30
|
|
|
statuses
|
2021-06-02 17:11:27 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|