This commit is contained in:
barisusakli
2015-12-23 11:27:34 +02:00
parent 5b1999be10
commit abed319da2
8 changed files with 119 additions and 35 deletions

View File

@@ -1,12 +1,26 @@
'use strict';
var async = require('async');
var validator = require('validator');
var db = require('../database');
var user = require('../user');
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]]'));
}
data.roomName = data.roomName || '[[modules:chat.roomname, ' + roomId + ']]';
if (data.roomName) {
data.roomName = validator.escape(data.roomName);
}
callback(null, data);
});
};
Messaging.newRoom = function(uid, toUids, callback) {
var roomId;
var now = Date.now();
@@ -105,4 +119,22 @@ module.exports = function(Messaging) {
], callback);
};
Messaging.renameRoom = function(uid, roomId, newName, callback) {
if (!newName) {
return callback(new Error('[[error:invalid-name]]'));
}
async.waterfall([
function (next) {
Messaging.isRoomOwner(uid, roomId, next);
},
function (isOwner, next) {
if (!isOwner) {
return next(new Error('[[error:no-privileges]]'));
}
db.setObjectField('chat:room:' + roomId, 'roomName', newName, next);
}
], callback);
};
};