From bc1ca50a6a5395730c775208ea931c4be2ce78b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Thu, 16 Apr 2015 17:57:18 +0200 Subject: [PATCH] test --- server/server.js | 55 ++++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/server/server.js b/server/server.js index c72e6d49..d40b14bc 100755 --- a/server/server.js +++ b/server/server.js @@ -103,11 +103,34 @@ io.on('connection', function(socket){ socket.on('end', function(arg) { - db.collection(coll).find({now_playing:true}, function(err, docs){ - if(docs.length > 0 && docs[0]["id"] == arg){ - change_song(coll, arg, docs[0]["id"]); - } - }) + + db.collection(coll).find({now_playing:true}, function(err, docs){ + if(docs.length == 1 && docs[0]["id"] == arg) + { + var durr = docs[0]["duration"]; + console.log(docs); + console.log() + db.collection(coll).find({views:{$exists:true}}, function(err,docs) + { + if(docs[0]["startTime"]+durr<=get_time()-1) + { + db.collection(coll).aggregate( + [ + {$match:{now_playing:false}}, + {$sort:{votes:-1, added:1}}, + {$limit:1} + ], function(err, docs){ + db.collection(coll).update({id:docs[0]["id"]}, {$set:{now_playing:true, votes:0, guids:[]}}, {upsert:false}, function(err, docs) + { + db.collection(coll).update({id:arg}, {$set:{now_playing:false, votes:0, guids:[], added:get_time()}}, function(err, docs){ + sort_list(coll, undefined, true); + }); + }); + }); + } + }); + } + }); }); socket.on('add', function(arr) @@ -337,24 +360,8 @@ function change_song(coll, id, np_id) }) }else { - if(id === undefined){ - console.log("undef"); - db.collection(coll).update({now_playing:true}, - {$set:{ - now_playing:false, - votes:0, - guids:[] - }}, function(err, docs) - { - console.log(err); - console.log(docs); - change_song_post(coll); - }); - }else{ db.collection(coll).find({id:id}, function(err, docs){ - if(startTime+docs[0]["duration"]<=get_time()-1) - { - db.collection(coll).update({id:id}, + db.collection(coll).update({now_playing:true}, {$set:{ now_playing:false, votes:0, @@ -363,9 +370,7 @@ function change_song(coll, id, np_id) { change_song_post(coll); }); - } }); - } } }) } @@ -382,7 +387,7 @@ function change_song_post(coll) now_playing:true, votes:0, guids:[], - added:get_time()}}, function(err, docs){ + added:get_time()}},{upsert:false}, function(err, docs){ db.collection(coll).update({views:{$exists:true}}, {$set:{startTime:get_time(), skips:[]}}, function(err, docs){ sort_list(coll,undefined,true);