debian-mirror-gitlab/app/serializers/rollout_status_entity.rb
2023-06-20 00:43:36 +05:30

19 lines
659 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