Skip to content

Commit

Permalink
Sort by total curations.
Browse files Browse the repository at this point in the history
  • Loading branch information
martindale committed Jan 13, 2016
1 parent 1ee3fbb commit 854e8d7
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
5 changes: 5 additions & 0 deletions controllers/pages.js
Expand Up @@ -6,6 +6,7 @@ module.exports = {
if (!req.roomObj) {
var sortedRooms = [];
return Room.find().exec(function(err, rooms) {

rooms.forEach(function( room ) {
var roomName = room.slug;
var cachedRoom = req.app.locals.rooms[ roomName ];
Expand All @@ -15,6 +16,10 @@ module.exports = {
});

sortedRooms = sortedRooms.sort(function(a, b) {
if (a.stats.listenerCount == b.stats.listenerCount) {
console.log('matched! comparing instead: ', b.stats.plays, a.stats.plays)
return b.stats.plays - b.stats.plays;
}
return b.listenerCount - a.listenerCount;
});

Expand Down
18 changes: 17 additions & 1 deletion models/Room.js
Expand Up @@ -21,6 +21,9 @@ var RoomSchema = new Schema({
bans: {
_tracks: [ { type: ObjectId , ref: 'Track' } ],
_people: [ { type: ObjectId , ref: 'Person' } ],
},
stats: {
plays: { type: Number , default: 0 }
}
});

Expand Down Expand Up @@ -337,7 +340,20 @@ RoomSchema.methods.startMusic = function( cb ) {
_room: room._id,
timestamp: now
});
play.save( done );
play.save(function(err) {
Play.count({
_room: room._id,
_curator: { $exists: true }
}, function(err, playCount) {
if (err) console.error(err);
room.stats.plays = playCount;
Room.update({ _id: room._id }, {
$set: {
'stats.plays': playCount
}
}).exec(done);
});
});
}

function scrobbleIfEnabled( done ) {
Expand Down

0 comments on commit 854e8d7

Please sign in to comment.