Add stub method for reactions

pull/2641/head
Diego Sampaio 9 years ago
parent 126698708a
commit 3da9519a68
  1. 40
      packages/rocketchat-reactions/client/methods/setReaction.js
  2. 3
      packages/rocketchat-reactions/package.js

@ -0,0 +1,40 @@
Meteor.methods({
setReaction(reaction, messageId) {
if (!Meteor.userId()) {
throw new Meteor.Error(203, 'User_logged_out');
}
let message = RocketChat.models.Messages.findOne({ _id: messageId });
const user = Meteor.user();
if (message.reactions && message.reactions[reaction] && message.reactions[reaction].usernames.indexOf(user.username) !== -1) {
message.reactions[reaction].usernames.splice(message.reactions[reaction].usernames.indexOf(user.username), 1);
if (message.reactions[reaction].usernames.length === 0) {
delete message.reactions[reaction];
}
if (_.isEmpty(message.reactions)) {
delete message.reactions;
RocketChat.models.Messages.unsetReactions(messageId);
} else {
RocketChat.models.Messages.setReactions(messageId, message.reactions);
}
} else {
if (!message.reactions) {
message.reactions = {};
}
if (!message.reactions[reaction]) {
message.reactions[reaction] = {
usernames: []
};
}
message.reactions[reaction].usernames.push(user.username);
RocketChat.models.Messages.setReactions(messageId, message.reactions);
}
return;
}
});

@ -17,7 +17,8 @@ Package.onUse(function(api) {
api.addFiles('client/init.js', 'client');
api.addFiles('server/models/Messages.js', 'server');
api.addFiles('server/models/Messages.js');
api.addFiles('client/methods/setReaction.js', 'client');
api.addFiles('setReaction.js', 'server');
api.addAssets('client/stylesheets/reaction.less', 'server');

Loading…
Cancel
Save