Removed redundant code when removing group invitations

This commit is contained in:
TheHollidayInn
2015-09-11 12:14:01 -05:00
parent 5c8c5a9ed3
commit 26e6126a25

View File

@@ -87,46 +87,30 @@ GroupSchema.pre('save', function(next){
GroupSchema.pre('remove', function(next) { GroupSchema.pre('remove', function(next) {
var group = this; var group = this;
if ( group.type == "guild" ) { async.waterfall([
async.waterfall([ function(cb) {
function(cb) { var invitationQuery = {};
User.find({ var groupType = group.type;
'invitations.guilds.id': group._id //Add an 's' to group type guild because the model has the plural version
}, cb); if (group.type == "guild") groupType += "s";
}, invitationQuery['invitations.' + groupType + '.id'] = group._id;
function(users, cb) { User.find(invitationQuery, cb);
if (users) { },
users.forEach(function (user, index, array) { function(users, cb) {
if (users) {
users.forEach(function (user, index, array) {
if ( group.type == "party" ) {
user.invitations.party = {};
} else {
var i = _.findIndex(user.invitations.guilds, {id: group._id}); var i = _.findIndex(user.invitations.guilds, {id: group._id});
user.invitations.guilds.splice(i, 1); user.invitations.guilds.splice(i, 1);
user.save(); }
}); user.save();
} });
cb();
} }
], next); cb();
} else if ( group.type == "party" ) { }
async.waterfall([ ], next);
function(cb) {
User.find({
'invitations.party.id': group._id
}, cb);
},
function(users, cb) {
if (users) {
users.forEach(function (user, index, array) {
if (user.invitations.party.id === group._id) {
user.invitations.party = {};
}
user.save();
});
}
cb();
}
], next);
}
}); });
GroupSchema.post('remove', function(group) { GroupSchema.post('remove', function(group) {