-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
128 lines (116 loc) · 3.59 KB
/
index.js
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
require('dotenv').config({
'path': '/source/.env'
});
const App = require('express')(),
http = require('http'),
server = http.createServer(App),
BodyParser = require('body-parser'),
AuthController = require('./app/controllers/AuthController'),
RoomController = require('./app/controllers/RoomController'),
RoomsManager = new (require('./app/utils/roomsManager'))();
App.use(BodyParser.json());
App.post('/auth/login', AuthController.login);
App.post('/auth/signup', AuthController.signup);
App.use('/room', RoomController.middleware);
App.post('/room/create', RoomController.create);
App.post('/room/join_specific', RoomController.join_specific);
App.post('/room/join_random', RoomController.join_random);
App.post('/room/leave', RoomController.leave);
// Quick Hack ---->
const sessionToken = require('./app/utils/sessionToken');
var i = 0;
App.post('/auth/randAuth', function(req, res) {
sessionToken.generateToken({user_id: i})
.then((token) => {
console.log(token);
res.status(200).json({
status: 200,
message: "User succesfully validated",
auth_token: token
});
}).catch((error) => {
res.status(400).json({
status: 400,
message: error.message
});
});
i++;
});
function sleep(time, callback) {
var stop = new Date().getTime();
while(new Date().getTime() < stop + time) {
;
}
callback();
}
/*sleep(20000, () => {
AuthController.signup({body: {email: '[email protected]', username: 'bill', password: '1234', image_url: ''}}, {});
AuthController.signup({body: {email: '[email protected]', username: 'frank', password: '1234', image_url: ''}}, {});
});*/
sleep(20000, () => {
AuthController.signup({body: {
email: '[email protected]',
username: 'bill',
password: '1234',
image_url: ''}}, {
});
AuthController.signup({body: {
email: '[email protected]',
username: 'frank',
password: '1234',
image_url: ''}}, {
});
});
const Http = require('http'),
Server = Http.createServer(App),
SocketIO = require('socket.io')(Server);
//SocketIO.on("connection",
//(socket) => RoomsManager.addSocket(socket));
var players = []
var i = 0;
SocketIO.on("connection", (socket) => {
/*if(i == 0) {
players[0] = socket;
players[0].on("user_typing", (data) => {
players[1].emit("user_typed")
})
players[0].on("say_word", (data) => {
players[other(1)].emit("said_word", {word: data.word});
})
} else {
players[1] = socket;
players[1].on("user_typing", (data) => {
players[other(0)].emit("user_typed")
})
players[1].on("say_word", (data) => {
players[other(0)].emit("said_word", {word: data.word});
})
}*/
/*players[i] = socket;
players[i].on("user_typing", (data) => {
players[data.id].emit("user_typed", {id: data.id})
})
players[i].on("say_word", (data) => {
players[data.id].emit("said_word", {word: data.word, id: data.id});
})*/
socket.on("in", (data) => {
players[data.id] = socket;
socket.other = other(data.id);
})
socket.on("user_typing", (data) => {
players[socket.other].emit("user_typed", {id: data.id})
})
socket.on("say_word", (data) => {
players[socket.other].emit("said_word", {id: data.id})
})
i = other(i);
})
function other(i) {
if(i == 0)
return 1;
else
return 0;
}
Server.listen(process.env.PORT, () => {
console.log("Listening to Port:" + process.env.PORT);
});