v1.18.x
Barış Soner Uşaklı 8 years ago
parent c364cebbe4
commit 59387540c7

@ -9,26 +9,33 @@ var plugins = require('../plugins');
module.exports = function (Messaging) {
Messaging.getRoomData = function (roomId, callback) {
db.getObject('chat:room:' + roomId, function (err, data) {
if (err || !data) {
return callback(err || new Error('[[error:no-chat-room]]'));
}
modifyRoomData([data]);
callback(null, data);
});
async.waterfall([
function (next) {
db.getObject('chat:room:' + roomId, next);
},
function (data, next) {
if (!data) {
return callback(new Error('[[error:no-chat-room]]'));
}
modifyRoomData([data]);
next(null, data);
},
], callback);
};
Messaging.getRoomsData = function (roomIds, callback) {
var keys = roomIds.map(function (roomId) {
return 'chat:room:' + roomId;
});
db.getObjects(keys, function (err, roomData) {
if (err) {
return callback(err);
async.waterfall([
function (next) {
db.getObjects(keys, next);
},
function (roomData, next) {
modifyRoomData(roomData);
next(null, roomData);
}
modifyRoomData(roomData);
callback(null, roomData);
});
], callback);
};
function modifyRoomData(rooms) {
@ -96,13 +103,14 @@ module.exports = function (Messaging) {
};
Messaging.isRoomOwner = function (uid, roomId, callback) {
db.getObjectField('chat:room:' + roomId, 'owner', function (err, owner) {
if (err) {
return callback(err);
}
callback(null, parseInt(uid, 10) === parseInt(owner, 10));
});
async.waterfall([
function (next) {
db.getObjectField('chat:room:' + roomId, 'owner', next);
},
function (owner, next) {
next(null, parseInt(uid, 10) === parseInt(owner, 10));
},
], callback);
};
Messaging.addUsersToRoom = function (uid, uids, roomId, callback) {

Loading…
Cancel
Save