Feature: User Notification Objects (#752)

Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
This commit is contained in:
Sojan Jose
2020-05-01 14:53:43 +05:30
committed by GitHub
parent 66aace7c13
commit 96da27f1f6
35 changed files with 461 additions and 110 deletions

View File

@@ -0,0 +1,20 @@
class Notification::EmailNotificationService
pattr_initialize [:notification!]
def perform
return unless user_subscribed_to_notification?
# TODO : Clean up whatever happening over here
AgentNotifications::ConversationNotificationsMailer.public_send(notification
.notification_type.to_s, notification.primary_actor, notification.user).deliver_later
end
private
def user_subscribed_to_notification?
notification_setting = notification.user.notification_settings.find_by(account_id: notification.account.id)
return true if notification_setting.public_send("email_#{notification.notification_type}?")
false
end
end

View File

@@ -0,0 +1,17 @@
class Notification::PushNotificationService
pattr_initialize [:notification!]
def perform
return unless user_subscribed_to_notification?
# TODO: implement the push delivery logic here
end
private
def user_subscribed_to_notification?
notification_setting = notification.user.notification_settings.find_by(account_id: notification.account.id)
return true if notification_setting.public_send("push_#{notification.notification_type}?")
false
end
end