const url = require('url');
const sqlite3 = require('sqlite3');
-const db = new sqlite3.Database('db/vchess.sqlite');
+const db = new sqlite3.Database(__dirname + "/db/vchess.sqlite");
// Node version in Ubuntu 16.04 does not know about URL class
function getJsonFromUrl(url) {
return result;
}
+// TODO: empêcher multi-log du même user (envoyer le user ID + secret en même temps que name et...)
+// --> si secret ne matche pas celui trouvé en DB, stop
+
module.exports = function(wss) {
db.serialize(function() {
db.all("SELECT * FROM Variants", (err,variants) => {
// Start a new game
const oppId = games[page]["id"];
const fen = games[page]["fen"];
+ const gameId = games[page]["gameid"];
delete games[page];
- const mycolor = Math.random() < 0.5 ? 'w' : 'b';
+ const mycolor = (Math.random() < 0.5 ? 'w' : 'b');
socket.send(JSON.stringify(
- {code:"newgame",fen:fen,oppid:oppId,color:mycolor}));
+ {code:"newgame",fen:fen,oppid:oppId,color:mycolor,gameid:gameId}));
if (!!clients[page][oppId])
{
clients[page][oppId].send(
JSON.stringify(
- {code:"newgame",fen:fen,oppid:sid,color:mycolor=="w"?"b":"w"}),
+ {code:"newgame",fen:fen,oppid:sid,color:mycolor=="w"?"b":"w",gameid:gameId}),
noop);
}
}
else
- games[page] = {id:sid, fen:obj.fen}; //wait for opponent
+ games[page] = {id:sid, fen:obj.fen, gameid:obj.gameid}; //wait for opponent
break;
case "cancelnewgame": //if a user cancel his seek
delete games[page];