Revert "Added Conditional Semantics to group member query to always include the user."

This commit is contained in:
Alys 2015-03-26 19:54:51 +10:00
parent ecaa1d31ac
commit e9baafcbc8

View file

@ -33,13 +33,10 @@ var guildPopulate = {path: 'members', select: nameFields, options: {limit: 15} }
* @param additionalFields: if we want to populate some additional field not fetched normally * @param additionalFields: if we want to populate some additional field not fetched normally
* pass it as a string, parties only * pass it as a string, parties only
*/ */
var populateQuery = function(type, q, additionalFields, user){ var populateQuery = function(type, q, additionalFields){
if (type == 'party') if (type == 'party')
q.populate('members', partyFields + (additionalFields ? (' ' + additionalFields) : '')); q.populate('members', partyFields + (additionalFields ? (' ' + additionalFields) : ''));
else else
if ( user )
//Use Conditional Semantics to always include the user
guildPopulate.match = {"_id": { "$ne" : null, "$in": [user._id] } };
q.populate(guildPopulate); q.populate(guildPopulate);
q.populate('invites', nameFields); q.populate('invites', nameFields);
q.populate({ q.populate({
@ -135,7 +132,7 @@ api.get = function(req, res, next) {
{_id:gid, privacy:'public'}, {_id:gid, privacy:'public'},
{_id:gid, privacy:'private', members: {$in:[user._id]}} // if the group is private, only return if they have access {_id:gid, privacy:'private', members: {$in:[user._id]}} // if the group is private, only return if they have access
]}); ]});
populateQuery(gid, q, null, user); populateQuery(gid, q);
q.exec(function(err, group){ q.exec(function(err, group){
if (err) return next(err); if (err) return next(err);
if (!group && gid!=='party') return res.json(404,{err: "Group not found or you don't have access."}); if (!group && gid!=='party') return res.json(404,{err: "Group not found or you don't have access."});