This commit is contained in:
barisusakli
2015-10-13 19:28:55 -04:00
parent 47e2dd9478
commit e2a5440ae8
10 changed files with 239 additions and 142 deletions

View File

@@ -1,5 +1,6 @@
"use strict";
var async = require('async');
var groups = require('../../groups'),
Groups = {};
@@ -20,7 +21,17 @@ Groups.join = function(socket, data, callback) {
return callback(new Error('[[error:invalid-data]]'));
}
groups.join(data.groupName, data.uid, callback);
async.waterfall([
function (next) {
groups.isMember(data.uid, data.groupName, next);
},
function (isMember, next) {
if (isMember) {
return next(new Error('[[error:group-already-member]]'));
}
groups.join(data.groupName, data.uid, next);
}
], callback);
};
Groups.leave = function(socket, data, callback) {
@@ -32,7 +43,17 @@ Groups.leave = function(socket, data, callback) {
return callback(new Error('[[error:cant-remove-self-as-admin]]'));
}
groups.leave(data.groupName, data.uid, callback);
async.waterfall([
function (next) {
groups.isMember(data.uid, data.groupName, next);
},
function (isMember, next) {
if (!isMember) {
return next(new Error('[[error:group-not-member]]'));
}
groups.leave(data.groupName, data.uid, next);
}
], callback);
};
Groups.update = function(socket, data, callback) {