mastodon/app/serializers/rest/web_push_subscription_serializer.rb
S1m 4a2813158d
Add support for standard webpush (#33528)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2025-01-14 09:14:00 +00:00

20 lines
477 B
Ruby

# frozen_string_literal: true
class REST::WebPushSubscriptionSerializer < ActiveModel::Serializer
attributes :id, :endpoint, :standard, :alerts, :server_key, :policy
delegate :standard, to: :object
def alerts
(object.data&.dig('alerts') || {}).each_with_object({}) { |(k, v), h| h[k] = ActiveModel::Type::Boolean.new.cast(v) }
end
def server_key
Rails.configuration.x.vapid_public_key
end
def policy
object.data&.dig('policy') || 'all'
end
end