mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-10 16:05:49 +01:00
added .before to socket.io/groups.js
This commit is contained in:
@@ -38,7 +38,7 @@ var async = require('async'),
|
|||||||
logs: {}
|
logs: {}
|
||||||
};
|
};
|
||||||
|
|
||||||
SocketAdmin.before = function(socket, method, next) {
|
SocketAdmin.before = function(socket, method, data, next) {
|
||||||
if (!socket.uid) {
|
if (!socket.uid) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,11 +9,15 @@ var async = require('async'),
|
|||||||
|
|
||||||
SocketGroups = {};
|
SocketGroups = {};
|
||||||
|
|
||||||
SocketGroups.join = function(socket, data, callback) {
|
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
SocketGroups.before = function(socket, method, data, next) {
|
||||||
|
if (!data) {
|
||||||
|
return next(new Error('[[error:invalid-data]]'));
|
||||||
|
}
|
||||||
|
next();
|
||||||
|
};
|
||||||
|
|
||||||
|
SocketGroups.join = function(socket, data, callback) {
|
||||||
if (!parseInt(socket.uid, 10)) {
|
if (!parseInt(socket.uid, 10)) {
|
||||||
return callback(new Error('[[error:invalid-uid]]'));
|
return callback(new Error('[[error:invalid-uid]]'));
|
||||||
}
|
}
|
||||||
@@ -35,10 +39,6 @@ SocketGroups.join = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.leave = function(socket, data, callback) {
|
SocketGroups.leave = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!parseInt(socket.uid, 10)) {
|
if (!parseInt(socket.uid, 10)) {
|
||||||
return callback(new Error('[[error:invalid-uid]]'));
|
return callback(new Error('[[error:invalid-uid]]'));
|
||||||
}
|
}
|
||||||
@@ -51,10 +51,6 @@ SocketGroups.leave = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.grant = function(socket, data, callback) {
|
SocketGroups.grant = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (!isOwner) {
|
if (!isOwner) {
|
||||||
return callback(new Error('[[error:no-privileges]]'));
|
return callback(new Error('[[error:no-privileges]]'));
|
||||||
@@ -65,10 +61,6 @@ SocketGroups.grant = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.rescind = function(socket, data, callback) {
|
SocketGroups.rescind = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (!isOwner) {
|
if (!isOwner) {
|
||||||
return callback(new Error('[[error:no-privileges]]'));
|
return callback(new Error('[[error:no-privileges]]'));
|
||||||
@@ -79,10 +71,6 @@ SocketGroups.rescind = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.accept = function(socket, data, callback) {
|
SocketGroups.accept = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (!isOwner) {
|
if (!isOwner) {
|
||||||
return callback(new Error('[[error:no-privileges]]'));
|
return callback(new Error('[[error:no-privileges]]'));
|
||||||
@@ -93,10 +81,6 @@ SocketGroups.accept = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.reject = function(socket, data, callback) {
|
SocketGroups.reject = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (!isOwner) {
|
if (!isOwner) {
|
||||||
return callback(new Error('[[error:no-privileges]]'));
|
return callback(new Error('[[error:no-privileges]]'));
|
||||||
@@ -115,10 +99,6 @@ SocketGroups.rejectAll = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function acceptRejectAll(type, socket, data, callback) {
|
function acceptRejectAll(type, socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (err || !isOwner) {
|
if (err || !isOwner) {
|
||||||
return callback(err || new Error('[[error:no-privileges]]'));
|
return callback(err || new Error('[[error:no-privileges]]'));
|
||||||
@@ -138,10 +118,6 @@ function acceptRejectAll(type, socket, data, callback) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
SocketGroups.issueInvite = function(socket, data, callback) {
|
SocketGroups.issueInvite = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (err || !isOwner) {
|
if (err || !isOwner) {
|
||||||
return callback(err || new Error('[[error:no-privileges]]'));
|
return callback(err || new Error('[[error:no-privileges]]'));
|
||||||
@@ -152,10 +128,6 @@ SocketGroups.issueInvite = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.rescindInvite = function(socket, data, callback) {
|
SocketGroups.rescindInvite = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (err || !isOwner) {
|
if (err || !isOwner) {
|
||||||
return callback(err || new Error('[[error:no-privileges]]'));
|
return callback(err || new Error('[[error:no-privileges]]'));
|
||||||
@@ -166,10 +138,6 @@ SocketGroups.rescindInvite = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.acceptInvite = function(socket, data, callback) {
|
SocketGroups.acceptInvite = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.isInvited(socket.uid, data.groupName, function(err, invited) {
|
groups.isInvited(socket.uid, data.groupName, function(err, invited) {
|
||||||
if (err || !invited) {
|
if (err || !invited) {
|
||||||
return callback(err || new Error('[[error:no-privileges]]'));
|
return callback(err || new Error('[[error:no-privileges]]'));
|
||||||
@@ -180,10 +148,6 @@ SocketGroups.acceptInvite = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.rejectInvite = function(socket, data, callback) {
|
SocketGroups.rejectInvite = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.isInvited(socket.uid, data.groupName, function(err, invited) {
|
groups.isInvited(socket.uid, data.groupName, function(err, invited) {
|
||||||
if (err || !invited) {
|
if (err || !invited) {
|
||||||
return callback(err || new Error('[[error:no-privileges]]'));
|
return callback(err || new Error('[[error:no-privileges]]'));
|
||||||
@@ -194,10 +158,6 @@ SocketGroups.rejectInvite = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.update = function(socket, data, callback) {
|
SocketGroups.update = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (err || !isOwner) {
|
if (err || !isOwner) {
|
||||||
return callback(err || new Error('[[error:no-privileges]]'));
|
return callback(err || new Error('[[error:no-privileges]]'));
|
||||||
@@ -208,9 +168,7 @@ SocketGroups.update = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.create = function(socket, data, callback) {
|
SocketGroups.create = function(socket, data, callback) {
|
||||||
if (!data) {
|
if (!socket.uid) {
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
} else if (socket.uid === 0) {
|
|
||||||
return callback(new Error('[[error:no-privileges]]'));
|
return callback(new Error('[[error:no-privileges]]'));
|
||||||
} else if (parseInt(meta.config.allowGroupCreation, 10) !== 1) {
|
} else if (parseInt(meta.config.allowGroupCreation, 10) !== 1) {
|
||||||
return callback(new Error('[[error:group-creation-disabled]]'));
|
return callback(new Error('[[error:group-creation-disabled]]'));
|
||||||
@@ -222,10 +180,6 @@ SocketGroups.create = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.delete = function(socket, data, callback) {
|
SocketGroups.delete = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.groupName === 'administrators' || data.groupName === 'registered-users') {
|
if (data.groupName === 'administrators' || data.groupName === 'registered-users') {
|
||||||
return callback(new Error('[[error:not-allowed]]'));
|
return callback(new Error('[[error:not-allowed]]'));
|
||||||
}
|
}
|
||||||
@@ -248,10 +202,8 @@ SocketGroups.delete = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.search = function(socket, data, callback) {
|
SocketGroups.search = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(null, []);
|
|
||||||
}
|
|
||||||
data.options = data.options || {};
|
data.options = data.options || {};
|
||||||
|
|
||||||
if (!data.query) {
|
if (!data.query) {
|
||||||
var groupsPerPage = 15;
|
var groupsPerPage = 15;
|
||||||
groupsController.getGroupsFromSet(socket.uid, data.options.sort, 0, groupsPerPage - 1, function(err, data) {
|
groupsController.getGroupsFromSet(socket.uid, data.options.sort, 0, groupsPerPage - 1, function(err, data) {
|
||||||
@@ -264,7 +216,7 @@ SocketGroups.search = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.loadMore = function(socket, data, callback) {
|
SocketGroups.loadMore = function(socket, data, callback) {
|
||||||
if (!data || !data.sort || !data.after) {
|
if (!data.sort || !data.after) {
|
||||||
return callback();
|
return callback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -275,16 +227,12 @@ SocketGroups.loadMore = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.searchMembers = function(socket, data, callback) {
|
SocketGroups.searchMembers = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(null, []);
|
|
||||||
}
|
|
||||||
|
|
||||||
data.uid = socket.uid;
|
data.uid = socket.uid;
|
||||||
groups.searchMembers(data, callback);
|
groups.searchMembers(data, callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.loadMoreMembers = function(socket, data, callback) {
|
SocketGroups.loadMoreMembers = function(socket, data, callback) {
|
||||||
if (!data || !data.groupName || !parseInt(data.after, 10)) {
|
if (!data.groupName || !parseInt(data.after, 10)) {
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
return callback(new Error('[[error:invalid-data]]'));
|
||||||
}
|
}
|
||||||
data.after = parseInt(data.after, 10);
|
data.after = parseInt(data.after, 10);
|
||||||
@@ -298,10 +246,6 @@ SocketGroups.loadMoreMembers = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.kick = function(socket, data, callback) {
|
SocketGroups.kick = function(socket, data, callback) {
|
||||||
if (!data) {
|
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
}
|
|
||||||
|
|
||||||
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
groups.ownership.isOwner(socket.uid, data.groupName, function(err, isOwner) {
|
||||||
if (!isOwner) {
|
if (!isOwner) {
|
||||||
return callback(new Error('[[error:no-privileges]]'));
|
return callback(new Error('[[error:no-privileges]]'));
|
||||||
@@ -318,9 +262,7 @@ SocketGroups.cover.get = function(socket, data, callback) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SocketGroups.cover.update = function(socket, data, callback) {
|
SocketGroups.cover.update = function(socket, data, callback) {
|
||||||
if (!data) {
|
if (!socket.uid) {
|
||||||
return callback(new Error('[[error:invalid-data]]'));
|
|
||||||
} else if (socket.uid === 0) {
|
|
||||||
return callback(new Error('[[error:no-privileges]]'));
|
return callback(new Error('[[error:no-privileges]]'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -142,7 +142,10 @@ function onMessage(socket, payload) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (Namespaces[namespace].before) {
|
if (Namespaces[namespace].before) {
|
||||||
Namespaces[namespace].before(socket, eventName, function() {
|
Namespaces[namespace].before(socket, eventName, params, function(err) {
|
||||||
|
if (err) {
|
||||||
|
return callback({message: err.message});
|
||||||
|
}
|
||||||
callMethod(methodToCall, socket, params, callback);
|
callMethod(methodToCall, socket, params, callback);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user