diff --git a/server/handlers/search.js b/server/handlers/search.js index d005abcf..fe601d9d 100644 --- a/server/handlers/search.js +++ b/server/handlers/search.js @@ -13,7 +13,7 @@ function get_correct_info(song_generated, channel, broadcast) { type: "GET", url: "https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+key+"&id=" + song_generated.id, - }, function(error, response, body) { + }, function(error, response, body, callback) { try { var resp = JSON.parse(body); if(resp.items.length == 1) { @@ -39,6 +39,9 @@ function get_correct_info(song_generated, channel, broadcast) { if(broadcast && docs.nModified == 1) { song_generated.new_id = song_generated.id; io.to(channel).emit("channel", {type: "changed_values", value: song_generated}); + if(callback) { + callback(); + } } }); } diff --git a/server/routing/client/api.js b/server/routing/client/api.js index 9340feea..34d4e64f 100644 --- a/server/routing/client/api.js +++ b/server/routing/client/api.js @@ -437,8 +437,9 @@ router.route('/api/list/:channel_name/:video_id').post(function(req,res) { }); function postEnd(channel_name, configs, new_song, guid, res) { - io.to(channel_name).emit("conf", configs); - io.to(channel_name).emit("channel", {type: "added", value: new_song}); + if(configs != undefined) { + io.to(channel_name).emit("conf", configs); + } List.getNextSong(channel_name, function() { db.collection("timeout_api").update({type: "POST", guid: guid}, { $set: { @@ -447,9 +448,11 @@ function postEnd(channel_name, configs, new_song, guid, res) { guid: guid, }, }, {upsert: true}, function(err, docs) { - res.header({'Content-Type': 'application/json'}); - res.status(200).send(JSON.stringify(new_song)); - return; + Search.get_correct_info(new_song, channel_name, !new_song.now_playing, function() { + res.header({'Content-Type': 'application/json'}); + res.status(200).send(JSON.stringify(new_song)); + return; + }); }); }); }