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

rollout_status_entity.rb « serializers « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9f4c844859bb233ce6769f5f930dda2d40fe7969 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# frozen_string_literal: true

class RolloutStatusEntity < Grape::Entity
  include RequestAwareEntity

  expose :status, as: :status

  # To be removed in API v5
  expose :has_legacy_app_label do |_rollout_status|
    false
  end

  expose :instances, if: -> (rollout_status, _) { rollout_status.found? }
  expose :completion, if: -> (rollout_status, _) { rollout_status.found? }
  expose :complete?, as: :is_completed, if: -> (rollout_status, _) { rollout_status.found? }
  expose :canary_ingress, using: RolloutStatuses::IngressEntity, expose_nil: false,
         if: -> (rollout_status, _) { rollout_status.found? && rollout_status.canary_ingress_exists? }
end