~cytrogen/masto-fe

ref: fbfceb9c77b7163806ae82d588c7b2c1077b15c6 masto-fe/app/serializers/rest/web_push_subscription_serializer.rb -rw-r--r-- 431 bytes
fbfceb9c — Emelia Smith Add additional metrics for streaming (#26945) 2 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# frozen_string_literal: true

class REST::WebPushSubscriptionSerializer < ActiveModel::Serializer
  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) }
  end

  def server_key
    Rails.configuration.x.vapid_public_key
  end

  def policy
    object.data&.dig('policy') || 'all'
  end
end