19 lines
664 B
Ruby
19 lines
664 B
Ruby
|
# 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
|