feat: Notification on new messages in conversation (#1204)

fixes: #895
fixes: #1118
fixes: #1075

Co-authored-by: Pranav Raj S <pranav@thoughtwoot.com>
This commit is contained in:
Sojan Jose
2020-09-10 19:19:15 +05:30
committed by GitHub
parent 3b92c744d6
commit 31c07771e8
36 changed files with 259 additions and 94 deletions

View File

@@ -31,7 +31,8 @@ class Notification < ApplicationRecord
NOTIFICATION_TYPES = {
conversation_creation: 1,
conversation_assignment: 2
conversation_assignment: 2,
assigned_conversation_new_message: 3
}.freeze
enum notification_type: NOTIFICATION_TYPES
@@ -64,6 +65,8 @@ class Notification < ApplicationRecord
return "A new conversation [ID -#{primary_actor.display_id}] has been assigned to you." if notification_type == 'conversation_assignment'
return "New message in your assigned conversation [ID -#{primary_actor.display_id}]." if notification_type == 'assigned_conversation_new_message'
''
end
@@ -71,6 +74,7 @@ class Notification < ApplicationRecord
def process_notification_delivery
Notification::PushNotificationJob.perform_later(self)
# Should we do something about the case where user subscribed to both push and email ?
# In future, we could probably add condition here to enqueue the job for 30 seconds later
# when push enabled and then check in email job whether notification has been read already.