Chatwoot/app/views/api/v1/accounts/notifications/index.json.jbuilder

30 lines
1.2 KiB
Ruby

json.data do
json.meta do
json.unread_count @unread_count
json.count @count
json.current_page @current_page
end
json.payload do
json.array! @notifications do |notification|
json.id notification.id
json.notification_type notification.notification_type
json.push_message_title notification.push_message_title
# TODO: front end assumes primary actor to be conversation. should fix in future
if %w[assigned_conversation_new_message conversation_mention].include? notification.notification_type
json.primary_actor_type 'Conversation'
json.primary_actor_id notification.conversation.id
json.primary_actor notification.conversation.push_event_data
else
json.primary_actor_type notification.primary_actor_type
json.primary_actor_id notification.primary_actor_id
json.primary_actor notification.primary_actor.push_event_data
end
json.read_at notification.read_at
# Secondary actor could be nil for cases like system assigning conversation
json.secondary_actor notification.secondary_actor&.push_event_data
json.user notification.user.push_event_data
json.created_at notification.created_at.to_i
end
end
end