From 6b12bd23288d6ff6a14016c7ae250bcfc10f0d4f Mon Sep 17 00:00:00 2001 From: barisusakli Date: Tue, 15 Dec 2015 19:16:24 +0200 Subject: [PATCH] update messaging.editMessage --- src/messaging/edit.js | 49 ++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/src/messaging/edit.js b/src/messaging/edit.js index 7da95f7320..5b2472c4e4 100644 --- a/src/messaging/edit.js +++ b/src/messaging/edit.js @@ -10,35 +10,36 @@ var sockets = require('../socket.io'); module.exports = function(Messaging) { - Messaging.editMessage = function(mid, content, callback) { - async.series([ + Messaging.editMessage = function(uid, mid, roomId, content, callback) { + var uids; + async.waterfall([ function(next) { - // Verify that the message actually changed - Messaging.getMessageField(mid, 'content', function(err, raw) { - if (raw === content) { - // No dice. - return callback(); - } + Messaging.getMessageField(mid, 'content', next); + }, + function (raw, next) { + if (raw === content) { + return callback(); + } - next(); - }); + Messaging.setMessageFields(mid, { + content: content, + edited: Date.now() + }, next); }, - async.apply(Messaging.setMessageFields, mid, { - content: content, - edited: Date.now() - }), - function(next) { - Messaging.getMessageFields(mid, ['fromuid', 'touid'], function(err, data) { - Messaging.getMessagesData([mid], data.fromuid, data.touid, true, function(err, messages) { - sockets.in('uid_' + data.fromuid).emit('event:chats.edit', { - messages: messages - }); - sockets.in('uid_' + data.touid).emit('event:chats.edit', { - messages: messages - }); - next(); + function (next) { + Messaging.getUidsInRoom(roomId, 0, -1, next); + }, + function (_uids, next) { + uids = _uids; + Messaging.getMessagesData([mid], uid, roomId, true, next); + }, + function (messages, next) { + uids.forEach(function(uid) { + sockets.in('uid_' + uid).emit('event:chats.edit', { + messages: messages }); }); + next(); } ], callback); };