Skip to content

Commit

Permalink
displays pinned file's attachments
Browse files Browse the repository at this point in the history
  • Loading branch information
c0dzilla committed Apr 3, 2018
1 parent 9807ba2 commit cc83ede
Showing 1 changed file with 23 additions and 9 deletions.
32 changes: 23 additions & 9 deletions packages/rocketchat-message-pin/server/pinMessage.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,30 @@ Meteor.methods({
originalMessage = RocketChat.callbacks.run('beforeSaveMessage', originalMessage);
RocketChat.models.Messages.setPinnedByIdAndUserId(originalMessage._id, originalMessage.pinnedBy, originalMessage.pinned);

return RocketChat.models.Messages.createWithTypeRoomIdMessageAndUser('message_pinned', originalMessage.rid, '', me, {
attachments: [
{
'text': originalMessage.msg,
'author_name': originalMessage.u.username,
'author_icon': getAvatarUrlFromUsername(originalMessage.u.username),
'ts': originalMessage.ts
const attachments = [{
'text': originalMessage.msg,
'author_name': originalMessage.u.username,
'author_icon': getAvatarUrlFromUsername(originalMessage.u.username),
'ts': originalMessage.ts
}];

const recursiveRemove = (msg, deep = 1) => {
if (msg) {
if ('attachments' in msg && msg.attachments !== null && deep < RocketChat.settings.get('Message_QuoteChainLimit')) {
msg.attachments.map((nestedMsg) => recursiveRemove(nestedMsg, deep + 1));
} else {
delete(msg.attachments);
}
]
});
}
return msg;
};

if (Array.isArray(originalMessage.attachments)) {
attachments.push(...originalMessage.attachments);
attachments[attachments.length - 1] = recursiveRemove(attachments[attachments.length - 1]);
}

return RocketChat.models.Messages.createWithTypeRoomIdMessageAndUser('message_pinned', originalMessage.rid, '', me, {attachments});
},
unpinMessage(message) {
if (!Meteor.userId()) {
Expand Down

0 comments on commit cc83ede

Please sign in to comment.