2018-05-11 12:49:12 +03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class REST::WebPushSubscriptionSerializer < ActiveModel::Serializer
|
2023-01-23 14:05:30 +02:00
|
|
|
attributes :id, :endpoint, :alerts, :server_key, :policy
|
2018-05-11 12:49:12 +03:00
|
|
|
|
|
|
|
def alerts
|
2019-07-21 19:10:07 +03:00
|
|
|
(object.data&.dig('alerts') || {}).each_with_object({}) { |(k, v), h| h[k] = ActiveModel::Type::Boolean.new.cast(v) }
|
2018-05-11 12:49:12 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
def server_key
|
|
|
|
Rails.configuration.x.vapid_public_key
|
|
|
|
end
|
2023-01-23 14:05:30 +02:00
|
|
|
|
|
|
|
def policy
|
|
|
|
object.data&.dig('policy') || 'all'
|
|
|
|
end
|
2018-05-11 12:49:12 +03:00
|
|
|
end
|