about summary refs log tree commit diff
path: root/app/serializers/rest
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2023-01-23 13:05:30 +0100
committerGitHub <noreply@github.com>2023-01-23 13:05:30 +0100
commit448be26b34c965fcae65eb4c5227b35d97120537 (patch)
tree6aa1ea8bbfffcfcd42aea10c9bc473d1d0e40c79 /app/serializers/rest
parent9b795a25cd7a014d8c08cc213031b55dff83bb69 (diff)
Add missing `policy` attribute to `WebPushSubscriptionSerializer` (#23210)
* Add missing `policy` attribute to `WebPushSubscriptionSerializer`

Fixes #23145

* Add tests
Diffstat (limited to 'app/serializers/rest')
-rw-r--r--app/serializers/rest/web_push_subscription_serializer.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/serializers/rest/web_push_subscription_serializer.rb b/app/serializers/rest/web_push_subscription_serializer.rb
index 194cc0a8c..674a2d5a8 100644
--- a/app/serializers/rest/web_push_subscription_serializer.rb
+++ b/app/serializers/rest/web_push_subscription_serializer.rb
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 class REST::WebPushSubscriptionSerializer < ActiveModel::Serializer
-  attributes :id, :endpoint, :alerts, :server_key
+  attributes :id, :endpoint, :alerts, :server_key, :policy
 
   def alerts
     (object.data&.dig('alerts') || {}).each_with_object({}) { |(k, v), h| h[k] = ActiveModel::Type::Boolean.new.cast(v) }
@@ -10,4 +10,8 @@ class REST::WebPushSubscriptionSerializer < ActiveModel::Serializer
   def server_key
     Rails.configuration.x.vapid_public_key
   end
+
+  def policy
+    object.data&.dig('policy') || 'all'
+  end
 end