diff options
Diffstat (limited to 'app/serializers/rollout_status_entity.rb')
-rw-r--r-- | app/serializers/rollout_status_entity.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/serializers/rollout_status_entity.rb b/app/serializers/rollout_status_entity.rb new file mode 100644 index 00000000000..9f4c844859b --- /dev/null +++ b/app/serializers/rollout_status_entity.rb @@ -0,0 +1,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 |