challenges: implement basic filters on challenges tab

This commit is contained in:
Tyler Renelle
2013-10-30 01:21:44 -07:00
parent 96f7db3d8a
commit ea54f0aa75
4 changed files with 39 additions and 23 deletions
+3 -4
View File
@@ -26,13 +26,12 @@ api.list = function(req, res) {
{group: 'habitrpg'}
]
})
.select('name description memberCount groups members')
.populate('groups', '_id name')
.select('name description memberCount group members')
.populate('group', '_id name')
.exec(function(err, challenges){
if (err) return res.json(500,{err:err});
_.each(challenges, function(c){
if (~c.members.indexOf(user._id))
c._isMember = true;
c._isMember = !!~c.members.indexOf(user._id);
c.members = [];
})
res.json(challenges);
-4
View File
@@ -15,10 +15,6 @@ var ChallengeSchema = new Schema({
rewards: [TaskSchema],
leader: {type: String, ref: 'User'},
group: {type: String, ref: 'Group'},
// FIXME remove below, we don't need it since every time we load a challenge, we'll load it with the group ref. we don't need to look up challenges by type
//type: group.type, //type: {type: String,"enum": ['guild', 'party']},
//id: group._id
//},
timestamp: {type: Date, 'default': Date.now},
members: [{type: String, ref: 'User'}],
memberCount: {type: Number, 'default': 0}