-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbitte_mit_node.js
More file actions
97 lines (73 loc) · 3.7 KB
/
bitte_mit_node.js
File metadata and controls
97 lines (73 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
var dummy = [
{"track_id":"6","track_name":"If The Moon Rises","track_artist":"PAPA","track_uri":"spotify:track:3Dfs0kLsKAtnM304KsKPQE","party_name":"","is_current":1,"has_changed":"0","playlist_uri":"","position":"0","added_by":"Host"},
{"track_id":"7","track_name":"Get Me Through The Night","track_artist":"PAPA","track_uri":"spotify:track:2HwaPOkklM2wLBiFgzxnrV","party_name":"","is_current":"0","has_changed":"0","playlist_uri":"","position":"0","added_by":"Host"},
{"track_id":"9","track_name":"Tender Madness","track_artist":"PAPA","track_uri":"spotify:track:7bBnRjOgSI53XhAhT0vym8","party_name":"","is_current":"0","has_changed":"0","playlist_uri":"","position":"1","added_by":"Host"},
{"track_id":"10","track_name":"Got To Move","track_artist":"PAPA","track_uri":"spotify:track:1YpTGlr4XtU0xrlEI60ori","party_name":"","is_current":"0","has_changed":"0","playlist_uri":"","position":"1","added_by":"Host"},
{"track_id":"8","track_name":"If You\u2019re My Girl, Then I\u2019m Your Man","track_artist":"PAPA","track_uri":"spotify:track:7L7KEdJEetZZlXdOGjiPZR","party_name":"","is_current":"0","has_changed":"0","playlist_uri":"","position":"2","added_by":"Host"},
{"track_id":"21","track_name":"Replacements (Curls In The Grass)","track_artist":"PAPA","track_uri":"spotify:track:0WXvxkxF7DrHbniMWFt3B5","party_name":"","is_current":"0","has_changed":"0","playlist_uri":"","position":"12","added_by":"Host"}];
var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');
app.listen(1337);
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
//run this on song-delete (maybe on add?)
// reset the position counts
function resetPositions(){
for (var i=0; i<dummy.length; i++){
if(dummy[i]['is_current'] == 1){
dummy[i]['position'] = 'NA';
}
else{
dummy[i]['position'] = Number(i);
}
}
}
//console.log(dummy);
io.on('connection', function (socket) {
resetPositions();
socket.emit('dummy', dummy);
socket.on('upvote', function (data) {
// we're getting track_id from the client side. Use that to find the correct song in the array
resetPositions();
var voted = dummy.filter(function( obj ) {
return obj.track_id == data.voted.track_id;
});
var other = dummy.filter(function(obj){
return obj.track_id == data.other.track_id;
});
// console.log('voted position before ', voted[0]['position'])
voted[0]['position'] = Number(voted[0]['position']-1);
other[0]['position'] = Number(other[0]['position']+1);
socket.emit('dummy', dummy);
});
socket.on('downvote', function(data){
resetPositions();
var voted = dummy.filter(function( obj ) {
return obj.track_id == data.voted.track_id;
});
var other = dummy.filter(function(obj){
return obj.track_id == data.other.track_id;
});
// console.log('voted position before ', voted[0]['position'])
voted[0]['position'] = Number(voted[0]['position']+1);
other[0]['position'] = Number(other[0]['position']-1);
socket.emit('dummy', dummy);
});
var dummyCounter = 1;
socket.on('debugAddSong', function(){
dummy.push({"track_id":"21","track_name":"Replacements (Curls In The Grass)","track_artist":"PAPA","track_uri":"spotify:track:0WXvxkxF7DrHbniMWFt3B5","party_name":"","is_current":"0","has_changed":"0","playlist_uri":"","position":"12","added_by":"Host"})
});
// socket.on('debugRemoveSong', function(){
// dummy.pop()
// })
});