Feature: User Notification Objects (#752)
Co-authored-by: Pranav Raj S <pranavrajs@gmail.com>
This commit is contained in:
20
app/services/notification/email_notification_service.rb
Normal file
20
app/services/notification/email_notification_service.rb
Normal 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
|
||||
17
app/services/notification/push_notification_service.rb
Normal file
17
app/services/notification/push_notification_service.rb
Normal 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
|
||||
Reference in New Issue
Block a user