|
|
|
@ -1,4 +1,5 @@ |
|
|
|
|
import { Meteor } from 'meteor/meteor'; |
|
|
|
|
import { TAPi18n } from 'meteor/rocketchat:tap-i18n'; |
|
|
|
|
|
|
|
|
|
import { settings } from '../../../../settings'; |
|
|
|
|
import { Subscriptions } from '../../../../models'; |
|
|
|
@ -40,12 +41,23 @@ function enableNotificationReplyButton(room, username) { |
|
|
|
|
return !room.muted.includes(username); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export async function getPushData({ room, message, userId, receiverUsername, senderUsername, senderName, notificationMessage }) { |
|
|
|
|
export async function getPushData({ room, message, userId, senderUsername, senderName, notificationMessage, receiver, shouldOmitMessage = true }) { |
|
|
|
|
let username = ''; |
|
|
|
|
if (settings.get('Push_show_username_room')) { |
|
|
|
|
username = settings.get('UI_Use_Real_Name') === true ? senderName : senderUsername; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const lng = receiver.language || settings.get('Language') || 'en'; |
|
|
|
|
|
|
|
|
|
let messageText; |
|
|
|
|
if (shouldOmitMessage && settings.get('Push_request_content_from_server')) { |
|
|
|
|
messageText = TAPi18n.__('You_have_a_new_message', { lng }); |
|
|
|
|
} else if (!settings.get('Push_show_message')) { |
|
|
|
|
messageText = ' '; |
|
|
|
|
} else { |
|
|
|
|
messageText = notificationMessage; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
payload: { |
|
|
|
|
sender: message.u, |
|
|
|
@ -56,9 +68,9 @@ export async function getPushData({ room, message, userId, receiverUsername, sen |
|
|
|
|
}, |
|
|
|
|
roomName: settings.get('Push_show_username_room') && roomTypes.getConfig(room.t).isGroupChat(room) ? `#${ roomTypes.getRoomName(room.t, room) }` : '', |
|
|
|
|
username, |
|
|
|
|
message: settings.get('Push_show_message') ? notificationMessage : ' ', |
|
|
|
|
message: messageText, |
|
|
|
|
badge: await getBadgeCount(userId), |
|
|
|
|
category: enableNotificationReplyButton(room, receiverUsername) ? CATEGORY_MESSAGE : CATEGORY_MESSAGE_NOREPLY, |
|
|
|
|
category: enableNotificationReplyButton(room, receiver.username) ? CATEGORY_MESSAGE : CATEGORY_MESSAGE_NOREPLY, |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|