Feature: Add web push notification permission in frontend (#766)

Add webpush notification permission in frontend

Co-authored-by: Sojan <sojan@pepalo.com>
This commit is contained in:
Pranav Raj S
2020-05-06 00:10:56 +05:30
committed by GitHub
parent 5bd7a4c511
commit e9131ea558
37 changed files with 651 additions and 318 deletions

View File

@@ -19,6 +19,7 @@ class AgentBot < ApplicationRecord
def push_event_data
{
id: id,
name: name,
avatar_url: avatar_url,
type: 'agent_bot'

View File

@@ -41,7 +41,9 @@ class Notification < ApplicationRecord
private
def process_notification_delivery
Notification::EmailNotificationService.new(notification: self).perform
# Notification::PushNotificationService.new(notification: self).perform
Notification::PushNotificationJob.perform_later(self)
# Queuing after 2 minutes so that we won't send emails for read notifications
Notification::EmailNotificationJob.set(wait: 2.minutes).perform_later(self)
end
end

View File

@@ -3,6 +3,7 @@
# Table name: notification_subscriptions
#
# id :bigint not null, primary key
# identifier :string
# subscription_attributes :jsonb not null
# subscription_type :integer not null
# created_at :datetime not null
@@ -11,11 +12,13 @@
#
# Indexes
#
# index_notification_subscriptions_on_user_id (user_id)
# index_notification_subscriptions_on_identifier (identifier) UNIQUE
# index_notification_subscriptions_on_user_id (user_id)
#
class NotificationSubscription < ApplicationRecord
belongs_to :user
validates :identifier, presence: true
SUBSCRIPTION_TYPES = {
browser_push: 1,

View File

@@ -128,6 +128,7 @@ class User < ApplicationRecord
def push_event_data
{
id: id,
name: name,
avatar_url: avatar_url,
type: 'user'