Add REST API for Web Push Notifications subscriptions (#7445)
- POST /api/v1/push/subscription - PUT /api/v1/push/subscription - DELETE /api/v1/push/subscription - New OAuth scope: "push" (required for the above methods)
This commit is contained in:
@ -2,7 +2,9 @@
|
||||
|
||||
class InitialStateSerializer < ActiveModel::Serializer
|
||||
attributes :meta, :compose, :accounts,
|
||||
:media_attachments, :settings, :push_subscription
|
||||
:media_attachments, :settings
|
||||
|
||||
has_one :push_subscription, serializer: REST::WebPushSubscriptionSerializer
|
||||
|
||||
def meta
|
||||
store = {
|
||||
|
13
app/serializers/rest/web_push_subscription_serializer.rb
Normal file
13
app/serializers/rest/web_push_subscription_serializer.rb
Normal file
@ -0,0 +1,13 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class REST::WebPushSubscriptionSerializer < ActiveModel::Serializer
|
||||
attributes :id, :endpoint, :alerts, :server_key
|
||||
|
||||
def alerts
|
||||
object.data&.dig('alerts') || {}
|
||||
end
|
||||
|
||||
def server_key
|
||||
Rails.configuration.x.vapid_public_key
|
||||
end
|
||||
end
|
@ -54,7 +54,7 @@ class Web::NotificationSerializer < ActiveModel::Serializer
|
||||
|
||||
def access_token
|
||||
return if actions.empty?
|
||||
current_push_subscription.access_token
|
||||
current_push_subscription.associated_access_token
|
||||
end
|
||||
|
||||
def message
|
||||
|
Reference in New Issue
Block a user